]> rtime.felk.cvut.cz Git - arc.git/blob - arch/ppc/mpc55xx/drivers/mpc5516.h
Corrected error in crt
[arc.git] / arch / ppc / mpc55xx / drivers / mpc5516.h
1 \r
2 /**************************************************************************/\r
3 /* FILE NAME: mpc5516.h                      COPYRIGHT (c) Freescale 2007 */\r
4 /* VERSION:  1.0                                  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   M. Stewart   05/Feb/07    Initial version.                       */\r
14 /**************************************************************************/\r
15 /*>>>>NOTE! this file is auto-generated please do not edit it!<<<<*/\r
16 \r
17 #ifndef _MPC5516_H_\r
18 #define _MPC5516_H_\r
19 \r
20 #define MPC5516         1\r
21 \r
22 #include "Compiler.h"\r
23 #include "typedefs.h"\r
24 \r
25 #ifdef  __cplusplus\r
26 extern "C" {\r
27 #endif\r
28 \r
29 #ifdef __MWERKS__\r
30 #pragma push\r
31 #pragma ANSI_strict off\r
32 #endif\r
33 \r
34 /****************************************************************************/\r
35 /*                     MODULE : CRP                                         */\r
36 /****************************************************************************/\r
37 CC_EXTENSION struct CRP_tag {\r
38 \r
39         union {\r
40             vuint32_t R;\r
41             struct {\r
42                 vuint32_t:12;\r
43                 vuint32_t KIRCEN:1;\r
44                 vuint32_t XOSCEN:1;\r
45                   vuint32_t:1;\r
46                 vuint32_t KOSCEN:1;\r
47                 vuint32_t TRIM32IRC:8;\r
48                 vuint32_t TRIMIRC:8;\r
49             } B;\r
50         } CLKSRC;               //Clock Source Register\r
51 \r
52         uint32_t crp_reserved1[3];\r
53 \r
54         union {\r
55             vuint32_t R;\r
56             struct {\r
57                 vuint32_t CNTEN:1;\r
58                 vuint32_t RTCIE:1;\r
59                 vuint32_t RTCF:1;\r
60                 vuint32_t ROVREN:1;\r
61                 vuint32_t RTCVAL:12;\r
62                 vuint32_t APIEN:1;\r
63                 vuint32_t APIIE:1;\r
64                 vuint32_t APIF:1;\r
65                 vuint32_t CLKSEL:2;\r
66                 vuint32_t ROVRF:1;\r
67                 vuint32_t APIVAL:10;\r
68             } B;\r
69         } RTCSC;                //RTC Status and Control Register\r
70 \r
71         union {\r
72             vuint32_t R;\r
73             struct {\r
74                 vuint32_t:5;\r
75                 vuint32_t RTCCNT:27;\r
76             } B;\r
77         } RTCCNT;               //RTC Counter Register\r
78 \r
79         uint32_t crp_reserved2[6];\r
80 \r
81         union {\r
82             vuint32_t R;\r
83             struct {\r
84                 vuint32_t:27;\r
85                 vuint32_t MTEST:1;\r
86                 vuint32_t LVIDIS:1;\r
87                 vuint32_t VTRIM:3;\r
88             } B;\r
89         } VREGSC;               //VREG Trim Satus and Control Register\r
90 \r
91         uint32_t crp_reserved3[3];\r
92 \r
93         union {\r
94             vuint32_t R;\r
95             struct {\r
96                 vuint32_t WKPSEL7:4;\r
97                 vuint32_t WKPSEL6:4;\r
98                 vuint32_t WKPSEL5:4;\r
99                 vuint32_t WKPSEL4:4;\r
100                 vuint32_t WKPSEL3:4;\r
101                 vuint32_t WKPSEL2:4;\r
102                 vuint32_t WKPSEL1:4;\r
103                 vuint32_t WKPSEL0:4;\r
104             } B;\r
105         } WKPINSEL;             //Wakeup Pin Source Select Register\r
106 \r
107         union {\r
108             vuint32_t R;\r
109             struct {\r
110                 vuint32_t WKPDET7:2;\r
111                 vuint32_t WKPDET6:2;\r
112                 vuint32_t WKPDET5:2;\r
113                 vuint32_t WKPDET4:2;\r
114                 vuint32_t WKPDET3:2;\r
115                 vuint32_t WKPDET2:2;\r
116                 vuint32_t WKPDET1:2;\r
117                 vuint32_t WKPDET0:2;\r
118                   vuint32_t:5;\r
119                 vuint32_t RTCOVREN:1;\r
120                 vuint32_t RTCWKEN:1;            /* switched two fields JRichard 16MAY2007*/\r
121                 vuint32_t APIWKEN:1;\r
122                   vuint32_t:7;\r
123                 vuint32_t WKCLKSEL:1;\r
124             } B;\r
125        } WKSE;                  //Wakeup Source Enable Register \r
126 \r
127                         /*        } WKE;                  //Wakeup Source Enable Register */\r
128                 \r
129 \r
130         uint32_t crp_reserved4[2];\r
131 \r
132         union {\r
133             vuint32_t R;\r
134             struct {\r
135                 vuint32_t Z1VEC:30;\r
136                 vuint32_t Z1RST:1;\r
137                 vuint32_t VLE:1;\r
138             } B;\r
139         } Z1VEC;                //Z1 Reset Vector Register\r
140 \r
141         union {\r
142             vuint32_t R;\r
143             struct {\r
144                 vuint32_t Z0VEC:30;\r
145                 vuint32_t Z0RST:1;\r
146                   vuint32_t:1;\r
147             } B;\r
148         } Z0VEC;                //Z0 Reset Vector Register\r
149 \r
150         union {\r
151             vuint32_t R;\r
152             struct {\r
153                 vuint32_t RECPTR:30;\r
154                 vuint32_t FASTREC:1;\r
155                   vuint32_t:1;\r
156             } B;\r
157         } RECPRTR;              //Reset Recovery Pointer Register\r
158 \r
159         uint32_t crp_reserved5;\r
160 \r
161         union {\r
162             vuint32_t R;\r
163             struct {\r
164                 vuint32_t SLEEPF:1;\r
165                 vuint32_t STOPF:1;\r
166                   vuint32_t:3;\r
167                 vuint32_t WKRTCF:1;\r
168                 vuint32_t WKAPIF:1;\r
169                 vuint32_t WKRLLOVRF:1;\r
170                 vuint32_t PWKSRCF:8;\r
171                 vuint32_t SLEEP:1;\r
172                 vuint32_t STOP:1;\r
173                   vuint32_t:1;\r
174                 vuint32_t PKREL:1;              /* JRichard */\r
175                 //vuint32_t PKREN:1;      /* JRichard */\r
176                 \r
177                 vuint32_t STOP12EN:1;\r
178                 vuint32_t RAMSEL:3;\r
179                 vuint32_t PWKSRIE:8;\r
180             } B;\r
181         } PSCR;                 //Power Status and Control Register\r
182 \r
183         uint32_t crp_reserved6[3];\r
184 \r
185         union {\r
186             vuint32_t R;\r
187             struct {\r
188                 vuint32_t LVI5IE:1;\r
189                 vuint32_t LVI5HIE:1;\r
190                 vuint32_t LVI5F:1;\r
191                 vuint32_t LVI5HF:1;\r
192                 vuint32_t LVILOCK:1;\r
193                 vuint32_t LVI5RE:1;\r
194                   vuint32_t:26;\r
195             } B;\r
196         } LVISC;                //LVI Status and Control Register\r
197 \r
198     };\r
199 /****************************************************************************/\r
200 /*                          MODULE : DMAMUX                                 */\r
201 /****************************************************************************/\r
202 CC_EXTENSION struct DMAMUX_tag {\r
203         union {\r
204             vuint8_t R;\r
205             struct {\r
206                 vuint8_t ENBL:1;\r
207                 vuint8_t TRIG:1;\r
208                 vuint8_t SOURCE:6;\r
209             } B;\r
210         } CHCONFIG[16];         /* DMA Channel Configuration Register */\r
211 \r
212     };\r
213 /****************************************************************************/\r
214 /*                          MODULE : DSPI                                   */\r
215 /****************************************************************************/\r
216 #include "ip_dspi.h"\r
217 \r
218 /****************************************************************************/\r
219 /*                     MODULE : External Bus Interface (EBI)                */\r
220 /****************************************************************************/\r
221 CC_EXTENSION struct CS_tag {\r
222         union {                 /* Base Register Bank */\r
223             vuint32_t R;\r
224             struct {\r
225                 vuint32_t BA:17;\r
226                   vuint32_t:3;\r
227                 vuint32_t PS:1;\r
228                   vuint32_t:4;\r
229                 vuint32_t BL:1;\r
230                 vuint32_t WEBS:1;\r
231                 vuint32_t TBDIP:1;\r
232                   vuint32_t:2;\r
233                 vuint32_t BI:1;\r
234                 vuint32_t V:1;\r
235             } B;\r
236         } BR;\r
237 \r
238         union {                 /* Option Register Bank */\r
239             vuint32_t R;\r
240             struct {\r
241                 vuint32_t AM:17;\r
242                   vuint32_t:7;\r
243                 vuint32_t SCY:4;\r
244                   vuint32_t:1;\r
245                 vuint32_t BSCY:2;\r
246                   vuint32_t:1;\r
247             } B;\r
248         } OR;\r
249     };\r
250 \r
251     struct EBI_tag {\r
252         union {                 /* Module Configuration Register */\r
253             vuint32_t R;\r
254             struct {\r
255                 vuint32_t:5;\r
256                 vuint32_t SIZEEN:1;\r
257                 vuint32_t SIZE:2;\r
258                   vuint32_t:8;\r
259                 vuint32_t ACGE:1;\r
260                 vuint32_t EXTM:1;\r
261                 vuint32_t EARB:1;\r
262                 vuint32_t EARP:2;\r
263                   vuint32_t:4;\r
264                 vuint32_t MDIS:1;\r
265                   vuint32_t:5;\r
266                 vuint32_t DBM:1;\r
267             } B;\r
268         } MCR;\r
269 \r
270         uint32_t EBI_reserved1;\r
271 \r
272         union {                 /* Transfer Error Status Register */\r
273             vuint32_t R;\r
274             struct {\r
275                 vuint32_t:30;\r
276                 vuint32_t TEAF:1;\r
277                 vuint32_t BMTF:1;\r
278             } B;\r
279         } TESR;\r
280 \r
281         union {                 /* Bus Monitor Control Register */\r
282             vuint32_t R;\r
283             struct {\r
284                 vuint32_t:16;\r
285                 vuint32_t BMT:8;\r
286                 vuint32_t BME:1;\r
287                   vuint32_t:7;\r
288             } B;\r
289         } BMCR;\r
290 \r
291         struct CS_tag CS[4];\r
292 \r
293         uint32_t EBI_reserved2[4];\r
294 \r
295         /* Calibration registers */\r
296         struct CS_tag CAL_CS[4];\r
297 \r
298     };\r
299 /****************************************************************************/\r
300 /*                          MODULE : eDMA                                   */\r
301 /****************************************************************************/\r
302 #include "ip_edma.h"\r
303 \r
304 \r
305 /****************************************************************************/\r
306 /*                          MODULE : EMIOS                                  */\r
307 /****************************************************************************/\r
308     CC_EXTENSION   struct EMIOS_tag {\r
309         union {\r
310             vuint32_t R;\r
311             struct {\r
312                 vuint32_t DOZEEN:1;\r
313                 vuint32_t MDIS:1;\r
314                 vuint32_t FRZ:1;\r
315                 vuint32_t GTBE:1;\r
316                 vuint32_t ETB:1;\r
317                 vuint32_t GPREN:1;\r
318                   vuint32_t:6;\r
319                 vuint32_t SRV:4;\r
320                 vuint32_t GPRE:8;\r
321                   vuint32_t:8;\r
322             } B;\r
323         } MCR;                  /* Module Configuration Register */\r
324 \r
325         union {\r
326             vuint32_t R;\r
327             struct {\r
328                 vuint32_t:8;\r
329                 vuint32_t F23:1;\r
330                 vuint32_t F22:1;\r
331                 vuint32_t F21:1;\r
332                 vuint32_t F20:1;\r
333                 vuint32_t F19:1;\r
334                 vuint32_t F18:1;\r
335                 vuint32_t F17:1;\r
336                 vuint32_t F16:1;\r
337                 vuint32_t F15:1;\r
338                 vuint32_t F14:1;\r
339                 vuint32_t F13:1;\r
340                 vuint32_t F12:1;\r
341                 vuint32_t F11:1;\r
342                 vuint32_t F10:1;\r
343                 vuint32_t F9:1;\r
344                 vuint32_t F8:1;\r
345                 vuint32_t F7:1;\r
346                 vuint32_t F6:1;\r
347                 vuint32_t F5:1;\r
348                 vuint32_t F4:1;\r
349                 vuint32_t F3:1;\r
350                 vuint32_t F2:1;\r
351                 vuint32_t F1:1;\r
352                 vuint32_t F0:1;\r
353             } B;\r
354         } GFLAG;                /* Global FLAG Register */\r
355 \r
356         union {\r
357             vuint32_t R;\r
358             struct {\r
359                 vuint32_t:8;\r
360                 vuint32_t OU23:1;\r
361                 vuint32_t OU22:1;\r
362                 vuint32_t OU21:1;\r
363                 vuint32_t OU20:1;\r
364                 vuint32_t OU19:1;\r
365                 vuint32_t OU18:1;\r
366                 vuint32_t OU17:1;\r
367                 vuint32_t OU16:1;\r
368                 vuint32_t OU15:1;\r
369                 vuint32_t OU14:1;\r
370                 vuint32_t OU13:1;\r
371                 vuint32_t OU12:1;\r
372                 vuint32_t OU11:1;\r
373                 vuint32_t OU10:1;\r
374                 vuint32_t OU9:1;\r
375                 vuint32_t OU8:1;\r
376                 vuint32_t OU7:1;\r
377                 vuint32_t OU6:1;\r
378                 vuint32_t OU5:1;\r
379                 vuint32_t OU4:1;\r
380                 vuint32_t OU3:1;\r
381                 vuint32_t OU2:1;\r
382                 vuint32_t OU1:1;\r
383                 vuint32_t OU0:1;\r
384             } B;\r
385         } OUDIS;                /* Output Update Disable Register */\r
386 \r
387         union {\r
388             vuint32_t R;\r
389         } UCDIS;                /* Disable Channel Register */\r
390 \r
391         uint32_t emios_reserved1[4];\r
392 \r
393         struct {\r
394             union {\r
395                 vuint32_t R;    /* Channel A Data Register */\r
396             //} A;\r
397             } CADR;   /* JRichard */\r
398 \r
399             union {\r
400                 vuint32_t R;    /* Channel B Data Register */\r
401             //} B;\r
402             } CBDR;   /* JRichard */\r
403 \r
404             union {\r
405                 vuint32_t R;    /* Channel Counter Register */\r
406             //} CNT;\r
407             } CCNTR;  /* JRichard */\r
408 \r
409             union {\r
410                 vuint32_t R;\r
411                 struct {\r
412                     vuint32_t FREN:1;\r
413                     vuint32_t ODIS:1;\r
414                     vuint32_t ODISSL:2;\r
415                     vuint32_t UCPRE:2;\r
416                     vuint32_t UCPREN:1;\r
417 //                    vuint32_t UCPEN:1;                /* JRichard 16MAY2007 */\r
418                     vuint32_t DMA:1;\r
419                       vuint32_t:1;\r
420                     vuint32_t IF:4;\r
421                     vuint32_t FCK:1;\r
422                     vuint32_t FEN:1;\r
423                       vuint32_t:3;\r
424                     vuint32_t FORCMA:1;\r
425                     vuint32_t FORCMB:1;\r
426                       vuint32_t:1;\r
427                     vuint32_t BSL:2;\r
428                     vuint32_t EDSEL:1;\r
429                     vuint32_t EDPOL:1;\r
430                     vuint32_t MODE:7;\r
431                 } B;\r
432             } CCR;                /* Channel Control Register */\r
433             //} C;                /* Channel Control Register */ /* JRichard*/\r
434 \r
435             union {\r
436                 vuint32_t R;\r
437                 struct {\r
438                     vuint32_t OVR:1;\r
439                       vuint32_t:15;\r
440                     vuint32_t OVFL:1;\r
441                       vuint32_t:12;\r
442                     vuint32_t UCIN:1;\r
443                     vuint32_t UCOUT:1;\r
444                     vuint32_t FLAG:1;\r
445                 } B;\r
446             } CSR;\r
447             //} S;                /* JRichard Channel Status Register */\r
448 \r
449             union {\r
450                 vuint32_t R;    /* Alternate Channel A Data Register */\r
451             } ALTA;\r
452 \r
453             uint32_t emios_channel_reserved[2];\r
454 \r
455         } CH[24];\r
456 \r
457     };\r
458 /****************************************************************************/\r
459 /*                          MODULE : EQADC                                  */\r
460 /****************************************************************************/\r
461 CC_EXTENSION  struct EQADC_tag {\r
462         union {\r
463             vuint32_t R;\r
464             struct {\r
465                 vuint32_t:27;\r
466                 vuint32_t ESSIE:2;\r
467                   vuint32_t:1;\r
468                 vuint32_t DBG:2;\r
469             } B;\r
470         } MCR;                  /* Module Configuration Register */\r
471 \r
472         union {\r
473             vuint32_t R;\r
474         } TST;                  /* Test Register */\r
475 \r
476         union {\r
477             vuint32_t R;\r
478             struct {\r
479                 vuint32_t:6;\r
480                 vuint32_t NMF:26;\r
481             } B;\r
482         } NMSFR;                /* Null Message Send Format Register */\r
483 \r
484         union {\r
485             vuint32_t R;\r
486             struct {\r
487                 vuint32_t:28;\r
488                 vuint32_t DFL:4;\r
489             } B;\r
490         } ETDFR;                /* External Trigger Digital Filter Register */\r
491 \r
492         union {\r
493             vuint32_t R;\r
494             struct {\r
495                 vuint32_t CFPUSH:32;\r
496             } B;\r
497         } CFPR[6];              /* CFIFO Push Registers */\r
498 \r
499         uint32_t eqadc_reserved1;\r
500 \r
501         uint32_t eqadc_reserved2;\r
502 \r
503         union {\r
504             vuint32_t R;\r
505             struct {\r
506                 vuint32_t:16;\r
507                 vuint32_t RFPOP:16;\r
508             } B;\r
509         } RFPR[6];              /* Result FIFO Pop Registers */\r
510 \r
511         uint32_t eqadc_reserved3;\r
512 \r
513         uint32_t eqadc_reserved4;\r
514 \r
515         union {\r
516             vuint16_t R;\r
517             struct {\r
518                 vuint16_t:5;\r
519                 vuint16_t SSE:1;\r
520                 vuint16_t CFINV:1;\r
521                   vuint16_t:1;\r
522                 vuint16_t MODE:4;\r
523                   vuint16_t:4;\r
524             } B;\r
525         } CFCR[6];              /* CFIFO Control Registers */\r
526 \r
527         uint32_t eqadc_reserved5;\r
528 \r
529         union {\r
530             vuint16_t R;\r
531             struct {\r
532                 vuint16_t NCIE:1;\r
533                 vuint16_t TORIE:1;\r
534                 vuint16_t PIE:1;\r
535                 vuint16_t EOQIE:1;\r
536                 vuint16_t CFUIE:1;\r
537                   vuint16_t:1;\r
538                 vuint16_t CFFE:1;\r
539                 vuint16_t CFFS:1;\r
540                   vuint16_t:4;\r
541                 vuint16_t RFOIE:1;\r
542                   vuint16_t:1;\r
543                 vuint16_t RFDE:1;\r
544                 vuint16_t RFDS:1;\r
545             } B;\r
546         } IDCR[6];              /* Interrupt and DMA Control Registers */\r
547 \r
548         uint32_t eqadc_reserved6;\r
549 \r
550         union {\r
551             vuint32_t R;\r
552             struct {\r
553                 vuint32_t NCF:1;\r
554                 vuint32_t TORF:1;\r
555                 vuint32_t PF:1;\r
556                 vuint32_t EOQF:1;\r
557                 vuint32_t CFUF:1;\r
558                 vuint32_t SSS:1;\r
559                 vuint32_t CFFF:1;\r
560                   vuint32_t:5;\r
561                 vuint32_t RFOF:1;\r
562                   vuint32_t:1;\r
563                 vuint32_t RFDF:1;\r
564                   vuint32_t:1;\r
565                 vuint32_t CFCTR:4;\r
566                 vuint32_t TNXTPTR:4;\r
567                 vuint32_t RFCTR:4;\r
568                 vuint32_t POPNXTPTR:4;\r
569             } B;\r
570         } FISR[6];              /* FIFO and Interrupt Status Registers */\r
571 \r
572         uint32_t eqadc_reserved7;\r
573 \r
574         uint32_t eqadc_reserved8;\r
575 \r
576         union {\r
577             vuint16_t R;\r
578             struct {\r
579                 vuint16_t:5;\r
580                 vuint16_t TCCF:11;\r
581             } B;\r
582         } CFTCR[6];             /* CFIFO Transfer Counter Registers */\r
583 \r
584         uint32_t eqadc_reserved9;\r
585 \r
586         union {\r
587             vuint32_t R;\r
588             struct {\r
589                 vuint32_t CFS0:2;\r
590                 vuint32_t CFS1:2;\r
591                 vuint32_t CFS2:2;\r
592                 vuint32_t CFS3:2;\r
593                 vuint32_t CFS4:2;\r
594                 vuint32_t CFS5:2;\r
595                   vuint32_t:5;\r
596                 vuint32_t LCFTCB0:4;\r
597                 vuint32_t TC_LCFTCB0:11;\r
598             } B;\r
599         } CFSSR0;               /* CFIFO Status Register 0 */\r
600 \r
601         union {\r
602             vuint32_t R;\r
603             struct {\r
604                 vuint32_t CFS0:2;\r
605                 vuint32_t CFS1:2;\r
606                 vuint32_t CFS2:2;\r
607                 vuint32_t CFS3:2;\r
608                 vuint32_t CFS4:2;\r
609                 vuint32_t CFS5:2;\r
610                   vuint32_t:5;\r
611                 vuint32_t LCFTCB1:4;\r
612                 vuint32_t TC_LCFTCB1:11;\r
613             } B;\r
614         } CFSSR1;               /* CFIFO Status Register 1 */\r
615 \r
616         union {\r
617             vuint32_t R;\r
618             struct {\r
619                 vuint32_t CFS0:2;\r
620                 vuint32_t CFS1:2;\r
621                 vuint32_t CFS2:2;\r
622                 vuint32_t CFS3:2;\r
623                 vuint32_t CFS4:2;\r
624                 vuint32_t CFS5:2;\r
625                   vuint32_t:4;\r
626                 vuint32_t ECBNI:1;\r
627                 vuint32_t LCFTSSI:4;\r
628                 vuint32_t TC_LCFTSSI:11;\r
629             } B;\r
630         } CFSSR2;               /* CFIFO Status Register 2 */\r
631 \r
632         union {\r
633             vuint32_t R;\r
634             struct {\r
635                 vuint32_t CFS0:2;\r
636                 vuint32_t CFS1:2;\r
637                 vuint32_t CFS2:2;\r
638                 vuint32_t CFS3:2;\r
639                 vuint32_t CFS4:2;\r
640                 vuint32_t CFS5:2;\r
641                   vuint32_t:20;\r
642             } B;\r
643         } CFSR;\r
644 \r
645         uint32_t eqadc_reserved11;\r
646 \r
647         union {\r
648             vuint32_t R;\r
649             struct {\r
650                 vuint32_t:21;\r
651                 vuint32_t MDT:3;\r
652                   vuint32_t:4;\r
653                 vuint32_t BR:4;\r
654             } B;\r
655         } SSICR;                /* SSI Control Register */\r
656 \r
657         union {\r
658             vuint32_t R;\r
659             struct {\r
660                 vuint32_t RDV:1;\r
661                   vuint32_t:5;\r
662                 vuint32_t RDATA:26;\r
663             } B;\r
664         } SSIRDR;               /* SSI Recieve Data Register */\r
665 \r
666         uint32_t eqadc_reserved12[17];\r
667 \r
668         struct {\r
669             union {\r
670                 vuint32_t R;\r
671                 struct {\r
672                     vuint32_t:32;\r
673                 } B;\r
674             } R[4];\r
675 \r
676             uint32_t eqadc_reserved13[12];\r
677 \r
678         } CF[6];\r
679 \r
680         uint32_t eqadc_reserved14[32];\r
681 \r
682         struct {\r
683             union {\r
684                 vuint32_t R;\r
685                 struct {\r
686                     vuint32_t:32;\r
687                 } B;\r
688             } R[4];\r
689 \r
690             uint32_t eqadc_reserved15[12];\r
691 \r
692         } RF[6];\r
693 \r
694     };\r
695 /****************************************************************************/\r
696 /*                          MODULE : eSCI                                   */\r
697 /****************************************************************************/\r
698 CC_EXTENSION     struct ESCI_tag {\r
699         union {\r
700             vuint32_t R;\r
701             struct {\r
702                 vuint32_t:3;\r
703                 vuint32_t SBR:13;\r
704                 vuint32_t LOOPS:1;\r
705                   vuint32_t:1;\r
706                 vuint32_t RSRC:1;\r
707                 vuint32_t M:1;\r
708                 vuint32_t WAKE:1;\r
709                 vuint32_t ILT:1;\r
710                 vuint32_t PE:1;\r
711                 vuint32_t PT:1;\r
712                 vuint32_t TIE:1;\r
713                 vuint32_t TCIE:1;\r
714                 vuint32_t RIE:1;\r
715                 vuint32_t ILIE:1;\r
716                 vuint32_t TE:1;\r
717                 vuint32_t RE:1;\r
718                 vuint32_t RWU:1;\r
719                 vuint32_t SBK:1;\r
720             } B;\r
721         } CR1;                  /* Control Register 1 */\r
722 \r
723         union {\r
724             vuint16_t R;\r
725             struct {\r
726                 vuint16_t MDIS:1;\r
727                 vuint16_t FBR:1;\r
728                 vuint16_t BSTP:1;\r
729                 vuint16_t IEBERR:1;\r
730                 vuint16_t RXDMA:1;\r
731                 vuint16_t TXDMA:1;\r
732                 vuint16_t BRK13:1;\r
733                   vuint16_t:1;\r
734                 vuint16_t BESM13:1;\r
735                 vuint16_t SBSTP:1;\r
736                   vuint16_t:2;\r
737                 vuint16_t ORIE:1;\r
738                 vuint16_t NFIE:1;\r
739                 vuint16_t FEIE:1;\r
740                 vuint16_t PFIE:1;\r
741             } B;\r
742         } CR2;                  /* Control Register 2 */\r
743 \r
744         union {\r
745             vuint16_t R;\r
746             struct {\r
747                 vuint16_t R8:1;\r
748                 vuint16_t T8:1;\r
749                   vuint16_t:6;\r
750                 vuint8_t D;\r
751             } B;\r
752         } DR;                   /* Data Register */\r
753 \r
754         union {\r
755             vuint32_t R;\r
756             struct {\r
757                 vuint32_t TDRE:1;\r
758                 vuint32_t TC:1;\r
759                 vuint32_t RDRF:1;\r
760                 vuint32_t IDLE:1;\r
761                 vuint32_t OR:1;\r
762                 vuint32_t NF:1;\r
763                 vuint32_t FE:1;\r
764                 vuint32_t PF:1;\r
765                   vuint32_t:3;\r
766                 vuint32_t BERR:1;\r
767                   vuint32_t:3;\r
768                 vuint32_t RAF:1;\r
769                 vuint32_t RXRDY:1;\r
770                 vuint32_t TXRDY:1;\r
771                 vuint32_t LWAKE:1;\r
772                 vuint32_t STO:1;\r
773                 vuint32_t PBERR:1;\r
774                 vuint32_t CERR:1;\r
775                 vuint32_t CKERR:1;\r
776                 vuint32_t FRC:1;\r
777                   vuint32_t:7;\r
778                 vuint32_t OVFL:1;\r
779             } B;\r
780         } SR;                   /* Status Register */\r
781 \r
782         union {\r
783             vuint32_t R;\r
784             struct {\r
785                 vuint32_t LRES:1;\r
786                 vuint32_t WU:1;\r
787                 vuint32_t WUD0:1;\r
788                 vuint32_t WUD1:1;\r
789                 vuint32_t LDBG:1;\r
790                 vuint32_t DSF:1;\r
791                 vuint32_t PRTY:1;\r
792                 vuint32_t LIN:1;\r
793                 vuint32_t RXIE:1;\r
794                 vuint32_t TXIE:1;\r
795                 vuint32_t WUIE:1;\r
796                 vuint32_t STIE:1;\r
797                 vuint32_t PBIE:1;\r
798                 vuint32_t CIE:1;\r
799                 vuint32_t CKIE:1;\r
800                 vuint32_t FCIE:1;\r
801                   vuint32_t:7;\r
802                 vuint32_t OFIE:1;\r
803                   vuint32_t:8;\r
804             } B;\r
805         } LCR;                  /* LIN Control Register */\r
806 \r
807         union {\r
808             vuint32_t R;\r
809         } LTR;                  /* LIN Transmit Register */\r
810 \r
811         union {\r
812             vuint32_t R;\r
813         } LRR;                  /* LIN Recieve Register */\r
814 \r
815         union {\r
816             vuint32_t R;\r
817         } LPR;                  /* LIN CRC Polynom Register  */\r
818 \r
819     };\r
820 /****************************************************************************/\r
821 /*                     MODULE : FLASH                                       */\r
822 /****************************************************************************/\r
823 CC_EXTENSION  struct FLASH_tag {\r
824         union {                 /* Module Configuration Register */\r
825             vuint32_t R;\r
826             struct {\r
827                 vuint32_t:3;\r
828                 vuint32_t SFS:1;\r
829                 vuint32_t SIZE:4;\r
830                   vuint32_t:1;\r
831                 vuint32_t LAS:3;\r
832                   vuint32_t:3;\r
833                 vuint32_t MAS:1;\r
834                 vuint32_t EER:1;\r
835                 vuint32_t RWE:1;\r
836                 vuint32_t BBEPE:1;\r
837                 vuint32_t EPE:1;\r
838                 vuint32_t PEAS:1;\r
839                 vuint32_t DONE:1;\r
840                 vuint32_t PEG:1;\r
841                   vuint32_t:1;\r
842                 vuint32_t PRD:1;\r
843                 vuint32_t STOP:1;\r
844                   vuint32_t:1;\r
845                 vuint32_t PGM:1;\r
846                 vuint32_t PSUS:1;\r
847                 vuint32_t ERS:1;\r
848                 vuint32_t ESUS:1;\r
849                 vuint32_t EHV:1;\r
850             } B;\r
851         } MCR;\r
852 \r
853         union {                 /* LML Register */\r
854             vuint32_t R;\r
855             struct {\r
856                 vuint32_t LME:1;\r
857                   vuint32_t:10;\r
858                 vuint32_t SLOCK:1;\r
859                   vuint32_t:2;\r
860                 vuint32_t MLOCK:2;\r
861                   vuint32_t:8;\r
862                 vuint32_t LLOCK:8;\r
863             } B;\r
864         } LMLR;\r
865         //} LML;                         /* JRichard 7MAR2007 */\r
866 \r
867         union {                 /* HL Register */\r
868             vuint32_t R;\r
869             struct {\r
870                 vuint32_t HBE:1;\r
871                   vuint32_t:27;\r
872                 vuint32_t HBLOCK:4;\r
873             } B;\r
874         } HLR;\r
875         //} HBL;                                                                                /* JRichard 7MAR2007 */\r
876 \r
877         union {                 /* SLML Register */\r
878             vuint32_t R;\r
879             struct {\r
880                 vuint32_t SLE:1;\r
881                   vuint32_t:10;\r
882                 vuint32_t SSLOCK:1;\r
883                   vuint32_t:2;\r
884                 vuint32_t SMLOCK:2;\r
885                   vuint32_t:8;\r
886                 vuint32_t SLLOCK:8;\r
887             } B;\r
888         } SLMLR;\r
889         //} SLL;                                        /* JRichard 7MAR2007 */\r
890 \r
891         union {                 /* LMS Register */\r
892             vuint32_t R;\r
893             struct {\r
894                 vuint32_t:14;\r
895                 vuint32_t MSEL:2;\r
896                   vuint32_t:8;\r
897                 vuint32_t LSEL:8;\r
898             } B;\r
899         } LMSR;\r
900         //} LMS;                                        /* JRichard 7MAR2007 */\r
901 \r
902         union {\r
903             vuint32_t R;\r
904             struct {\r
905                 vuint32_t:28;\r
906                 vuint32_t HBSEL:4;\r
907             } B;\r
908         } HSR;\r
909         //} HBS;                                        /* JRichard 7MAR2007 */\r
910 \r
911         union {\r
912             vuint32_t R;\r
913             struct {\r
914                 vuint32_t:10;\r
915                 vuint32_t ADDR:19;\r
916                   vuint32_t:3;\r
917             } B;\r
918         } ADR;\r
919 \r
920         union {                 /* Platform Flash Configuration Register for Port 0 */\r
921             vuint32_t R;\r
922             struct {\r
923                 vuint32_t LBCFG:4;\r
924                 vuint32_t ARB:1;\r
925                 vuint32_t PRI:1;\r
926                   vuint32_t:2;\r
927                 vuint32_t M7PFE:1;\r
928                 vuint32_t M6PFE:1;\r
929                 vuint32_t M5PFE:1;\r
930                 vuint32_t M4PFE:1;\r
931                 vuint32_t M3PFE:1;\r
932                 vuint32_t M2PFE:1;\r
933                 vuint32_t M1PFE:1;\r
934                 vuint32_t M0PFE:1;\r
935                 vuint32_t APC:3;\r
936                 vuint32_t WWSC:2;\r
937                 vuint32_t RWSC:3;\r
938                   vuint32_t:1;\r
939                 vuint32_t DPFEN:1;\r
940                   vuint32_t:1;\r
941                 vuint32_t IPFEN:1;\r
942                   vuint32_t:1;\r
943                 vuint32_t PFLIM:2;\r
944                 vuint32_t BFEN:1;\r
945             } B;\r
946         } PFCRP0;\r
947 \r
948         union {                 /* Platform Flash Configuration Register for Port 1 */\r
949             vuint32_t R;\r
950             struct {\r
951                 vuint32_t LBCFG:4;\r
952                   vuint32_t:4;\r
953                 vuint32_t M7PFE:1;\r
954                 vuint32_t M6PFE:1;\r
955                 vuint32_t M5PFE:1;\r
956                 vuint32_t M4PFE:1;\r
957                 vuint32_t M3PFE:1;\r
958                 vuint32_t M2PFE:1;\r
959                 vuint32_t M1PFE:1;\r
960                 vuint32_t M0PFE:1;\r
961                 vuint32_t APC:3;\r
962                 vuint32_t WWSC:2;\r
963                 vuint32_t RWSC:3;\r
964                   vuint32_t:1;\r
965                 vuint32_t DPFEN:1;\r
966                   vuint32_t:1;\r
967                 vuint32_t IPFEN:1;\r
968                   vuint32_t:1;\r
969                 vuint32_t PFLIM:2;\r
970                 vuint32_t BFEN:1;\r
971             } B;\r
972         } PFCRP1;\r
973 \r
974     };\r
975 \r
976 \r
977 #include "ip_flexcan.h"\r
978 \r
979 \r
980 CC_EXTENSION     struct FMPLL_tag {\r
981         union {             /* JRichard */\r
982             vuint32_t R;\r
983             struct {\r
984                 vuint32_t:1;\r
985                 vuint32_t PREDIV:3;\r
986                 vuint32_t MFD:5;\r
987                   vuint32_t:1;\r
988                 vuint32_t RFD:3;\r
989                 vuint32_t LOCEN:1;\r
990                 vuint32_t LOLRE:1;\r
991                 vuint32_t LOCRE:1;\r
992                 vuint32_t DISCLK:1;\r
993                 vuint32_t LOLIRQ:1;\r
994                 vuint32_t LOCIRQ:1;\r
995                 vuint32_t RATE:1;\r
996                 vuint32_t DEPTH:2;\r
997                 vuint32_t EXP:10;\r
998             } B;\r
999         } SYNCR;\r
1000         //int32_t FMPLL_reserved1; /* JRichard */\r
1001 \r
1002         union {                 /* Synthesiser Status Register */\r
1003             vuint32_t R;\r
1004             struct {\r
1005                 vuint32_t:22;\r
1006                 vuint32_t LOLF:1;\r
1007                 vuint32_t LOC:1;\r
1008                 vuint32_t MODE:1;\r
1009                 vuint32_t PLLSEL:1;\r
1010                 vuint32_t PLLREF:1;\r
1011                 vuint32_t LOCKS:1;\r
1012                 vuint32_t LOCK:1;\r
1013                 vuint32_t LOCF:1;\r
1014                 vuint32_t CALDONE:1;\r
1015                 vuint32_t CALPASS:1;\r
1016             } B;\r
1017         } SYNSR;\r
1018         \r
1019                                 \r
1020                                 \r
1021         union {\r
1022             vuint32_t R;\r
1023             struct {\r
1024                 vuint32_t EMODE:1;\r
1025                 vuint32_t CLKCFG:3;\r
1026                   vuint32_t:8;\r
1027                 vuint32_t EPREDIV:4;\r
1028                   vuint32_t:8;\r
1029                 vuint32_t EMFD:8;\r
1030             } B;\r
1031         } ESYNCR1;\r
1032 \r
1033         union {\r
1034             vuint32_t R;\r
1035             struct {\r
1036                 vuint32_t:8;\r
1037                 vuint32_t LOCEN:1;\r
1038                 vuint32_t LOLRE:1;\r
1039                 vuint32_t LOCRE:1;\r
1040                 vuint32_t LOLIRQ:1;\r
1041                 vuint32_t LOCIRQ:1;\r
1042                   vuint32_t:1;\r
1043                 vuint32_t ERATE:2;\r
1044                   vuint32_t:5;\r
1045                 vuint32_t EDEPTH:3;\r
1046                   vuint32_t:2;\r
1047                 vuint32_t ERFD:6;\r
1048             } B;\r
1049         } ESYNCR2;\r
1050 \r
1051     };\r
1052 /****************************************************************************/\r
1053 /*                          MODULE : i2c                                    */\r
1054 /****************************************************************************/\r
1055 CC_EXTENSION     struct I2C_tag {\r
1056         union {\r
1057             vuint8_t R;\r
1058             struct {\r
1059                 vuint8_t ADR:7;\r
1060                   vuint8_t:1;\r
1061             } B;\r
1062         } IBAD;                 /* Module Bus Address Register */\r
1063 \r
1064         union {\r
1065             vuint8_t R;\r
1066             struct {\r
1067                 vuint8_t IBC:8;\r
1068             } B;\r
1069         } IBFD;                 /* Module Bus Frequency Register */\r
1070 \r
1071         union {\r
1072             vuint8_t R;\r
1073             struct {\r
1074                 vuint8_t MDIS:1;\r
1075                 vuint8_t IBIE:1;\r
1076                 vuint8_t MS:1;\r
1077                 vuint8_t TX:1;\r
1078                 vuint8_t NOACK:1;\r
1079                 vuint8_t RSTA:1;\r
1080                 vuint8_t DMAEN:1;\r
1081                 vuint8_t IBDOZE:1;\r
1082             } B;\r
1083         } IBCR;                 /* Module Bus Control Register */\r
1084 \r
1085         union {\r
1086             vuint8_t R;\r
1087             struct {\r
1088                 vuint8_t TCF:1;\r
1089                 vuint8_t IAAS:1;\r
1090                 vuint8_t IBB:1;\r
1091                 vuint8_t IBAL:1;\r
1092                   vuint8_t:1;\r
1093                 vuint8_t SRW:1;\r
1094                 vuint8_t IBIF:1;\r
1095                 vuint8_t RXAK:1;\r
1096             } B;\r
1097         } IBSR;                 /* Module Status Register */\r
1098 \r
1099         union {\r
1100             vuint8_t R;\r
1101             struct {\r
1102                 vuint8_t DATA:8;\r
1103             } B;\r
1104         } IBDR;                 /* Module Data Register */\r
1105 \r
1106         union {\r
1107             vuint8_t R;\r
1108             struct {\r
1109                 vuint8_t BIIE:1;\r
1110                   vuint8_t:7;\r
1111             } B;\r
1112         } IBIC;                 /* Module Interrupt Configuration Register */\r
1113 \r
1114     };\r
1115 /****************************************************************************/\r
1116 /*                          MODULE : INTC                                   */\r
1117 /****************************************************************************/\r
1118 CC_EXTENSION     struct INTC_tag {\r
1119         union {\r
1120             vuint32_t R;\r
1121             struct {\r
1122                 vuint32_t:18;\r
1123                 vuint32_t VTES_PRC1:1;\r
1124                   vuint32_t:4;\r
1125                 vuint32_t HVEN_PRC1:1;\r
1126                   vuint32_t:2;\r
1127                 vuint32_t VTES_PRC0:1;\r
1128                   vuint32_t:4;\r
1129                 vuint32_t HVEN_PRC0:1;\r
1130             } B;\r
1131         } MCR;                  /* Module Configuration Register */\r
1132 \r
1133         int32_t INTC_reserved1;\r
1134 \r
1135         union {\r
1136             vuint32_t R;\r
1137             struct {\r
1138                 vuint32_t:28;\r
1139                 vuint32_t PRI:4;\r
1140             } B;\r
1141         } CPR_PRC0;             /* Processor 0 Current Priority Register */\r
1142 \r
1143         union {\r
1144             vuint32_t R;\r
1145             struct {\r
1146                 vuint32_t:28;\r
1147                 vuint32_t PRI:4;\r
1148             } B;\r
1149         } CPR_PRC1;             /* Processor 1 Current Priority Register */\r
1150 \r
1151         union {\r
1152             vuint32_t R;\r
1153             struct {\r
1154                 vuint32_t VTBA_PRC0:21;\r
1155                 vuint32_t INTVEC_PRC0:9;\r
1156                   vuint32_t:2;\r
1157             } B;\r
1158         } IACKR_PRC0;           /* Processor 0 Interrupt Acknowledge Register */\r
1159 \r
1160         union {\r
1161             vuint32_t R;\r
1162             struct {\r
1163                 vuint32_t VTBA_PRC1:21;\r
1164                 vuint32_t INTVEC_PRC1:9;\r
1165                   vuint32_t:2;\r
1166             } B;\r
1167         } IACKR_PRC1;           /* Processor 1 Interrupt Acknowledge Register */\r
1168 \r
1169         union {\r
1170             vuint32_t R;\r
1171             struct {\r
1172                 vuint32_t:32;\r
1173             } B;\r
1174         } EOIR_PRC0;            /* Processor 0 End of Interrupt Register */\r
1175 \r
1176         union {\r
1177             vuint32_t R;\r
1178             struct {\r
1179                 vuint32_t:32;\r
1180             } B;\r
1181         } EOIR_PRC1;            /* Processor 1 End of Interrupt Register */\r
1182 \r
1183         union {\r
1184             vuint8_t R;\r
1185             struct {\r
1186                 vuint8_t:6;\r
1187                 vuint8_t SET:1;\r
1188                 vuint8_t CLR:1;\r
1189             } B;\r
1190         } SSCIR[8];             /* Software Set/Clear Interruput Register */\r
1191 \r
1192         uint32_t intc_reserved2[6];\r
1193 \r
1194         union {\r
1195             vuint8_t R;\r
1196             struct {\r
1197                 vuint8_t PRC_SEL:2;\r
1198                   vuint8_t:2;\r
1199                 vuint8_t PRI:4;\r
1200             } B;\r
1201         } PSR[294];             /* Software Set/Clear Interrupt Register */\r
1202 \r
1203     };\r
1204 /****************************************************************************/\r
1205 /*                     MODULE : MCM                                         */\r
1206 /****************************************************************************/\r
1207 CC_EXTENSION     struct MCM_tag {\r
1208 \r
1209         uint32_t mcm_reserved1[5];\r
1210 \r
1211         uint16_t mcm_reserved2;\r
1212 \r
1213         union {\r
1214             vuint16_t R;\r
1215             struct {\r
1216                 vuint16_t RO:1;\r
1217                   vuint16_t:6;\r
1218                 vuint16_t SWRWH:1;\r
1219                 vuint16_t SWE:1;\r
1220                 vuint16_t SWRI:2;\r
1221                 vuint16_t SWT:5;\r
1222             } B;\r
1223         } SWTCR;                //Software Watchdog Timer Control\r
1224 \r
1225         uint8_t mcm_reserved3[3];\r
1226 \r
1227         union {\r
1228             vuint8_t R;\r
1229         } SWTSR;                //SWT Service Register\r
1230 \r
1231         uint8_t mcm_reserved4[3];\r
1232 \r
1233         union {\r
1234             vuint8_t R;\r
1235             struct {\r
1236                 vuint8_t:7;\r
1237                 vuint8_t SWTIC:1;\r
1238             } B;\r
1239         } SWTIR;                //SWT Interrupt Register\r
1240 \r
1241         uint32_t mcm_reserved5[1];\r
1242 \r
1243         union {\r
1244             vuint32_t R;\r
1245             struct {\r
1246                 vuint32_t PRI:1;\r
1247                   vuint32_t:31;\r
1248             } B;\r
1249         } MUDCR;                //Misc. User Defined Control Register\r
1250 \r
1251         uint32_t mcm_reserved6[6];\r
1252         uint8_t mcm_reserved7[3];\r
1253 \r
1254         union {\r
1255             vuint8_t R;\r
1256             struct {\r
1257                 vuint8_t:6;\r
1258                 vuint8_t ERNCR:1;\r
1259                 vuint8_t EFNCR:1;\r
1260             } B;\r
1261         } ECR;                  //ECC Configuration Register\r
1262 \r
1263         uint8_t mcm_reserved8[3];\r
1264 \r
1265         union {\r
1266             vuint8_t R;\r
1267             struct {\r
1268                 vuint8_t:6;\r
1269                 vuint8_t RNCE:1;\r
1270                 vuint8_t FNCE:1;\r
1271             } B;\r
1272         } ESR;                  //ECC Status Register\r
1273 \r
1274         uint16_t mcm_reserved9;\r
1275 \r
1276         union {\r
1277             vuint16_t R;\r
1278             struct {\r
1279                 vuint16_t:6;\r
1280                 vuint16_t FRCNCI:1;\r
1281                 vuint16_t FR1NCI:1;\r
1282                   vuint16_t:1;\r
1283                 vuint16_t ERRBIT:7;\r
1284             } B;\r
1285         } EEGR;                 //ECC Error Generation Register\r
1286 \r
1287         uint32_t mcm_reserved10;\r
1288 \r
1289         union {\r
1290             vuint32_t R;\r
1291         } FEAR;                 //Flash ECC Address Register\r
1292 \r
1293         uint16_t mcm_reserved11;\r
1294 \r
1295         union {\r
1296             vuint8_t R;\r
1297             struct {\r
1298                 vuint8_t:4;\r
1299                 vuint8_t FEMR:4;\r
1300             } B;\r
1301         } FEMR;                 //Flash ECC Master Register\r
1302 \r
1303         union {\r
1304             vuint8_t R;\r
1305             struct {\r
1306                 vuint8_t WRITE:1;\r
1307                 vuint8_t SIZE:3;\r
1308                 vuint8_t PROTECTION:4;\r
1309             } B;\r
1310         } FEAT;                 //Flash ECC Attributes Register\r
1311 \r
1312         union {\r
1313             vuint32_t R;\r
1314         } FEDRH;                //Flash ECC Data High Register\r
1315 \r
1316         union {\r
1317             vuint32_t R;\r
1318         } FEDRL;                //Flash ECC Data Low Register\r
1319 \r
1320         union {\r
1321             vuint32_t R;\r
1322             struct {\r
1323                 vuint32_t REAR:32;\r
1324             } B;\r
1325         } REAR;                 //RAM ECC Address\r
1326 \r
1327         uint8_t mcm_reserved12;\r
1328 \r
1329         union {\r
1330             vuint8_t R;\r
1331             struct {\r
1332                 vuint8_t RESR:8;\r
1333             } B;\r
1334         } RESR;                 //RAM ECC Syndrome\r
1335 \r
1336         union {\r
1337             vuint8_t R;\r
1338             struct {\r
1339                 vuint8_t:4;\r
1340                 vuint8_t REMR:4;\r
1341             } B;\r
1342         } REMR;                 //RAM ECC Master\r
1343 \r
1344         union {\r
1345             vuint8_t R;\r
1346             struct {\r
1347                 vuint8_t WRITE:1;\r
1348                 vuint8_t SIZE:3;\r
1349                 vuint8_t PROTECTION:1;\r
1350             } B;\r
1351         } REAT;                 // RAM ECC Attributes Register\r
1352 \r
1353         union {\r
1354             vuint32_t R;\r
1355         } REDRH;                //RAM ECC Data High Register\r
1356 \r
1357         union {\r
1358             vuint32_t R;\r
1359         } REDRL;                //RAMECC Data Low Register\r
1360 \r
1361     };\r
1362 /****************************************************************************/\r
1363 /*                          MODULE : MPU                                    */\r
1364 /****************************************************************************/\r
1365 CC_EXTENSION     struct MPU_tag {\r
1366         union {\r
1367             vuint32_t R;\r
1368             struct {\r
1369                 vuint32_t MSTR:8;\r
1370                   vuint32_t:4;\r
1371                 vuint32_t HRL:4;\r
1372                 vuint32_t NSP:4;\r
1373                 vuint32_t NGRD:4;\r
1374                   vuint32_t:7;\r
1375                 vuint32_t VLD:1;\r
1376             } B;\r
1377         } CESR;                 /* Module Control/Error Status Register */\r
1378 \r
1379         uint32_t mpu_reserved1[3];\r
1380 \r
1381         union {\r
1382             vuint32_t R;\r
1383             struct {\r
1384                 vuint32_t EADDR:32;\r
1385             } B;\r
1386         } EAR0;\r
1387 \r
1388         union {\r
1389             vuint32_t R;\r
1390             struct {\r
1391                 vuint32_t EACD:16;\r
1392                 vuint32_t EPID:8;\r
1393                 vuint32_t EMN:4;\r
1394                 vuint32_t EATTR:3;\r
1395                 vuint32_t ERW:1;\r
1396             } B;\r
1397         } EDR0;\r
1398 \r
1399         union {\r
1400             vuint32_t R;\r
1401             struct {\r
1402                 vuint32_t EADDR:32;\r
1403             } B;\r
1404         } EAR1;\r
1405 \r
1406         union {\r
1407             vuint32_t R;\r
1408             struct {\r
1409                 vuint32_t EACD:16;\r
1410                 vuint32_t EPID:8;\r
1411                 vuint32_t EMN:4;\r
1412                 vuint32_t EATTR:3;\r
1413                 vuint32_t ERW:1;\r
1414             } B;\r
1415         } EDR1;\r
1416 \r
1417         union {\r
1418             vuint32_t R;\r
1419             struct {\r
1420                 vuint32_t EADDR:32;\r
1421             } B;\r
1422         } EAR2;\r
1423 \r
1424         union {\r
1425             vuint32_t R;\r
1426             struct {\r
1427                 vuint32_t EACD:16;\r
1428                 vuint32_t EPID:8;\r
1429                 vuint32_t EMN:4;\r
1430                 vuint32_t EATTR:3;\r
1431                 vuint32_t ERW:1;\r
1432             } B;\r
1433         } EDR2;\r
1434 \r
1435         uint32_t mpu_reserved2[246];\r
1436 \r
1437         struct {\r
1438             union {\r
1439                 vuint32_t R;\r
1440                 struct {\r
1441                     vuint32_t SRTADDR:27;\r
1442                       vuint32_t:5;\r
1443                 } B;\r
1444             } WORD0;            /* Region Descriptor n Word 0 */\r
1445 \r
1446             union {\r
1447                 vuint32_t R;\r
1448                 struct {\r
1449                     vuint32_t ENDADDR:27;\r
1450                       vuint32_t:5;\r
1451                 } B;\r
1452             } WORD1;            /* Region Descriptor n Word 1 */\r
1453 \r
1454             union {\r
1455                 vuint32_t R;\r
1456                 struct {\r
1457                     vuint32_t:6;\r
1458                     vuint32_t M4RE0:1;\r
1459                     vuint32_t M4WE:1;\r
1460                     vuint32_t M3PE:1;\r
1461                     vuint32_t M3SM:2;\r
1462                     vuint32_t M3UM:3;\r
1463                     vuint32_t M2PE:1;\r
1464                     vuint32_t M2SM:2;\r
1465                     vuint32_t M2UM:3;\r
1466                     vuint32_t M1PE:1;\r
1467                     vuint32_t M1SM:2;\r
1468                     vuint32_t M1UM:3;\r
1469                     vuint32_t M0PE:1;\r
1470                     vuint32_t M0SM:2;\r
1471                     vuint32_t M0UM:3;\r
1472                 } B;\r
1473             } WORD2;            /* Region Descriptor n Word 2 */\r
1474 \r
1475             union {\r
1476                 vuint32_t R;\r
1477                 struct {\r
1478                     vuint32_t PID:8;\r
1479                     vuint32_t PIDMASK:8;\r
1480                       vuint32_t:15;\r
1481                     vuint32_t VLD:1;\r
1482                 } B;\r
1483             } WORD3;            /* Region Descriptor n Word 3 */\r
1484 \r
1485         } RGD[16];\r
1486 \r
1487         uint32_t mpu_reserved3[192];\r
1488 \r
1489         union {\r
1490             vuint32_t R;\r
1491             struct {\r
1492                 vuint32_t:6;\r
1493                 vuint32_t M4RE:1;\r
1494                 vuint32_t M4WE:1;\r
1495                 vuint32_t M3PE:1;\r
1496                 vuint32_t M3SM:2;\r
1497                 vuint32_t M3UM:3;\r
1498                 vuint32_t M2PE:1;\r
1499                 vuint32_t M2SM:2;\r
1500                 vuint32_t M2UM:3;\r
1501                 vuint32_t M1PE:1;\r
1502                 vuint32_t M1SM:2;\r
1503                 vuint32_t M1UM:3;\r
1504                 vuint32_t M0PE:1;\r
1505                 vuint32_t M0SM:2;\r
1506                 vuint32_t M0UM:3;\r
1507             } B;\r
1508         } RGDAAC[16];           /* Region Descriptor Alternate Access Control n */\r
1509     };\r
1510 /****************************************************************************/\r
1511 /*                          MODULE : pit                                    */\r
1512 /****************************************************************************/\r
1513 CC_EXTENSION     struct PIT_tag {\r
1514         union {\r
1515             vuint32_t R;\r
1516             struct {\r
1517                 vuint32_t:8;\r
1518                 vuint32_t TSV:24;\r
1519             } B;\r
1520         } TLVAL0;\r
1521 \r
1522         union {\r
1523             vuint32_t R;\r
1524             struct {\r
1525                 vuint32_t TSV:32;\r
1526             } B;\r
1527         } TLVAL1;\r
1528 \r
1529         union {\r
1530             vuint32_t R;\r
1531             struct {\r
1532                 vuint32_t TSV:32;\r
1533             } B;\r
1534         } TLVAL2;\r
1535 \r
1536         union {\r
1537             vuint32_t R;\r
1538             struct {\r
1539                 vuint32_t TSV:32;\r
1540             } B;\r
1541         } TLVAL3;\r
1542 \r
1543         union {\r
1544             vuint32_t R;\r
1545             struct {\r
1546                 vuint32_t TSV:32;\r
1547             } B;\r
1548         } TLVAL4;\r
1549 \r
1550         union {\r
1551             vuint32_t R;\r
1552             struct {\r
1553                 vuint32_t TSV:32;\r
1554             } B;\r
1555         } TLVAL5;\r
1556 \r
1557         union {\r
1558             vuint32_t R;\r
1559             struct {\r
1560                 vuint32_t TSV:32;\r
1561             } B;\r
1562         } TLVAL6;\r
1563 \r
1564         union {\r
1565             vuint32_t R;\r
1566             struct {\r
1567                 vuint32_t TSV:32;\r
1568             } B;\r
1569         } TLVAL7;\r
1570 \r
1571         union {\r
1572             vuint32_t R;\r
1573             struct {\r
1574                 vuint32_t TSV:32;\r
1575             } B;\r
1576         } TLVAL8;\r
1577 \r
1578         uint32_t pit_reserved1[23];\r
1579 \r
1580         union {\r
1581             vuint32_t R;\r
1582             struct {\r
1583                 vuint32_t:8;\r
1584                 vuint32_t TVL:24;\r
1585             } B;\r
1586         } TVAL0;\r
1587 \r
1588         union {\r
1589             vuint32_t R;\r
1590             struct {\r
1591                 vuint32_t TVL:32;\r
1592             } B;\r
1593         } TVAL1;\r
1594 \r
1595         union {\r
1596             vuint32_t R;\r
1597             struct {\r
1598                 vuint32_t TVL:32;\r
1599             } B;\r
1600         } TVAL2;\r
1601 \r
1602         union {\r
1603             vuint32_t R;\r
1604             struct {\r
1605                 vuint32_t TVL:32;\r
1606             } B;\r
1607         } TVAL3;\r
1608 \r
1609         union {\r
1610             vuint32_t R;\r
1611             struct {\r
1612                 vuint32_t TVL:32;\r
1613             } B;\r
1614         } TVAL4;\r
1615 \r
1616         union {\r
1617             vuint32_t R;\r
1618             struct {\r
1619                 vuint32_t TVL:32;\r
1620             } B;\r
1621         } TVAL5;\r
1622 \r
1623         union {\r
1624             vuint32_t R;\r
1625             struct {\r
1626                 vuint32_t TVL:32;\r
1627             } B;\r
1628         } TVAL6;\r
1629 \r
1630         union {\r
1631             vuint32_t R;\r
1632             struct {\r
1633                 vuint32_t TVL:32;\r
1634             } B;\r
1635         } TVAL7;\r
1636 \r
1637         union {\r
1638             vuint32_t R;\r
1639             struct {\r
1640                 vuint32_t TVL:32;\r
1641             } B;\r
1642         } TVAL8;\r
1643 \r
1644         uint32_t pit_reserved2[23];\r
1645 \r
1646         union {\r
1647             vuint32_t R;\r
1648             struct {\r
1649                 vuint32_t:27;\r
1650                 vuint32_t TIF4:1;\r
1651                 vuint32_t TIF3:1;\r
1652                 vuint32_t TIF2:1;\r
1653                 vuint32_t TIF1:1;\r
1654                 vuint32_t RTIF:1;\r
1655             } B;\r
1656         } FLG;\r
1657 \r
1658         union {\r
1659             vuint32_t R;\r
1660             struct {\r
1661                 vuint32_t:27;\r
1662                 vuint32_t TIE4:1;\r
1663                 vuint32_t TIE3:1;\r
1664                 vuint32_t TIE2:1;\r
1665                 vuint32_t TIE1:1;\r
1666                 vuint32_t RTIE:1;\r
1667             } B;\r
1668         } INTEN;\r
1669 \r
1670         union {\r
1671             vuint32_t R;\r
1672             struct {\r
1673                 vuint32_t:27;\r
1674                 vuint32_t ISEL4:1;\r
1675                 vuint32_t ISEL3:1;\r
1676                 vuint32_t ISEL2:1;\r
1677                 vuint32_t ISEL1:1;\r
1678                   vuint32_t:1;\r
1679             } B;\r
1680         } INTSEL;\r
1681 \r
1682         union {\r
1683             vuint32_t R;\r
1684             struct {\r
1685                 vuint32_t:21;\r
1686                 vuint32_t PEN10:1;\r
1687                 vuint32_t PEN9:1;\r
1688                 vuint32_t PEN8:1;\r
1689                 vuint32_t PEN7:1;\r
1690                 vuint32_t PEN6:1;\r
1691                 vuint32_t PEN5:1;\r
1692                 vuint32_t PEN4:1;\r
1693                 vuint32_t PEN3:1;\r
1694                 vuint32_t PEN2:1;\r
1695                 vuint32_t PEN1:1;\r
1696                 vuint32_t PEN0:1;\r
1697             } B;\r
1698         } EN;\r
1699 \r
1700         union {\r
1701             vuint32_t R;\r
1702             struct {\r
1703                 vuint32_t:6;\r
1704                 vuint32_t DOZE:1;\r
1705                 vuint32_t MDIS:1;\r
1706                   vuint32_t:24;\r
1707             } B;\r
1708         } CTRL;\r
1709 \r
1710     };\r
1711 /****************************************************************************/\r
1712 /*                          MODULE : sem4                                   */\r
1713 /****************************************************************************/\r
1714 CC_EXTENSION     struct SEMA4_tag {\r
1715         union {\r
1716             vuint8_t R;\r
1717             struct {\r
1718                 vuint8_t:6;\r
1719                 vuint8_t GTFSM:2;\r
1720             } B;\r
1721         } GATE[16];             /* Gate n Register */\r
1722 \r
1723         uint32_t sema4_reserved1[12];\r
1724 \r
1725         union {\r
1726             vuint32_t R;\r
1727             struct {\r
1728                 vuint32_t INE0:1;\r
1729                 vuint32_t INE1:1;\r
1730                 vuint32_t INE2:1;\r
1731                 vuint32_t INE3:1;\r
1732                 vuint32_t INE4:1;\r
1733                 vuint32_t INE5:1;\r
1734                 vuint32_t INE6:1;\r
1735                 vuint32_t INE7:1;\r
1736                 vuint32_t INE8:1;\r
1737                 vuint32_t INE9:1;\r
1738                 vuint32_t INE10:1;\r
1739                 vuint32_t INE11:1;\r
1740                 vuint32_t INE12:1;\r
1741                 vuint32_t INE13:1;\r
1742                 vuint32_t INE14:1;\r
1743                 vuint32_t INE15:1;\r
1744                   vuint32_t:16;\r
1745             } B;\r
1746         } CP0INE;\r
1747 \r
1748         uint32_t sema4_reserved2[1];\r
1749 \r
1750         union {\r
1751             vuint32_t R;\r
1752             struct {\r
1753                 vuint32_t INE0:1;\r
1754                 vuint32_t INE1:1;\r
1755                 vuint32_t INE2:1;\r
1756                 vuint32_t INE3:1;\r
1757                 vuint32_t INE4:1;\r
1758                 vuint32_t INE5:1;\r
1759                 vuint32_t INE6:1;\r
1760                 vuint32_t INE7:1;\r
1761                 vuint32_t INE8:1;\r
1762                 vuint32_t INE9:1;\r
1763                 vuint32_t INE10:1;\r
1764                 vuint32_t INE11:1;\r
1765                 vuint32_t INE12:1;\r
1766                 vuint32_t INE13:1;\r
1767                 vuint32_t INE14:1;\r
1768                 vuint32_t INE15:1;\r
1769                   vuint32_t:16;\r
1770             } B;\r
1771         } CP1INE;\r
1772 \r
1773         uint32_t sema4_reserved3[13];\r
1774 \r
1775         union {\r
1776             vuint32_t R;\r
1777             struct {\r
1778                 vuint32_t GN0:1;\r
1779                 vuint32_t GN1:1;\r
1780                 vuint32_t GN2:1;\r
1781                 vuint32_t GN3:1;\r
1782                 vuint32_t GN4:1;\r
1783                 vuint32_t GN5:1;\r
1784                 vuint32_t GN6:1;\r
1785                 vuint32_t GN7:1;\r
1786                 vuint32_t GN8:1;\r
1787                 vuint32_t GN9:1;\r
1788                 vuint32_t GN10:1;\r
1789                 vuint32_t GN11:1;\r
1790                 vuint32_t GN12:1;\r
1791                 vuint32_t GN13:1;\r
1792                 vuint32_t GN14:1;\r
1793                 vuint32_t GN15:1;\r
1794                   vuint32_t:16;\r
1795             } B;\r
1796         } CP0NTF;\r
1797 \r
1798         uint32_t sema4_reserved4[1];\r
1799 \r
1800         union {\r
1801             vuint32_t R;\r
1802             struct {\r
1803                 vuint32_t GN0:1;\r
1804                 vuint32_t GN1:1;\r
1805                 vuint32_t GN2:1;\r
1806                 vuint32_t GN3:1;\r
1807                 vuint32_t GN4:1;\r
1808                 vuint32_t GN5:1;\r
1809                 vuint32_t GN6:1;\r
1810                 vuint32_t GN7:1;\r
1811                 vuint32_t GN8:1;\r
1812                 vuint32_t GN9:1;\r
1813                 vuint32_t GN10:1;\r
1814                 vuint32_t GN11:1;\r
1815                 vuint32_t GN12:1;\r
1816                 vuint32_t GN13:1;\r
1817                 vuint32_t GN14:1;\r
1818                 vuint32_t GN15:1;\r
1819                   vuint32_t:16;\r
1820             } B;\r
1821         } CP1NTF;\r
1822 \r
1823         uint32_t sema4_reserved5[29];\r
1824 \r
1825         union {\r
1826             vuint32_t R;\r
1827             struct {\r
1828                 vuint32_t:2;\r
1829                 vuint32_t RSTGSM:2;\r
1830                   vuint32_t:1;\r
1831                 vuint32_t RSTGMS:3;\r
1832                 vuint32_t RSTGTN:8;\r
1833                   vuint32_t:16;\r
1834             } B;\r
1835         } RSTGT;\r
1836 \r
1837         union {\r
1838             vuint32_t R;\r
1839             struct {\r
1840                 vuint32_t:2;\r
1841                 vuint32_t RSTNSM:2;\r
1842                   vuint32_t:1;\r
1843                 vuint32_t RSTNMS:3;\r
1844                 vuint32_t RSTNTN:8;\r
1845                   vuint32_t:16;\r
1846             } B;\r
1847         } RSTNTF;\r
1848     };\r
1849 /****************************************************************************/\r
1850 /*                     MODULE : SIU                                         */\r
1851 /****************************************************************************/\r
1852 CC_EXTENSION     struct SIU_tag {\r
1853         int32_t SIU_reserved0;\r
1854 \r
1855         union {                 /* MCU ID Register */\r
1856             vuint32_t R;\r
1857             struct {\r
1858                 vuint32_t PARTNUM:16;\r
1859                 vuint32_t PKG:4;\r
1860                 //vuint32_t MASKNUM:16;\r
1861                 vuint32_t MASKNUM:12;\r
1862                         } B;\r
1863         } MIDR;\r
1864 \r
1865         int32_t SIU_reserved1;\r
1866 \r
1867         union {                 /* Reset Status Register */\r
1868             vuint32_t R;\r
1869             struct {\r
1870                 vuint32_t PORS:1;\r
1871                 vuint32_t ERS:1;\r
1872                 vuint32_t LLRS:1;\r
1873                 vuint32_t LCRS:1;\r
1874                 vuint32_t WDRS:1;\r
1875                 vuint32_t CRS0:1;\r
1876                 vuint32_t CRS1:1;\r
1877                   vuint32_t:7;\r
1878                 vuint32_t SSRS:1;\r
1879                   vuint32_t:14;\r
1880                 vuint32_t BOOTCFG:2;\r
1881                   vuint32_t:1;\r
1882             } B;\r
1883         } RSR;\r
1884 \r
1885         union {                 /* System Reset Control Register */\r
1886             vuint32_t R;\r
1887             struct {\r
1888                 vuint32_t SSR:1;\r
1889                   vuint32_t:15;\r
1890                 vuint32_t CRE0:1;\r
1891                 vuint32_t CRE1:1;\r
1892                   vuint32_t:6;\r
1893                 vuint32_t SSRL:1;\r
1894                   vuint32_t:7;\r
1895             } B;\r
1896         } SRCR;\r
1897 \r
1898         union {                 /* External Interrupt Status Register */\r
1899             vuint32_t R;\r
1900             struct {\r
1901                 vuint32_t NMI0:1;\r
1902                 vuint32_t NMI1:1;\r
1903                   vuint32_t:14;\r
1904                 vuint32_t EIF15:1;\r
1905                 vuint32_t EIF14:1;\r
1906                 vuint32_t EIF13:1;\r
1907                 vuint32_t EIF12:1;\r
1908                 vuint32_t EIF11:1;\r
1909                 vuint32_t EIF10:1;\r
1910                 vuint32_t EIF9:1;\r
1911                 vuint32_t EIF8:1;\r
1912                 vuint32_t EIF7:1;\r
1913                 vuint32_t EIF6:1;\r
1914                 vuint32_t EIF5:1;\r
1915                 vuint32_t EIF4:1;\r
1916                 vuint32_t EIF3:1;\r
1917                 vuint32_t EIF2:1;\r
1918                 vuint32_t EIF1:1;\r
1919                 vuint32_t EIF0:1;\r
1920             } B;\r
1921         } EISR;\r
1922 \r
1923         union {                 /* DMA/Interrupt Request Enable Register */\r
1924             vuint32_t R;\r
1925             struct {\r
1926                 vuint32_t NRE0:1;\r
1927                 vuint32_t NRE1:1;\r
1928                   vuint32_t:14;\r
1929                 vuint32_t EIRE15:1;\r
1930                 vuint32_t EIRE14:1;\r
1931                 vuint32_t EIRE13:1;\r
1932                 vuint32_t EIRE12:1;\r
1933                 vuint32_t EIRE11:1;\r
1934                 vuint32_t EIRE10:1;\r
1935                 vuint32_t EIRE9:1;\r
1936                 vuint32_t EIRE8:1;\r
1937                 vuint32_t EIRE7:1;\r
1938                 vuint32_t EIRE6:1;\r
1939                 vuint32_t EIRE5:1;\r
1940                 vuint32_t EIRE4:1;\r
1941                 vuint32_t EIRE3:1;\r
1942                 vuint32_t EIRE2:1;\r
1943                 vuint32_t EIRE1:1;\r
1944                 vuint32_t EIRE0:1;\r
1945             } B;\r
1946         } DIRER;\r
1947 \r
1948         union {                 /* DMA/Interrupt Select Register */\r
1949             vuint32_t R;\r
1950             struct {\r
1951                 vuint32_t:28;\r
1952                 vuint32_t DIRS3:1;\r
1953                 vuint32_t DIRS2:1;\r
1954                 vuint32_t DIRS1:1;\r
1955                 vuint32_t DIRS0:1;\r
1956             } B;\r
1957         } DIRSR;\r
1958 \r
1959         union {                 /* Overrun Status Register */\r
1960             vuint32_t R;\r
1961             struct {\r
1962                 vuint32_t:16;\r
1963                 vuint32_t OVF15:1;\r
1964                 vuint32_t OVF14:1;\r
1965                 vuint32_t OVF13:1;\r
1966                 vuint32_t OVF12:1;\r
1967                 vuint32_t OVF11:1;\r
1968                 vuint32_t OVF10:1;\r
1969                 vuint32_t OVF9:1;\r
1970                 vuint32_t OVF8:1;\r
1971                 vuint32_t OVF7:1;\r
1972                 vuint32_t OVF6:1;\r
1973                 vuint32_t OVF5:1;\r
1974                 vuint32_t OVF4:1;\r
1975                 vuint32_t OVF3:1;\r
1976                 vuint32_t OVF2:1;\r
1977                 vuint32_t OVF1:1;\r
1978                 vuint32_t OVF0:1;\r
1979             } B;\r
1980         } OSR;\r
1981 \r
1982         union {                 /* Overrun Request Enable Register */\r
1983             vuint32_t R;\r
1984             struct {\r
1985                 vuint32_t:16;\r
1986                 vuint32_t ORE15:1;\r
1987                 vuint32_t ORE14:1;\r
1988                 vuint32_t ORE13:1;\r
1989                 vuint32_t ORE12:1;\r
1990                 vuint32_t ORE11:1;\r
1991                 vuint32_t ORE10:1;\r
1992                 vuint32_t ORE9:1;\r
1993                 vuint32_t ORE8:1;\r
1994                 vuint32_t ORE7:1;\r
1995                 vuint32_t ORE6:1;\r
1996                 vuint32_t ORE5:1;\r
1997                 vuint32_t ORE4:1;\r
1998                 vuint32_t ORE3:1;\r
1999                 vuint32_t ORE2:1;\r
2000                 vuint32_t ORE1:1;\r
2001                 vuint32_t ORE0:1;\r
2002             } B;\r
2003         } ORER;\r
2004 \r
2005         union {                 /* External IRQ Rising-Edge Event Enable Register */\r
2006             vuint32_t R;\r
2007             struct {\r
2008                 vuint32_t NREE0:1;\r
2009                 vuint32_t NREE1:1;\r
2010                   vuint32_t:14;\r
2011                 vuint32_t IREE15:1;\r
2012                 vuint32_t IREE14:1;\r
2013                 vuint32_t IREE13:1;\r
2014                 vuint32_t IREE12:1;\r
2015                 vuint32_t IREE11:1;\r
2016                 vuint32_t IREE10:1;\r
2017                 vuint32_t IREE9:1;\r
2018                 vuint32_t IREE8:1;\r
2019                 vuint32_t IREE7:1;\r
2020                 vuint32_t IREE6:1;\r
2021                 vuint32_t IREE5:1;\r
2022                 vuint32_t IREE4:1;\r
2023                 vuint32_t IREE3:1;\r
2024                 vuint32_t IREE2:1;\r
2025                 vuint32_t IREE1:1;\r
2026                 vuint32_t IREE0:1;\r
2027             } B;\r
2028         } IREER;\r
2029 \r
2030         union {                 /* External IRQ Falling-Edge Event Enable Register */\r
2031             vuint32_t R;\r
2032             struct {\r
2033                 vuint32_t NFEE0:1;\r
2034                 vuint32_t NFEE1:1;\r
2035                   vuint32_t:14;\r
2036                 vuint32_t IFEE15:1;\r
2037                 vuint32_t IFEE14:1;\r
2038                 vuint32_t IFEE13:1;\r
2039                 vuint32_t IFEE12:1;\r
2040                 vuint32_t IFEE11:1;\r
2041                 vuint32_t IFEE10:1;\r
2042                 vuint32_t IFEE9:1;\r
2043                 vuint32_t IFEE8:1;\r
2044                 vuint32_t IFEE7:1;\r
2045                 vuint32_t IFEE6:1;\r
2046                 vuint32_t IFEE5:1;\r
2047                 vuint32_t IFEE4:1;\r
2048                 vuint32_t IFEE3:1;\r
2049                 vuint32_t IFEE2:1;\r
2050                 vuint32_t IFEE1:1;\r
2051                 vuint32_t IFEE0:1;\r
2052             } B;\r
2053         } IFEER;\r
2054 \r
2055         union {                 /* External IRQ Digital Filter Register */\r
2056             vuint32_t R;\r
2057             struct {\r
2058                 vuint32_t:28;\r
2059                 vuint32_t DFL:4;\r
2060             } B;\r
2061         } IDFR;\r
2062 \r
2063         union {                 /* External IRQ Filtered Input Register */\r
2064             vuint32_t R;\r
2065             struct {\r
2066                 vuint32_t:16;\r
2067                 vuint32_t FI15:1;\r
2068                 vuint32_t FI14:1;\r
2069                 vuint32_t FI13:1;\r
2070                 vuint32_t FI12:1;\r
2071                 vuint32_t FI11:1;\r
2072                 vuint32_t FI10:1;\r
2073                 vuint32_t FI9:1;\r
2074                 vuint32_t FI8:1;\r
2075                 vuint32_t FI7:1;\r
2076                 vuint32_t FI6:1;\r
2077                 vuint32_t FI5:1;\r
2078                 vuint32_t FI4:1;\r
2079                 vuint32_t FI3:1;\r
2080                 vuint32_t FI2:1;\r
2081                 vuint32_t FI1:1;\r
2082                 vuint32_t FI0:1;\r
2083             } B;\r
2084         } IFIR;\r
2085 \r
2086         int32_t SIU_reserved2;\r
2087                 int32_t SIU_reserved11;\r
2088 \r
2089         union {                 /* Pad Configuration Registers */\r
2090             vuint16_t R;\r
2091             struct {\r
2092                 vuint16_t:4;\r
2093                 vuint16_t PA:2;\r
2094                 vuint16_t OBE:1;\r
2095                 vuint16_t IBE:1;\r
2096                   vuint16_t:2;\r
2097                 vuint16_t ODE:1;\r
2098                 vuint16_t HYS:1;\r
2099                 vuint16_t SEC:2;\r
2100                 vuint16_t WPE:1;\r
2101                 vuint16_t WPS:1;\r
2102             } B;\r
2103         } PCR[146];\r
2104 \r
2105         int32_t SIU_reserved3[295];\r
2106 \r
2107         union {                 /* GPIO Pin Data Output Registers */\r
2108             vuint8_t R;\r
2109             struct {\r
2110                 vuint8_t:7;\r
2111                 vuint8_t PDO:1;\r
2112             } B;\r
2113         } GPDO[146];\r
2114 \r
2115         int32_t SIU_reserved4[91];\r
2116 \r
2117         union {                 /* GPIO Pin Data Input Registers */\r
2118             vuint8_t R;\r
2119             struct {\r
2120                 vuint8_t:7;\r
2121                 vuint8_t PDI:1;\r
2122             } B;\r
2123         } GPDI[146];\r
2124 \r
2125         int32_t SIU_reserved5[27];\r
2126 \r
2127         union {                 /* IMUX Register */\r
2128             vuint32_t R;\r
2129             struct {\r
2130                 vuint32_t TSEL3:2;\r
2131                 vuint32_t TSEL2:2;\r
2132                 vuint32_t TSEL1:2;\r
2133                 vuint32_t TSEL0:2;\r
2134                   vuint32_t:24;\r
2135             } B;\r
2136         } ISEL0;\r
2137 \r
2138         union {                 /* IMUX Register */\r
2139             vuint32_t R;\r
2140             struct {\r
2141                 vuint32_t ESEL15:2;\r
2142                 vuint32_t ESEL14:2;\r
2143                 vuint32_t ESEL13:2;\r
2144                 vuint32_t ESEL12:2;\r
2145                 vuint32_t ESEL11:2;\r
2146                 vuint32_t ESEL10:2;\r
2147                 vuint32_t ESEL9:2;\r
2148                 vuint32_t ESEL8:2;\r
2149                 vuint32_t ESEL7:2;\r
2150                 vuint32_t ESEL6:2;\r
2151                 vuint32_t ESEL5:2;\r
2152                 vuint32_t ESEL4:2;\r
2153                 vuint32_t ESEL3:2;\r
2154                 vuint32_t ESEL2:2;\r
2155                 vuint32_t ESEL1:2;\r
2156                 vuint32_t ESEL0:2;\r
2157             } B;\r
2158         } ISEL1;\r
2159 \r
2160         union {                 /* IMUX Register */\r
2161             vuint32_t R;\r
2162             struct {\r
2163                 vuint32_t SELEMIOS15:2;\r
2164                 vuint32_t SELEMIOS14:2;\r
2165                 vuint32_t SELEMIOS13:2;\r
2166                 vuint32_t SELEMIOS12:2;\r
2167                 vuint32_t SELEMIOS11:2;\r
2168                 vuint32_t SELEMIOS10:2;\r
2169                 vuint32_t SELEMIOS9:2;\r
2170                 vuint32_t SELEMIOS8:2;\r
2171                 vuint32_t SELEMIOS7:2;\r
2172                 vuint32_t SELEMIOS6:2;\r
2173                 vuint32_t SELEMIOS5:2;\r
2174                 vuint32_t SELEMIOS4:2;\r
2175                 vuint32_t SELEMIOS3:2;\r
2176                 vuint32_t SELEMIOS2:2;\r
2177                 vuint32_t SELEMIOS1:2;\r
2178                 vuint32_t SELEMIOS0:2;\r
2179             } B;\r
2180         } ISEL2;\r
2181 \r
2182         int32_t SIU_reserved6[29];\r
2183 \r
2184         union {                 /* Chip Configuration Register Register */\r
2185             vuint32_t R;\r
2186             struct {\r
2187                 vuint32_t:14;\r
2188                 vuint32_t MATCH:1;\r
2189                 vuint32_t DISNEX:1;\r
2190                   vuint32_t:16;\r
2191             } B;\r
2192         } CCR;\r
2193 \r
2194         union {                 /* External Clock Configuration Register Register */\r
2195             vuint32_t R;\r
2196             struct {\r
2197                 vuint32_t:30;\r
2198                 vuint32_t EBDF:2;\r
2199             } B;\r
2200         } ECCR;\r
2201 \r
2202         union {                 /* Compare A High Register */\r
2203             vuint32_t R;\r
2204         } CMPAH;\r
2205 \r
2206         union {                 /* Compare A Low Register */\r
2207             vuint32_t R;\r
2208         } CMPAL;\r
2209 \r
2210         union {                 /* Compare B High Register */\r
2211             vuint32_t R;\r
2212         } CMPBH;\r
2213 \r
2214         union {                 /* Compare B Low Register */\r
2215             vuint32_t R;\r
2216         } CMPBL;\r
2217 \r
2218         int32_t SIU_reserved7[2];\r
2219 \r
2220         union {                 /* System CLock Register */\r
2221             vuint32_t R;\r
2222             struct {\r
2223                 vuint32_t SYSCLKSEL:2;\r
2224                 vuint32_t SYSCLKDIV:2;\r
2225                 vuint32_t SWTCLKSEL:1;\r
2226                   vuint32_t:11;\r
2227                 vuint32_t LPCLKDIV7:2;\r
2228                 vuint32_t LPCLKDIV6:2;\r
2229                 vuint32_t LPCLKDIV5:2;\r
2230                 vuint32_t LPCLKDIV4:2;\r
2231                 vuint32_t LPCLKDIV3:2;\r
2232                 vuint32_t LPCLKDIV2:2;\r
2233                 vuint32_t LPCLKDIV1:2;\r
2234                 vuint32_t LPCLKDIV0:2;\r
2235             } B;\r
2236         } SYSCLK;\r
2237 \r
2238         union {                 /* Halt Register */\r
2239             vuint32_t R;\r
2240         } HLT;\r
2241 \r
2242         union {                 /* Halt Acknowledge Register */\r
2243             vuint32_t R;\r
2244         } HLTACK;\r
2245 \r
2246         int32_t SIU_reserved8[149];\r
2247 \r
2248         union {                 /* Parallel GPIO Pin Data Output Register */\r
2249             vuint32_t R;\r
2250             struct {\r
2251                 vuint32_t PA:16;\r
2252                 vuint32_t PB:16;\r
2253             } B;\r
2254         } PGPDO0;\r
2255 \r
2256         union {                 /* Parallel GPIO Pin Data Output Register */\r
2257             vuint32_t R;\r
2258             struct {\r
2259                 vuint32_t PC:16;\r
2260                 vuint32_t PD:16;\r
2261             } B;\r
2262         } PGPDO1;\r
2263 \r
2264         union {                 /* Parallel GPIO Pin Data Output Register */\r
2265             vuint32_t R;\r
2266             struct {\r
2267                 vuint32_t PE:16;\r
2268                 vuint32_t PF:16;\r
2269             } B;\r
2270         } PGPDO2;\r
2271 \r
2272         union {                 /* Parallel GPIO Pin Data Output Register */\r
2273             vuint32_t R;\r
2274             struct {\r
2275                 vuint32_t PG:16;\r
2276                 vuint32_t PH:16;\r
2277             } B;\r
2278         } PGPDO3;\r
2279 \r
2280         union {                 /* Parallel GPIO Pin Data Output Register */\r
2281             vuint32_t R;\r
2282             struct {\r
2283                 vuint32_t PJ:16;\r
2284                 vuint32_t PK:2;\r
2285                   vuint32_t:14;\r
2286             } B;\r
2287         } PGPDO4;\r
2288 \r
2289         int32_t SIU_reserved9[11];\r
2290 \r
2291         union {                 /* Parallel GPIO Pin Data Input Register */\r
2292             vuint32_t R;\r
2293             struct {\r
2294                 vuint32_t PA:16;\r
2295                 vuint32_t PB:16;\r
2296             } B;\r
2297         } PGPDI0;\r
2298 \r
2299         union {                 /* Parallel GPIO Pin Data Input Register */\r
2300             vuint32_t R;\r
2301             struct {\r
2302                 vuint32_t PC:16;\r
2303                 vuint32_t PD:16;\r
2304             } B;\r
2305         } PGPDI1;\r
2306 \r
2307         union {                 /* Parallel GPIO Pin Data Input Register */\r
2308             vuint32_t R;\r
2309             struct {\r
2310                 vuint32_t PE:16;\r
2311                 vuint32_t PF:16;\r
2312             } B;\r
2313         } PGPDI2;\r
2314 \r
2315         union {                 /* Parallel GPIO Pin Data Input Register */\r
2316             vuint32_t R;\r
2317             struct {\r
2318                 vuint32_t PG:16;\r
2319                 vuint32_t PH:16;\r
2320             } B;\r
2321         } PGPDI3;\r
2322 \r
2323         union {                 /* Parallel GPIO Pin Data Input Register */\r
2324             vuint32_t R;\r
2325             struct {\r
2326                 vuint32_t PJ:16;\r
2327                 vuint32_t PK:2;\r
2328                   vuint32_t:14;\r
2329             } B;\r
2330         } PGPDI4;\r
2331 \r
2332         int32_t SIU_reserved10[11];\r
2333 \r
2334         union {                 /* Masked Parallel GPIO Pin Data Input Register */\r
2335             vuint32_t R;\r
2336             struct {\r
2337                 vuint32_t PA_MASK:16;\r
2338                 vuint32_t PA:16;\r
2339             } B;\r
2340         } MPGPDO0;\r
2341 \r
2342         union {                 /* Masked Parallel GPIO Pin Data Input Register */\r
2343             vuint32_t R;\r
2344             struct {\r
2345                 vuint32_t PB_MASK:16;\r
2346                 vuint32_t PB:16;\r
2347             } B;\r
2348         } MPGPDO1;\r
2349 \r
2350         union {                 /* Masked Parallel GPIO Pin Data Input Register */\r
2351             vuint32_t R;\r
2352             struct {\r
2353                 vuint32_t PC_MASK:16;\r
2354                 vuint32_t PC:16;\r
2355             } B;\r
2356         } MPGPDO2;\r
2357 \r
2358         union {                 /* Masked Parallel GPIO Pin Data Input Register */\r
2359             vuint32_t R;\r
2360             struct {\r
2361                 vuint32_t PD_MASK:16;\r
2362                 vuint32_t PD:16;\r
2363             } B;\r
2364         } MPGPDO3;\r
2365 \r
2366         union {                 /* Masked Parallel GPIO Pin Data Input Register */\r
2367             vuint32_t R;\r
2368             struct {\r
2369                 vuint32_t PE_MASK:16;\r
2370                 vuint32_t PE:16;\r
2371             } B;\r
2372         } MPGPDO4;\r
2373 \r
2374         union {                 /* Masked Parallel GPIO Pin Data Input Register */\r
2375             vuint32_t R;\r
2376             struct {\r
2377                 vuint32_t PF_MASK:16;\r
2378                 vuint32_t PF:16;\r
2379             } B;\r
2380         } MPGPDO5;\r
2381 \r
2382         union {                 /* Masked Parallel GPIO Pin Data Input Register */\r
2383             vuint32_t R;\r
2384             struct {\r
2385                 vuint32_t PG_MASK:16;\r
2386                 vuint32_t PG:16;\r
2387             } B;\r
2388         } MPGPDO6;\r
2389 \r
2390         union {                 /* Masked Parallel GPIO Pin Data Input Register */\r
2391             vuint32_t R;\r
2392             struct {\r
2393                 vuint32_t PH_MASK:16;\r
2394                 vuint32_t PH:16;\r
2395             } B;\r
2396         } MPGPDO7;\r
2397 \r
2398         union {                 /* Masked Parallel GPIO Pin Data Input Register */\r
2399             vuint32_t R;\r
2400             struct {\r
2401                 vuint32_t PJ_MASK:16;\r
2402                 vuint32_t PJ:16;\r
2403             } B;\r
2404         } MPGPDO8;\r
2405 \r
2406     };\r
2407 /****************************************************************************/\r
2408 /*                          MODULE : FlexRay                                */\r
2409 /****************************************************************************/\r
2410 \r
2411 CC_EXTENSION     typedef union uMVR {\r
2412         vuint16_t R;\r
2413         struct {\r
2414             vuint16_t CHIVER:8; /* CHI Version Number */\r
2415             vuint16_t PEVER:8;  /* PE Version Number */\r
2416         } B;\r
2417     } MVR_t;\r
2418 \r
2419 CC_EXTENSION     typedef union uMCR {\r
2420         vuint16_t R;\r
2421         struct {\r
2422             vuint16_t MEN:1;    /* module enable */\r
2423               vuint16_t:1;\r
2424             vuint16_t SCMD:1;   /* single channel mode */\r
2425             vuint16_t CHB:1;    /* channel B enable */\r
2426             vuint16_t CHA:1;    /* channel A enable */\r
2427             vuint16_t SFFE:1;   /* synchronization frame filter enable */\r
2428               vuint16_t:5;\r
2429             vuint16_t CLKSEL:1; /* protocol engine clock source select */\r
2430             vuint16_t PRESCALE:3;       /* protocol engine clock prescaler */\r
2431               vuint16_t:1;\r
2432         } B;\r
2433     } MCR_t;\r
2434 CC_EXTENSION     typedef union uSTBSCR {\r
2435         vuint16_t R;\r
2436         struct {\r
2437             vuint16_t WMD:1;    /* write mode */\r
2438             vuint16_t STBSSEL:7;        /* strobe signal select */\r
2439               vuint16_t:3;\r
2440             vuint16_t ENB:1;    /* strobe signal enable */\r
2441               vuint16_t:2;\r
2442             vuint16_t STBPSEL:2;        /* strobe port select */\r
2443         } B;\r
2444     } STBSCR_t;\r
2445 CC_EXTENSION     typedef union uSTBPCR {\r
2446         vuint16_t R;\r
2447         struct {\r
2448             vuint16_t:12;\r
2449             vuint16_t STB3EN:1; /* strobe port enable */\r
2450             vuint16_t STB2EN:1; /* strobe port enable */\r
2451             vuint16_t STB1EN:1; /* strobe port enable */\r
2452             vuint16_t STB0EN:1; /* strobe port enable */\r
2453         } B;\r
2454     } STBPCR_t;\r
2455 \r
2456 CC_EXTENSION     typedef union uMBDSR {\r
2457         vuint16_t R;\r
2458         struct {\r
2459             vuint16_t:1;\r
2460             vuint16_t MBSEG2DS:7;       /* message buffer segment 2 data size */\r
2461               vuint16_t:1;\r
2462             vuint16_t MBSEG1DS:7;       /* message buffer segment 1 data size */\r
2463         } B;\r
2464     } MBDSR_t;\r
2465 \r
2466 CC_EXTENSION     typedef union uMBSSUTR {\r
2467         vuint16_t R;\r
2468         struct {\r
2469 \r
2470             vuint16_t:2;\r
2471             vuint16_t LAST_MB_SEG1:6;   /* last message buffer control register for message buffer segment 1 */\r
2472               vuint16_t:2;\r
2473             vuint16_t LAST_MB_UTIL:6;   /* last message buffer utilized */\r
2474         } B;\r
2475     } MBSSUTR_t;\r
2476 \r
2477 CC_EXTENSION     typedef union uPOCR {\r
2478         vuint16_t R;\r
2479         vuint8_t byte[2];\r
2480         struct {\r
2481             vuint16_t WME:1;    /* write mode external correction command */\r
2482               vuint16_t:3;\r
2483             vuint16_t EOC_AP:2; /* external offset correction application */\r
2484             vuint16_t ERC_AP:2; /* external rate correction application */\r
2485             vuint16_t BSY:1;    /* command write busy / write mode command */\r
2486               vuint16_t:3;\r
2487             vuint16_t POCCMD:4; /* protocol command */\r
2488         } B;\r
2489     } POCR_t;\r
2490 /* protocol commands */\r
2491 CC_EXTENSION     typedef union uGIFER {\r
2492         vuint16_t R;\r
2493         struct {\r
2494             vuint16_t MIF:1;    /* module interrupt flag */\r
2495             vuint16_t PRIF:1;   /* protocol interrupt flag */\r
2496             vuint16_t CHIF:1;   /* CHI interrupt flag */\r
2497             vuint16_t WKUPIF:1; /* wakeup interrupt flag */\r
2498             vuint16_t FNEBIF:1; /* receive FIFO channel B not empty interrupt flag */\r
2499             vuint16_t FNEAIF:1; /* receive FIFO channel A not empty interrupt flag */\r
2500             vuint16_t RBIF:1;   /* receive message buffer interrupt flag */\r
2501             vuint16_t TBIF:1;   /* transmit buffer interrupt flag */\r
2502             vuint16_t MIE:1;    /* module interrupt enable */\r
2503             vuint16_t PRIE:1;   /* protocol interrupt enable */\r
2504             vuint16_t CHIE:1;   /* CHI interrupt enable */\r
2505             vuint16_t WKUPIE:1; /* wakeup interrupt enable */\r
2506             vuint16_t FNEBIE:1; /* receive FIFO channel B not empty interrupt enable */\r
2507             vuint16_t FNEAIE:1; /* receive FIFO channel A not empty interrupt enable */\r
2508             vuint16_t RBIE:1;   /* receive message buffer interrupt enable */\r
2509             vuint16_t TBIE:1;   /* transmit buffer interrupt enable */\r
2510         } B;\r
2511     } GIFER_t;\r
2512 \r
2513 CC_EXTENSION     typedef union uPIFR0 {\r
2514         vuint16_t R;\r
2515         struct {\r
2516             vuint16_t FATLIF:1; /* fatal protocol error interrupt flag */\r
2517             vuint16_t INTLIF:1; /* internal protocol error interrupt flag */\r
2518             vuint16_t ILCFIF:1; /* illegal protocol configuration flag */\r
2519             vuint16_t CSAIF:1;  /* cold start abort interrupt flag */\r
2520             vuint16_t MRCIF:1;  /* missing rate correctio interrupt flag */\r
2521             vuint16_t MOCIF:1;  /* missing offset correctio interrupt flag */\r
2522             vuint16_t CCLIF:1;  /* clock correction limit reached interrupt flag */\r
2523             vuint16_t MXSIF:1;  /* max sync frames detected interrupt flag */\r
2524             vuint16_t MTXIF:1;  /* media access test symbol received flag */\r
2525             vuint16_t LTXBIF:1; /* pdLatestTx violation on channel B interrupt flag */\r
2526             vuint16_t LTXAIF:1; /* pdLatestTx violation on channel A interrupt flag */\r
2527             vuint16_t TBVBIF:1; /* Transmission across boundary on channel B Interrupt Flag */\r
2528             vuint16_t TBVAIF:1; /* Transmission across boundary on channel A Interrupt Flag */\r
2529             vuint16_t TI2IF:1;  /* timer 2 expired interrupt flag */\r
2530             vuint16_t TI1IF:1;  /* timer 1 expired interrupt flag */\r
2531             vuint16_t CYSIF:1;  /* cycle start interrupt flag */\r
2532         } B;\r
2533     } PIFR0_t;\r
2534 \r
2535     CC_EXTENSION     typedef union uPIFR1 {\r
2536         vuint16_t R;\r
2537         struct {\r
2538             vuint16_t EMCIF:1;  /* error mode changed interrupt flag */\r
2539             vuint16_t IPCIF:1;  /* illegal protocol command interrupt flag */\r
2540             vuint16_t PECFIF:1; /* protocol engine communication failure interrupt flag */\r
2541             vuint16_t PSCIF:1;  /* Protocol State Changed Interrupt Flag */\r
2542             vuint16_t SSI3IF:1; /* slot status counter incremented interrupt flag */\r
2543             vuint16_t SSI2IF:1; /* slot status counter incremented interrupt flag */\r
2544             vuint16_t SSI1IF:1; /* slot status counter incremented interrupt flag */\r
2545             vuint16_t SSI0IF:1; /* slot status counter incremented interrupt flag */\r
2546               vuint16_t:2;\r
2547             vuint16_t EVTIF:1;  /* even cycle table written interrupt flag */\r
2548             vuint16_t ODTIF:1;  /* odd cycle table written interrupt flag */\r
2549               vuint16_t:4;\r
2550         } B;\r
2551     } PIFR1_t;\r
2552 CC_EXTENSION     typedef union uPIER0 {\r
2553         vuint16_t R;\r
2554         struct {\r
2555             vuint16_t FATLIE:1; /* fatal protocol error interrupt enable */\r
2556             vuint16_t INTLIE:1; /* internal protocol error interrupt interrupt enable  */\r
2557             vuint16_t ILCFIE:1; /* illegal protocol configuration interrupt enable */\r
2558             vuint16_t CSAIE:1;  /* cold start abort interrupt enable */\r
2559             vuint16_t MRCIE:1;  /* missing rate correctio interrupt enable */\r
2560             vuint16_t MOCIE:1;  /* missing offset correctio interrupt enable */\r
2561             vuint16_t CCLIE:1;  /* clock correction limit reached interrupt enable */\r
2562             vuint16_t MXSIE:1;  /* max sync frames detected interrupt enable */\r
2563             vuint16_t MTXIE:1;  /* media access test symbol received interrupt enable */\r
2564             vuint16_t LTXBIE:1; /* pdLatestTx violation on channel B interrupt enable */\r
2565             vuint16_t LTXAIE:1; /* pdLatestTx violation on channel A interrupt enable */\r
2566             vuint16_t TBVBIE:1; /* Transmission across boundary on channel B Interrupt enable */\r
2567             vuint16_t TBVAIE:1; /* Transmission across boundary on channel A Interrupt enable */\r
2568             vuint16_t TI2IE:1;  /* timer 2 expired interrupt enable */\r
2569             vuint16_t TI1IE:1;  /* timer 1 expired interrupt enable */\r
2570             vuint16_t CYSIE:1;  /* cycle start interrupt enable */\r
2571         } B;\r
2572     } PIER0_t;\r
2573 CC_EXTENSION     typedef union uPIER1 {\r
2574         vuint16_t R;\r
2575         struct {\r
2576             vuint16_t EMCIE:1;  /* error mode changed interrupt enable */\r
2577             vuint16_t IPCIE:1;  /* illegal protocol command interrupt enable */\r
2578             vuint16_t PECFIE:1; /* protocol engine communication failure interrupt enable */\r
2579             vuint16_t PSCIE:1;  /* Protocol State Changed Interrupt enable */\r
2580             vuint16_t SSI3IE:1; /* slot status counter incremented interrupt enable */\r
2581             vuint16_t SSI2IE:1; /* slot status counter incremented interrupt enable */\r
2582             vuint16_t SSI1IE:1; /* slot status counter incremented interrupt enable */\r
2583             vuint16_t SSI0IE:1; /* slot status counter incremented interrupt enable */\r
2584               vuint16_t:2;\r
2585             vuint16_t EVTIE:1;  /* even cycle table written interrupt enable */\r
2586             vuint16_t ODTIE:1;  /* odd cycle table written interrupt enable */\r
2587               vuint16_t:4;\r
2588         } B;\r
2589     } PIER1_t;\r
2590     CC_EXTENSION typedef union uCHIERFR {\r
2591         vuint16_t R;\r
2592         struct {\r
2593             vuint16_t FRLBEF:1; /* flame lost channel B error flag */\r
2594             vuint16_t FRLAEF:1; /* frame lost channel A error flag */\r
2595             vuint16_t PCMIEF:1; /* command ignored error flag */\r
2596             vuint16_t FOVBEF:1; /* receive FIFO overrun channel B error flag */\r
2597             vuint16_t FOVAEF:1; /* receive FIFO overrun channel A error flag */\r
2598             vuint16_t MSBEF:1;  /* message buffer search error flag */\r
2599             vuint16_t MBUEF:1;  /* message buffer utilization error flag */\r
2600             vuint16_t LCKEF:1;  /* lock error flag */\r
2601             vuint16_t DBLEF:1;  /* double transmit message buffer lock error flag */\r
2602             vuint16_t SBCFEF:1; /* system bus communication failure error flag */\r
2603             vuint16_t FIDEF:1;  /* frame ID error flag */\r
2604             vuint16_t DPLEF:1;  /* dynamic payload length error flag */\r
2605             vuint16_t SPLEF:1;  /* static payload length error flag */\r
2606             vuint16_t NMLEF:1;  /* network management length error flag */\r
2607             vuint16_t NMFEF:1;  /* network management frame error flag */\r
2608             vuint16_t ILSAEF:1; /* illegal access error flag */\r
2609         } B;\r
2610     } CHIERFR_t;\r
2611     CC_EXTENSION typedef union uMBIVEC {\r
2612         vuint16_t R;\r
2613         struct {\r
2614 \r
2615             vuint16_t:2;\r
2616             vuint16_t TBIVEC:6; /* transmit buffer interrupt vector */\r
2617               vuint16_t:2;\r
2618             vuint16_t RBIVEC:6; /* receive buffer interrupt vector */\r
2619         } B;\r
2620     } MBIVEC_t;\r
2621 \r
2622     CC_EXTENSION typedef union uPSR0 {\r
2623         vuint16_t R;\r
2624         struct {\r
2625             vuint16_t ERRMODE:2;        /* error mode */\r
2626             vuint16_t SLOTMODE:2;       /* slot mode */\r
2627               vuint16_t:1;\r
2628             vuint16_t PROTSTATE:3;      /* protocol state */\r
2629             vuint16_t SUBSTATE:4;       /* protocol sub state */\r
2630               vuint16_t:1;\r
2631             vuint16_t WAKEUPSTATUS:3;   /* wakeup status */\r
2632         } B;\r
2633     } PSR0_t;\r
2634 \r
2635 /* protocol states */\r
2636 /* protocol sub-states */\r
2637 /* wakeup status */\r
2638     CC_EXTENSION typedef union uPSR1 {\r
2639         vuint16_t R;\r
2640         struct {\r
2641             vuint16_t CSAA:1;   /* cold start attempt abort flag */\r
2642             vuint16_t SCP:1;    /* cold start path */\r
2643               vuint16_t:1;\r
2644             vuint16_t REMCSAT:5;        /* remanining coldstart attempts */\r
2645             vuint16_t CPN:1;    /* cold start noise path */\r
2646             vuint16_t HHR:1;    /* host halt request pending */\r
2647             vuint16_t FRZ:1;    /* freeze occured */\r
2648             vuint16_t APTAC:5;  /* allow passive to active counter */\r
2649         } B;\r
2650     } PSR1_t;\r
2651     CC_EXTENSION typedef union uPSR2 {\r
2652         vuint16_t R;\r
2653         struct {\r
2654             vuint16_t NBVB:1;   /* NIT boundary violation on channel B */\r
2655             vuint16_t NSEB:1;   /* NIT syntax error on channel B */\r
2656             vuint16_t STCB:1;   /* symbol window transmit conflict on channel B */\r
2657             vuint16_t SBVB:1;   /* symbol window boundary violation on channel B */\r
2658             vuint16_t SSEB:1;   /* symbol window syntax error on channel B */\r
2659             vuint16_t MTB:1;    /* media access test symbol MTS received on channel B */\r
2660             vuint16_t NBVA:1;   /* NIT boundary violation on channel A */\r
2661             vuint16_t NSEA:1;   /* NIT syntax error on channel A */\r
2662             vuint16_t STCA:1;   /* symbol window transmit conflict on channel A */\r
2663             vuint16_t SBVA:1;   /* symbol window boundary violation on channel A */\r
2664             vuint16_t SSEA:1;   /* symbol window syntax error on channel A */\r
2665             vuint16_t MTA:1;    /* media access test symbol MTS received on channel A */\r
2666             vuint16_t CLKCORRFAILCNT:4; /* clock correction failed counter */\r
2667         } B;\r
2668     } PSR2_t;\r
2669     CC_EXTENSION typedef union uPSR3 {\r
2670         vuint16_t R;\r
2671         struct {\r
2672             vuint16_t:2;\r
2673             vuint16_t WUB:1;    /* wakeup symbol received on channel B */\r
2674             vuint16_t ABVB:1;   /* aggregated boundary violation on channel B */\r
2675             vuint16_t AACB:1;   /* aggregated additional communication on channel B */\r
2676             vuint16_t ACEB:1;   /* aggregated content error on channel B */\r
2677             vuint16_t ASEB:1;   /* aggregated syntax error on channel B */\r
2678             vuint16_t AVFB:1;   /* aggregated valid frame on channel B */\r
2679               vuint16_t:2;\r
2680             vuint16_t WUA:1;    /* wakeup symbol received on channel A */\r
2681             vuint16_t ABVA:1;   /* aggregated boundary violation on channel A */\r
2682             vuint16_t AACA:1;   /* aggregated additional communication on channel A */\r
2683             vuint16_t ACEA:1;   /* aggregated content error on channel A */\r
2684             vuint16_t ASEA:1;   /* aggregated syntax error on channel A */\r
2685             vuint16_t AVFA:1;   /* aggregated valid frame on channel A */\r
2686         } B;\r
2687     } PSR3_t;\r
2688     CC_EXTENSION typedef union uCIFRR {\r
2689         vuint16_t R;\r
2690         struct {\r
2691             vuint16_t:8;\r
2692             vuint16_t MIFR:1;   /* module interrupt flag */\r
2693             vuint16_t PRIFR:1;  /* protocol interrupt flag */\r
2694             vuint16_t CHIFR:1;  /* CHI interrupt flag */\r
2695             vuint16_t WUPIFR:1; /* wakeup interrupt flag */\r
2696             vuint16_t FNEBIFR:1;        /* receive fifo channel B no empty interrupt flag */\r
2697             vuint16_t FNEAIFR:1;        /* receive fifo channel A no empty interrupt flag */\r
2698             vuint16_t RBIFR:1;  /* receive message buffer interrupt flag */\r
2699             vuint16_t TBIFR:1;  /* transmit buffer interrupt flag */\r
2700         } B;\r
2701     } CIFRR_t;\r
2702     CC_EXTENSION typedef union uSFCNTR {\r
2703         vuint16_t R;\r
2704         struct {\r
2705             vuint16_t SFEVB:4;  /* sync frames channel B, even cycle */\r
2706             vuint16_t SFEVA:4;  /* sync frames channel A, even cycle */\r
2707             vuint16_t SFODB:4;  /* sync frames channel B, odd cycle */\r
2708             vuint16_t SFODA:4;  /* sync frames channel A, odd cycle */\r
2709         } B;\r
2710     } SFCNTR_t;\r
2711 \r
2712     CC_EXTENSION typedef union uSFTCCSR {\r
2713         vuint16_t R;\r
2714         struct {\r
2715             vuint16_t ELKT:1;   /* even cycle tables lock and unlock trigger */\r
2716             vuint16_t OLKT:1;   /* odd cycle tables lock and unlock trigger */\r
2717             vuint16_t CYCNUM:6; /* cycle number */\r
2718             vuint16_t ELKS:1;   /* even cycle tables lock status */\r
2719             vuint16_t OLKS:1;   /* odd cycle tables lock status */\r
2720             vuint16_t EVAL:1;   /* even cycle tables valid */\r
2721             vuint16_t OVAL:1;   /* odd cycle tables valid */\r
2722               vuint16_t:1;\r
2723             vuint16_t OPT:1;    /*one pair trigger */\r
2724             vuint16_t SDVEN:1;  /* sync frame deviation table enable */\r
2725             vuint16_t SIDEN:1;  /* sync frame ID table enable */\r
2726         } B;\r
2727     } SFTCCSR_t;\r
2728     CC_EXTENSION typedef union uSFIDRFR {\r
2729         vuint16_t R;\r
2730         struct {\r
2731             vuint16_t:6;\r
2732             vuint16_t SYNFRID:10;       /* sync frame rejection ID */\r
2733         } B;\r
2734     } SFIDRFR_t;\r
2735 \r
2736     CC_EXTENSION typedef union uTICCR {\r
2737         vuint16_t R;\r
2738         struct {\r
2739             vuint16_t:2;\r
2740             vuint16_t T2CFG:1;  /* timer 2 configuration */\r
2741             vuint16_t T2REP:1;  /* timer 2 repetitive mode */\r
2742               vuint16_t:1;\r
2743             vuint16_t T2SP:1;   /* timer 2 stop */\r
2744             vuint16_t T2TR:1;   /* timer 2 trigger */\r
2745             vuint16_t T2ST:1;   /* timer 2 state */\r
2746               vuint16_t:3;\r
2747             vuint16_t T1REP:1;  /* timer 1 repetitive mode */\r
2748               vuint16_t:1;\r
2749             vuint16_t T1SP:1;   /* timer 1 stop */\r
2750             vuint16_t T1TR:1;   /* timer 1 trigger */\r
2751             vuint16_t T1ST:1;   /* timer 1 state */\r
2752 \r
2753         } B;\r
2754     } TICCR_t;\r
2755     CC_EXTENSION typedef union uTI1CYSR {\r
2756         vuint16_t R;\r
2757         struct {\r
2758             vuint16_t:2;\r
2759             vuint16_t TI1CYCVAL:6;      /* timer 1 cycle filter value */\r
2760               vuint16_t:2;\r
2761             vuint16_t TI1CYCMSK:6;      /* timer 1 cycle filter mask */\r
2762 \r
2763         } B;\r
2764     } TI1CYSR_t;\r
2765 \r
2766     CC_EXTENSION typedef union uSSSR {\r
2767         vuint16_t R;\r
2768         struct {\r
2769             vuint16_t WMD:1;    /* write mode */\r
2770               vuint16_t:1;\r
2771             vuint16_t SEL:2;    /* static slot number */\r
2772               vuint16_t:1;\r
2773             vuint16_t SLOTNUMBER:11;    /* selector */\r
2774         } B;\r
2775     } SSSR_t;\r
2776 \r
2777     CC_EXTENSION typedef union uSSCCR {\r
2778         vuint16_t R;\r
2779         struct {\r
2780             vuint16_t WMD:1;    /* write mode */\r
2781               vuint16_t:1;\r
2782             vuint16_t SEL:2;    /* selector */\r
2783               vuint16_t:1;\r
2784             vuint16_t CNTCFG:2; /* counter configuration */\r
2785             vuint16_t MCY:1;    /* multi cycle selection */\r
2786             vuint16_t VFR:1;    /* valid frame selection */\r
2787             vuint16_t SYF:1;    /* sync frame selection */\r
2788             vuint16_t NUF:1;    /* null frame selection  */\r
2789             vuint16_t SUF:1;    /* startup frame selection */\r
2790             vuint16_t STATUSMASK:4;     /* slot status mask */\r
2791         } B;\r
2792     } SSCCR_t;\r
2793     CC_EXTENSION typedef union uSSR {\r
2794         vuint16_t R;\r
2795         struct {\r
2796             vuint16_t VFB:1;    /* valid frame on channel B */\r
2797             vuint16_t SYB:1;    /* valid sync frame on channel B */\r
2798             vuint16_t NFB:1;    /* valid null frame on channel B */\r
2799             vuint16_t SUB:1;    /* valid startup frame on channel B */\r
2800             vuint16_t SEB:1;    /* syntax error on channel B */\r
2801             vuint16_t CEB:1;    /* content error on channel B */\r
2802             vuint16_t BVB:1;    /* boundary violation on channel B */\r
2803             vuint16_t TCB:1;    /* tx conflict on channel B */\r
2804             vuint16_t VFA:1;    /* valid frame on channel A */\r
2805             vuint16_t SYA:1;    /* valid sync frame on channel A */\r
2806             vuint16_t NFA:1;    /* valid null frame on channel A */\r
2807             vuint16_t SUA:1;    /* valid startup frame on channel A */\r
2808             vuint16_t SEA:1;    /* syntax error on channel A */\r
2809             vuint16_t CEA:1;    /* content error on channel A */\r
2810             vuint16_t BVA:1;    /* boundary violation on channel A */\r
2811             vuint16_t TCA:1;    /* tx conflict on channel A */\r
2812         } B;\r
2813     } SSR_t;\r
2814     CC_EXTENSION typedef union uMTSCFR {\r
2815         vuint16_t R;\r
2816         struct {\r
2817             vuint16_t MTE:1;    /* media access test symbol transmission enable */\r
2818               vuint16_t:1;\r
2819             vuint16_t CYCCNTMSK:6;      /* cycle counter mask */\r
2820               vuint16_t:2;\r
2821             vuint16_t CYCCNTVAL:6;      /* cycle counter value */\r
2822         } B;\r
2823     } MTSCFR_t;\r
2824 \r
2825     CC_EXTENSION typedef union uRSBIR {\r
2826         vuint16_t R;\r
2827         struct {\r
2828             vuint16_t WMD:1;    /* write mode */\r
2829               vuint16_t:1;\r
2830             vuint16_t SEL:2;    /* selector */\r
2831               vuint16_t:5;\r
2832             vuint16_t RSBIDX:7; /* receive shadow buffer index */\r
2833         } B;\r
2834     } RSBIR_t;\r
2835 \r
2836     CC_EXTENSION typedef union uRFDSR {\r
2837         vuint16_t R;\r
2838         struct {\r
2839             vuint16_t FIFODEPTH:8;      /* fifo depth */\r
2840               vuint16_t:1;\r
2841             vuint16_t ENTRYSIZE:7;      /* entry size */\r
2842         } B;\r
2843     } RFDSR_t;\r
2844 \r
2845     CC_EXTENSION typedef union uRFRFCFR {\r
2846         vuint16_t R;\r
2847         struct {\r
2848             vuint16_t WMD:1;    /* write mode */\r
2849             vuint16_t IBD:1;    /* interval boundary */\r
2850             vuint16_t SEL:2;    /* filter number */\r
2851               vuint16_t:1;\r
2852             vuint16_t SID:11;   /* slot ID */\r
2853         } B;\r
2854     } RFRFCFR_t;\r
2855 \r
2856     CC_EXTENSION typedef union uRFRFCTR {\r
2857         vuint16_t R;\r
2858         struct {\r
2859             vuint16_t:4;\r
2860             vuint16_t F3MD:1;   /* filter mode */\r
2861             vuint16_t F2MD:1;   /* filter mode */\r
2862             vuint16_t F1MD:1;   /* filter mode */\r
2863             vuint16_t F0MD:1;   /* filter mode */\r
2864               vuint16_t:4;\r
2865             vuint16_t F3EN:1;   /* filter enable */\r
2866             vuint16_t F2EN:1;   /* filter enable */\r
2867             vuint16_t F1EN:1;   /* filter enable */\r
2868             vuint16_t F0EN:1;   /* filter enable */\r
2869         } B;\r
2870     } RFRFCTR_t;\r
2871     CC_EXTENSION typedef union uPCR0 {\r
2872         vuint16_t R;\r
2873         struct {\r
2874             vuint16_t ACTION_POINT_OFFSET:6;\r
2875             vuint16_t STATIC_SLOT_LENGTH:10;\r
2876         } B;\r
2877     } PCR0_t;\r
2878 \r
2879     CC_EXTENSION typedef union uPCR1 {\r
2880         vuint16_t R;\r
2881         struct {\r
2882             vuint16_t:2;\r
2883             vuint16_t MACRO_AFTER_FIRST_STATIC_SLOT:14;\r
2884         } B;\r
2885     } PCR1_t;\r
2886 \r
2887     CC_EXTENSION typedef union uPCR2 {\r
2888         vuint16_t R;\r
2889         struct {\r
2890             vuint16_t MINISLOT_AFTER_ACTION_POINT:6;\r
2891             vuint16_t NUMBER_OF_STATIC_SLOTS:10;\r
2892         } B;\r
2893     } PCR2_t;\r
2894 \r
2895     CC_EXTENSION typedef union uPCR3 {\r
2896         vuint16_t R;\r
2897         struct {\r
2898             vuint16_t WAKEUP_SYMBOL_RX_LOW:6;\r
2899             vuint16_t MINISLOT_ACTION_POINT_OFFSET:5;\r
2900             vuint16_t COLDSTART_ATTEMPTS:5;\r
2901         } B;\r
2902     } PCR3_t;\r
2903 \r
2904     CC_EXTENSION typedef union uPCR4 {\r
2905         vuint16_t R;\r
2906         struct {\r
2907             vuint16_t CAS_RX_LOW_MAX:7;\r
2908             vuint16_t WAKEUP_SYMBOL_RX_WINDOW:9;\r
2909         } B;\r
2910     } PCR4_t;\r
2911 \r
2912     CC_EXTENSION typedef union uPCR5 {\r
2913         vuint16_t R;\r
2914         struct {\r
2915             vuint16_t TSS_TRANSMITTER:4;\r
2916             vuint16_t WAKEUP_SYMBOL_TX_LOW:6;\r
2917             vuint16_t WAKEUP_SYMBOL_RX_IDLE:6;\r
2918         } B;\r
2919     } PCR5_t;\r
2920 \r
2921     CC_EXTENSION typedef union uPCR6 {\r
2922         vuint16_t R;\r
2923         struct {\r
2924             vuint16_t:1;\r
2925             vuint16_t SYMBOL_WINDOW_AFTER_ACTION_POINT:8;\r
2926             vuint16_t MACRO_INITIAL_OFFSET_A:7;\r
2927         } B;\r
2928     } PCR6_t;\r
2929 \r
2930     CC_EXTENSION typedef union uPCR7 {\r
2931         vuint16_t R;\r
2932         struct {\r
2933             vuint16_t DECODING_CORRECTION_B:9;\r
2934             vuint16_t MICRO_PER_MACRO_NOM_HALF:7;\r
2935         } B;\r
2936     } PCR7_t;\r
2937 \r
2938     CC_EXTENSION typedef union uPCR8 {\r
2939         vuint16_t R;\r
2940         struct {\r
2941             vuint16_t MAX_WITHOUT_CLOCK_CORRECTION_FATAL:4;\r
2942             vuint16_t MAX_WITHOUT_CLOCK_CORRECTION_PASSIVE:4;\r
2943             vuint16_t WAKEUP_SYMBOL_TX_IDLE:8;\r
2944         } B;\r
2945     } PCR8_t;\r
2946 \r
2947     CC_EXTENSION typedef union uPCR9 {\r
2948         vuint16_t R;\r
2949         struct {\r
2950             vuint16_t MINISLOT_EXISTS:1;\r
2951             vuint16_t SYMBOL_WINDOW_EXISTS:1;\r
2952             vuint16_t OFFSET_CORRECTION_OUT:14;\r
2953         } B;\r
2954     } PCR9_t;\r
2955 \r
2956     CC_EXTENSION typedef union uPCR10 {\r
2957         vuint16_t R;\r
2958         struct {\r
2959             vuint16_t SINGLE_SLOT_ENABLED:1;\r
2960             vuint16_t WAKEUP_CHANNEL:1;\r
2961             vuint16_t MACRO_PER_CYCLE:14;\r
2962         } B;\r
2963     } PCR10_t;\r
2964 \r
2965     CC_EXTENSION typedef union uPCR11 {\r
2966         vuint16_t R;\r
2967         struct {\r
2968             vuint16_t KEY_SLOT_USED_FOR_STARTUP:1;\r
2969             vuint16_t KEY_SLOT_USED_FOR_SYNC:1;\r
2970             vuint16_t OFFSET_CORRECTION_START:14;\r
2971         } B;\r
2972     } PCR11_t;\r
2973 \r
2974     CC_EXTENSION typedef union uPCR12 {\r
2975         vuint16_t R;\r
2976         struct {\r
2977             vuint16_t ALLOW_PASSIVE_TO_ACTIVE:5;\r
2978             vuint16_t KEY_SLOT_HEADER_CRC:11;\r
2979         } B;\r
2980     } PCR12_t;\r
2981 \r
2982     CC_EXTENSION typedef union uPCR13 {\r
2983         vuint16_t R;\r
2984         struct {\r
2985             vuint16_t FIRST_MINISLOT_ACTION_POINT_OFFSET:6;\r
2986             vuint16_t STATIC_SLOT_AFTER_ACTION_POINT:10;\r
2987         } B;\r
2988     } PCR13_t;\r
2989 \r
2990     CC_EXTENSION typedef union uPCR14 {\r
2991         vuint16_t R;\r
2992         struct {\r
2993             vuint16_t RATE_CORRECTION_OUT:11;\r
2994             vuint16_t LISTEN_TIMEOUT_H:5;\r
2995         } B;\r
2996     } PCR14_t;\r
2997 \r
2998     CC_EXTENSION typedef union uPCR15 {\r
2999         vuint16_t R;\r
3000         struct {\r
3001             vuint16_t LISTEN_TIMEOUT_L:16;\r
3002         } B;\r
3003     } PCR15_t;\r
3004 \r
3005     CC_EXTENSION typedef union uPCR16 {\r
3006         vuint16_t R;\r
3007         struct {\r
3008             vuint16_t MACRO_INITIAL_OFFSET_B:7;\r
3009             vuint16_t NOISE_LISTEN_TIMEOUT_H:9;\r
3010         } B;\r
3011     } PCR16_t;\r
3012 \r
3013     CC_EXTENSION typedef union uPCR17 {\r
3014         vuint16_t R;\r
3015         struct {\r
3016             vuint16_t NOISE_LISTEN_TIMEOUT_L:16;\r
3017         } B;\r
3018     } PCR17_t;\r
3019 \r
3020     CC_EXTENSION typedef union uPCR18 {\r
3021         vuint16_t R;\r
3022         struct {\r
3023             vuint16_t WAKEUP_PATTERN:6;\r
3024             vuint16_t KEY_SLOT_ID:10;\r
3025         } B;\r
3026     } PCR18_t;\r
3027 \r
3028     CC_EXTENSION typedef union uPCR19 {\r
3029         vuint16_t R;\r
3030         struct {\r
3031             vuint16_t DECODING_CORRECTION_A:9;\r
3032             vuint16_t PAYLOAD_LENGTH_STATIC:7;\r
3033         } B;\r
3034     } PCR19_t;\r
3035 \r
3036     CC_EXTENSION typedef union uPCR20 {\r
3037         vuint16_t R;\r
3038         struct {\r
3039             vuint16_t MICRO_INITIAL_OFFSET_B:8;\r
3040             vuint16_t MICRO_INITIAL_OFFSET_A:8;\r
3041         } B;\r
3042     } PCR20_t;\r
3043 \r
3044     CC_EXTENSION typedef union uPCR21 {\r
3045         vuint16_t R;\r
3046         struct {\r
3047             vuint16_t EXTERN_RATE_CORRECTION:3;\r
3048             vuint16_t LATEST_TX:13;\r
3049         } B;\r
3050     } PCR21_t;\r
3051 \r
3052     CC_EXTENSION typedef union uPCR22 {\r
3053         vuint16_t R;\r
3054         struct {\r
3055             vuint16_t:1;\r
3056             vuint16_t COMP_ACCEPTED_STARTUP_RANGE_A:11;\r
3057             vuint16_t MICRO_PER_CYCLE_H:4;\r
3058         } B;\r
3059     } PCR22_t;\r
3060 \r
3061     CC_EXTENSION typedef union uPCR23 {\r
3062         vuint16_t R;\r
3063         struct {\r
3064             vuint16_t micro_per_cycle_l:16;\r
3065         } B;\r
3066     } PCR23_t;\r
3067 \r
3068     CC_EXTENSION typedef union uPCR24 {\r
3069         vuint16_t R;\r
3070         struct {\r
3071             vuint16_t CLUSTER_DRIFT_DAMPING:5;\r
3072             vuint16_t MAX_PAYLOAD_LENGTH_DYNAMIC:7;\r
3073             vuint16_t MICRO_PER_CYCLE_MIN_H:4;\r
3074         } B;\r
3075     } PCR24_t;\r
3076 \r
3077     CC_EXTENSION typedef union uPCR25 {\r
3078         vuint16_t R;\r
3079         struct {\r
3080             vuint16_t MICRO_PER_CYCLE_MIN_L:16;\r
3081         } B;\r
3082     } PCR25_t;\r
3083 \r
3084     CC_EXTENSION typedef union uPCR26 {\r
3085         vuint16_t R;\r
3086         struct {\r
3087             vuint16_t ALLOW_HALT_DUE_TO_CLOCK:1;\r
3088             vuint16_t COMP_ACCEPTED_STARTUP_RANGE_B:11;\r
3089             vuint16_t MICRO_PER_CYCLE_MAX_H:4;\r
3090         } B;\r
3091     } PCR26_t;\r
3092 \r
3093     CC_EXTENSION typedef union uPCR27 {\r
3094         vuint16_t R;\r
3095         struct {\r
3096             vuint16_t MICRO_PER_CYCLE_MAX_L:16;\r
3097         } B;\r
3098     } PCR27_t;\r
3099 \r
3100     CC_EXTENSION typedef union uPCR28 {\r
3101         vuint16_t R;\r
3102         struct {\r
3103             vuint16_t DYNAMIC_SLOT_IDLE_PHASE:2;\r
3104             vuint16_t MACRO_AFTER_OFFSET_CORRECTION:14;\r
3105         } B;\r
3106     } PCR28_t;\r
3107 \r
3108     CC_EXTENSION typedef union uPCR29 {\r
3109         vuint16_t R;\r
3110         struct {\r
3111             vuint16_t EXTERN_OFFSET_CORRECTION:3;\r
3112             vuint16_t MINISLOTS_MAX:13;\r
3113         } B;\r
3114     } PCR29_t;\r
3115 \r
3116     CC_EXTENSION typedef union uPCR30 {\r
3117         vuint16_t R;\r
3118         struct {\r
3119             vuint16_t:12;\r
3120             vuint16_t SYNC_NODE_MAX:4;\r
3121         } B;\r
3122     } PCR30_t;\r
3123 \r
3124     CC_EXTENSION typedef struct uMSG_BUFF_CCS {\r
3125         union {\r
3126             vuint16_t R;\r
3127             struct {\r
3128                 vuint16_t:1;\r
3129                 vuint16_t MCM:1;        /* message buffer commit mode */\r
3130                 vuint16_t MBT:1;        /* message buffer type */\r
3131                 vuint16_t MTD:1;        /* message buffer direction */\r
3132                 vuint16_t CMT:1;        /* commit for transmission */\r
3133                 vuint16_t EDT:1;        /* enable / disable trigger */\r
3134                 vuint16_t LCKT:1;       /* lock request trigger */\r
3135                 vuint16_t MBIE:1;       /* message buffer interrupt enable */\r
3136                   vuint16_t:3;\r
3137                 vuint16_t DUP:1;        /* data updated  */\r
3138                 vuint16_t DVAL:1;       /* data valid */\r
3139                 vuint16_t EDS:1;        /* lock status */\r
3140                 vuint16_t LCKS:1;       /* enable / disable status */\r
3141                 vuint16_t MBIF:1;       /* message buffer interrupt flag */\r
3142             } B;\r
3143         } MBCCSR;\r
3144         union {\r
3145             vuint16_t R;\r
3146             struct {\r
3147                 vuint16_t MTM:1;        /* message buffer transmission mode */\r
3148                 vuint16_t CHNLA:1;      /* channel assignement */\r
3149                 vuint16_t CHNLB:1;      /* channel assignement */\r
3150                 vuint16_t CCFE:1;       /* cycle counter filter enable */\r
3151                 vuint16_t CCFMSK:6;     /* cycle counter filter mask */\r
3152                 vuint16_t CCFVAL:6;     /* cycle counter filter value */\r
3153             } B;\r
3154         } MBCCFR;\r
3155         union {\r
3156             vuint16_t R;\r
3157             struct {\r
3158                 vuint16_t:5;\r
3159                 vuint16_t FID:11;       /* frame ID */\r
3160             } B;\r
3161         } MBFIDR;\r
3162 \r
3163         union {\r
3164             vuint16_t R;\r
3165             struct {\r
3166                 vuint16_t:9;\r
3167                 vuint16_t MBIDX:7;      /* message buffer index */\r
3168             } B;\r
3169         } MBIDXR;\r
3170     } MSG_BUFF_CCS_t;\r
3171     CC_EXTENSION typedef union uSYSBADHR {\r
3172         vuint16_t R;\r
3173     } SYSBADHR_t;\r
3174     CC_EXTENSION typedef union uSYSBADLR {\r
3175         vuint16_t R;\r
3176     } SYSBADLR_t;\r
3177     CC_EXTENSION typedef union uPADR {\r
3178         vuint16_t R;\r
3179     } PADR_t;\r
3180     CC_EXTENSION typedef union uPDAR {\r
3181         vuint16_t R;\r
3182     } PDAR_t;\r
3183     CC_EXTENSION typedef union uCASERCR {\r
3184         vuint16_t R;\r
3185     } CASERCR_t;\r
3186     CC_EXTENSION typedef union uCBSERCR {\r
3187         vuint16_t R;\r
3188     } CBSERCR_t;\r
3189     CC_EXTENSION typedef union uCYCTR {\r
3190         vuint16_t R;\r
3191     } CYCTR_t;\r
3192     CC_EXTENSION typedef union uMTCTR {\r
3193         vuint16_t R;\r
3194     } MTCTR_t;\r
3195     CC_EXTENSION typedef union uSLTCTAR {\r
3196         vuint16_t R;\r
3197     } SLTCTAR_t;\r
3198     CC_EXTENSION typedef union uSLTCTBR {\r
3199         vuint16_t R;\r
3200     } SLTCTBR_t;\r
3201     CC_EXTENSION typedef union uRTCORVR {\r
3202         vuint16_t R;\r
3203     } RTCORVR_t;\r
3204     CC_EXTENSION typedef union uOFCORVR {\r
3205         vuint16_t R;\r
3206     } OFCORVR_t;\r
3207     CC_EXTENSION typedef union uSFTOR {\r
3208         vuint16_t R;\r
3209     } SFTOR_t;\r
3210     CC_EXTENSION typedef union uSFIDAFVR {\r
3211         vuint16_t R;\r
3212     } SFIDAFVR_t;\r
3213     CC_EXTENSION typedef union uSFIDAFMR {\r
3214         vuint16_t R;\r
3215     } SFIDAFMR_t;\r
3216     CC_EXTENSION typedef union uNMVR {\r
3217         vuint16_t R;\r
3218     } NMVR_t;\r
3219     CC_EXTENSION typedef union uNMVLR {\r
3220         vuint16_t R;\r
3221     } NMVLR_t;\r
3222     CC_EXTENSION typedef union uT1MTOR {\r
3223         vuint16_t R;\r
3224     } T1MTOR_t;\r
3225     CC_EXTENSION typedef union uTI2CR0 {\r
3226         vuint16_t R;\r
3227     } TI2CR0_t;\r
3228     CC_EXTENSION typedef union uTI2CR1 {\r
3229         vuint16_t R;\r
3230     } TI2CR1_t;\r
3231     CC_EXTENSION typedef union uSSCR {\r
3232         vuint16_t R;\r
3233     } SSCR_t;\r
3234     CC_EXTENSION typedef union uRFSR {\r
3235         vuint16_t R;\r
3236     } RFSR_t;\r
3237     CC_EXTENSION typedef union uRFSIR {\r
3238         vuint16_t R;\r
3239     } RFSIR_t;\r
3240     CC_EXTENSION typedef union uRFARIR {\r
3241         vuint16_t R;\r
3242     } RFARIR_t;\r
3243     CC_EXTENSION typedef union uRFBRIR {\r
3244         vuint16_t R;\r
3245     } RFBRIR_t;\r
3246     CC_EXTENSION typedef union uRFMIDAFVR {\r
3247         vuint16_t R;\r
3248     } RFMIDAFVR_t;\r
3249     CC_EXTENSION typedef union uRFMIAFMR {\r
3250         vuint16_t R;\r
3251     } RFMIAFMR_t;\r
3252     CC_EXTENSION typedef union uRFFIDRFVR {\r
3253         vuint16_t R;\r
3254     } RFFIDRFVR_t;\r
3255     CC_EXTENSION typedef union uRFFIDRFMR {\r
3256         vuint16_t R;\r
3257     } RFFIDRFMR_t;\r
3258     CC_EXTENSION typedef union uLDTXSLAR {\r
3259         vuint16_t R;\r
3260     } LDTXSLAR_t;\r
3261     CC_EXTENSION typedef union uLDTXSLBR {\r
3262         vuint16_t R;\r
3263     } LDTXSLBR_t;\r
3264 \r
3265     typedef struct FR_tag {\r
3266         volatile MVR_t MVR;     /*module version register *//*0  */\r
3267         volatile MCR_t MCR;     /*module configuration register *//*2  */\r
3268         volatile SYSBADHR_t SYSBADHR;   /*system memory base address high register *//*4        */\r
3269         volatile SYSBADLR_t SYSBADLR;   /*system memory base address low register *//*6         */\r
3270         volatile STBSCR_t STBSCR;       /*strobe signal control register *//*8      */\r
3271         volatile STBPCR_t STBPCR;       /*strobe port control register *//*A        */\r
3272         volatile MBDSR_t MBDSR; /*message buffer data size register *//*C  */\r
3273         volatile MBSSUTR_t MBSSUTR;     /*message buffer segment size and utilization register *//*E  */\r
3274         volatile PADR_t PADR;   /*PE address register *//*10 */\r
3275         volatile PDAR_t PDAR;   /*PE data register *//*12 */\r
3276         volatile POCR_t POCR;   /*Protocol operation control register *//*14 */\r
3277         volatile GIFER_t GIFER; /*global interrupt flag and enable register *//*16 */\r
3278         volatile PIFR0_t PIFR0; /*protocol interrupt flag register 0 *//*18 */\r
3279         volatile PIFR1_t PIFR1; /*protocol interrupt flag register 1 *//*1A */\r
3280         volatile PIER0_t PIER0; /*protocol interrupt enable register 0 *//*1C */\r
3281         volatile PIER1_t PIER1; /*protocol interrupt enable register 1 *//*1E */\r
3282         volatile CHIERFR_t CHIERFR;     /*CHI error flag register *//*20 */\r
3283         volatile MBIVEC_t MBIVEC;       /*message buffer interrupt vector register *//*22 */\r
3284         volatile CASERCR_t CASERCR;     /*channel A status error counter register *//*24 */\r
3285         volatile CBSERCR_t CBSERCR;     /*channel B status error counter register *//*26 */\r
3286         volatile PSR0_t PSR0;   /*protocol status register 0 *//*28 */\r
3287         volatile PSR1_t PSR1;   /*protocol status register 1 *//*2A */\r
3288         volatile PSR2_t PSR2;   /*protocol status register 2 *//*2C */\r
3289         volatile PSR3_t PSR3;   /*protocol status register 3 *//*2E */\r
3290         volatile MTCTR_t MTCTR; /*macrotick counter register *//*30 */\r
3291         volatile CYCTR_t CYCTR; /*cycle counter register *//*32 */\r
3292         volatile SLTCTAR_t SLTCTAR;     /*slot counter channel A register *//*34 */\r
3293         volatile SLTCTBR_t SLTCTBR;     /*slot counter channel B register *//*36 */\r
3294         volatile RTCORVR_t RTCORVR;     /*rate correction value register *//*38 */\r
3295         volatile OFCORVR_t OFCORVR;     /*offset correction value register *//*3A */\r
3296         volatile CIFRR_t CIFRR; /*combined interrupt flag register *//*3C */\r
3297         vuint16_t reserved3[1]; /*3E */\r
3298         volatile SFCNTR_t SFCNTR;       /*sync frame counter register *//*40 */\r
3299         volatile SFTOR_t SFTOR; /*sync frame table offset register *//*42 */\r
3300         volatile SFTCCSR_t SFTCCSR;     /*sync frame table configuration, control, status register *//*44 */\r
3301         volatile SFIDRFR_t SFIDRFR;     /*sync frame ID rejection filter register *//*46 */\r
3302         volatile SFIDAFVR_t SFIDAFVR;   /*sync frame ID acceptance filter value regiater *//*48 */\r
3303         volatile SFIDAFMR_t SFIDAFMR;   /*sync frame ID acceptance filter mask register *//*4A */\r
3304         volatile NMVR_t NMVR[6];        /*network management vector registers (12 bytes) *//*4C */\r
3305         volatile NMVLR_t NMVLR; /*network management vector length register *//*58 */\r
3306         volatile TICCR_t TICCR; /*timer configuration and control register *//*5A */\r
3307         volatile TI1CYSR_t TI1CYSR;     /*timer 1 cycle set register *//*5C */\r
3308         volatile T1MTOR_t T1MTOR;       /*timer 1 macrotick offset register *//*5E */\r
3309         volatile TI2CR0_t TI2CR0;       /*timer 2 configuration register 0 *//*60 */\r
3310         volatile TI2CR1_t TI2CR1;       /*timer 2 configuration register 1 *//*62 */\r
3311         volatile SSSR_t SSSR;   /*slot status selection register *//*64 */\r
3312         volatile SSCCR_t SSCCR; /*slot status counter condition register *//*66 */\r
3313         volatile SSR_t SSR[8];  /*slot status registers 0-7 *//*68 */\r
3314         volatile SSCR_t SSCR[4];        /*slot status counter registers 0-3 *//*78 */\r
3315         volatile MTSCFR_t MTSACFR;      /*mts a config register *//*80 */\r
3316         volatile MTSCFR_t MTSBCFR;      /*mts b config register *//*82 */\r
3317         volatile RSBIR_t RSBIR; /*receive shadow buffer index register *//*84 */\r
3318         volatile RFSR_t RFSR;   /*receive fifo selection register *//*86 */\r
3319         volatile RFSIR_t RFSIR; /*receive fifo start index register *//*88 */\r
3320         volatile RFDSR_t RFDSR; /*receive fifo depth and size register *//*8A */\r
3321         volatile RFARIR_t RFARIR;       /*receive fifo a read index register *//*8C */\r
3322         volatile RFBRIR_t RFBRIR;       /*receive fifo b read index register *//*8E */\r
3323         volatile RFMIDAFVR_t RFMIDAFVR; /*receive fifo message ID acceptance filter value register *//*90 */\r
3324         volatile RFMIAFMR_t RFMIAFMR;   /*receive fifo message ID acceptance filter mask register *//*92 */\r
3325         volatile RFFIDRFVR_t RFFIDRFVR; /*receive fifo frame ID rejection filter value register *//*94 */\r
3326         volatile RFFIDRFMR_t RFFIDRFMR; /*receive fifo frame ID rejection filter mask register *//*96 */\r
3327         volatile RFRFCFR_t RFRFCFR;     /*receive fifo range filter configuration register *//*98 */\r
3328         volatile RFRFCTR_t RFRFCTR;     /*receive fifo range filter control register *//*9A */\r
3329         volatile LDTXSLAR_t LDTXSLAR;   /*last dynamic transmit slot channel A register *//*9C */\r
3330         volatile LDTXSLBR_t LDTXSLBR;   /*last dynamic transmit slot channel B register *//*9E */\r
3331         volatile PCR0_t PCR0;   /*protocol configuration register 0 *//*A0 */\r
3332         volatile PCR1_t PCR1;   /*protocol configuration register 1 *//*A2 */\r
3333         volatile PCR2_t PCR2;   /*protocol configuration register 2 *//*A4 */\r
3334         volatile PCR3_t PCR3;   /*protocol configuration register 3 *//*A6 */\r
3335         volatile PCR4_t PCR4;   /*protocol configuration register 4 *//*A8 */\r
3336         volatile PCR5_t PCR5;   /*protocol configuration register 5 *//*AA */\r
3337         volatile PCR6_t PCR6;   /*protocol configuration register 6 *//*AC */\r
3338         volatile PCR7_t PCR7;   /*protocol configuration register 7 *//*AE */\r
3339         volatile PCR8_t PCR8;   /*protocol configuration register 8 *//*B0 */\r
3340         volatile PCR9_t PCR9;   /*protocol configuration register 9 *//*B2 */\r
3341         volatile PCR10_t PCR10; /*protocol configuration register 10 *//*B4 */\r
3342         volatile PCR11_t PCR11; /*protocol configuration register 11 *//*B6 */\r
3343         volatile PCR12_t PCR12; /*protocol configuration register 12 *//*B8 */\r
3344         volatile PCR13_t PCR13; /*protocol configuration register 13 *//*BA */\r
3345         volatile PCR14_t PCR14; /*protocol configuration register 14 *//*BC */\r
3346         volatile PCR15_t PCR15; /*protocol configuration register 15 *//*BE */\r
3347         volatile PCR16_t PCR16; /*protocol configuration register 16 *//*C0 */\r
3348         volatile PCR17_t PCR17; /*protocol configuration register 17 *//*C2 */\r
3349         volatile PCR18_t PCR18; /*protocol configuration register 18 *//*C4 */\r
3350         volatile PCR19_t PCR19; /*protocol configuration register 19 *//*C6 */\r
3351         volatile PCR20_t PCR20; /*protocol configuration register 20 *//*C8 */\r
3352         volatile PCR21_t PCR21; /*protocol configuration register 21 *//*CA */\r
3353         volatile PCR22_t PCR22; /*protocol configuration register 22 *//*CC */\r
3354         volatile PCR23_t PCR23; /*protocol configuration register 23 *//*CE */\r
3355         volatile PCR24_t PCR24; /*protocol configuration register 24 *//*D0 */\r
3356         volatile PCR25_t PCR25; /*protocol configuration register 25 *//*D2 */\r
3357         volatile PCR26_t PCR26; /*protocol configuration register 26 *//*D4 */\r
3358         volatile PCR27_t PCR27; /*protocol configuration register 27 *//*D6 */\r
3359         volatile PCR28_t PCR28; /*protocol configuration register 28 *//*D8 */\r
3360         volatile PCR29_t PCR29; /*protocol configuration register 29 *//*DA */\r
3361         volatile PCR30_t PCR30; /*protocol configuration register 30 *//*DC */\r
3362         vuint16_t reserved2[17];\r
3363         volatile MSG_BUFF_CCS_t MBCCS[128];     /* message buffer configuration, control & status registers 0-31 *//*100 */\r
3364     } FR_tag_t;\r
3365 \r
3366     CC_EXTENSION typedef union uF_HEADER     /* frame header */\r
3367     {\r
3368         struct {\r
3369             vuint16_t:5;\r
3370             vuint16_t HDCRC:11; /* Header CRC */\r
3371               vuint16_t:2;\r
3372             vuint16_t CYCCNT:6; /* Cycle Count */\r
3373               vuint16_t:1;\r
3374             vuint16_t PLDLEN:7; /* Payload Length */\r
3375               vuint16_t:1;\r
3376             vuint16_t PPI:1;    /* Payload Preamble Indicator */\r
3377             vuint16_t NUF:1;    /* Null Frame Indicator */\r
3378             vuint16_t SYF:1;    /* Sync Frame Indicator */\r
3379             vuint16_t SUF:1;    /* Startup Frame Indicator */\r
3380             vuint16_t FID:11;   /* Frame ID */\r
3381         } B;\r
3382         vuint16_t WORDS[3];\r
3383     } F_HEADER_t;\r
3384     CC_EXTENSION typedef union uS_STSTUS     /* slot status */\r
3385     {\r
3386         struct {\r
3387             vuint16_t VFB:1;    /* Valid Frame on channel B */\r
3388             vuint16_t SYB:1;    /* Sync Frame Indicator channel B */\r
3389             vuint16_t NFB:1;    /* Null Frame Indicator channel B */\r
3390             vuint16_t SUB:1;    /* Startup Frame Indicator channel B */\r
3391             vuint16_t SEB:1;    /* Syntax Error on channel B */\r
3392             vuint16_t CEB:1;    /* Content Error on channel B */\r
3393             vuint16_t BVB:1;    /* Boundary Violation on channel B */\r
3394             vuint16_t CH:1;     /* Channel */\r
3395             vuint16_t VFA:1;    /* Valid Frame on channel A */\r
3396             vuint16_t SYA:1;    /* Sync Frame Indicator channel A */\r
3397             vuint16_t NFA:1;    /* Null Frame Indicator channel A */\r
3398             vuint16_t SUA:1;    /* Startup Frame Indicator channel A */\r
3399             vuint16_t SEA:1;    /* Syntax Error on channel A */\r
3400             vuint16_t CEA:1;    /* Content Error on channel A */\r
3401             vuint16_t BVA:1;    /* Boundary Violation on channel A */\r
3402               vuint16_t:1;\r
3403         } RX;\r
3404         struct {\r
3405             vuint16_t VFB:1;    /* Valid Frame on channel B */\r
3406             vuint16_t SYB:1;    /* Sync Frame Indicator channel B */\r
3407             vuint16_t NFB:1;    /* Null Frame Indicator channel B */\r
3408             vuint16_t SUB:1;    /* Startup Frame Indicator channel B */\r
3409             vuint16_t SEB:1;    /* Syntax Error on channel B */\r
3410             vuint16_t CEB:1;    /* Content Error on channel B */\r
3411             vuint16_t BVB:1;    /* Boundary Violation on channel B */\r
3412             vuint16_t TCB:1;    /* Tx Conflict on channel B */\r
3413             vuint16_t VFA:1;    /* Valid Frame on channel A */\r
3414             vuint16_t SYA:1;    /* Sync Frame Indicator channel A */\r
3415             vuint16_t NFA:1;    /* Null Frame Indicator channel A */\r
3416             vuint16_t SUA:1;    /* Startup Frame Indicator channel A */\r
3417             vuint16_t SEA:1;    /* Syntax Error on channel A */\r
3418             vuint16_t CEA:1;    /* Content Error on channel A */\r
3419             vuint16_t BVA:1;    /* Boundary Violation on channel A */\r
3420             vuint16_t TCA:1;    /* Tx Conflict on channel A */\r
3421         } TX;\r
3422         vuint16_t R;\r
3423     } S_STATUS_t;\r
3424 \r
3425     typedef struct uMB_HEADER   /* message buffer header */\r
3426     {\r
3427         F_HEADER_t FRAME_HEADER;\r
3428         vuint16_t DATA_OFFSET;\r
3429         S_STATUS_t SLOT_STATUS;\r
3430     } MB_HEADER_t;\r
3431 \r
3432 /* Define memories */\r
3433 \r
3434 #define SRAM_START  0x40000000\r
3435 #define SRAM_SIZE      0x10000\r
3436 #define SRAM_END    0x4000FFFF\r
3437 \r
3438 #define FLASH_START         0x0\r
3439 #define FLASH_SIZE      0x100000\r
3440 #define FLASH_END       0xFFFFF\r
3441 \r
3442 /* Define instances of modules */\r
3443 //#define PBRIDGE_A (*( volatile struct PBRIDGE_A_tag *) 0xC3F00000)\r
3444 #define MPU       (*( volatile struct MPU_tag *)       0xFFF10000)\r
3445 #define SEMA4     (*( volatile struct SEMA4_tag *)     0xFFF14000)\r
3446 \r
3447 #define MCM       (*( volatile struct MCM_tag *)       0xFFF40000)\r
3448 #define EDMA      (*( volatile struct EDMA_tag *)      0xFFF44000)\r
3449 #define INTC      (*( volatile struct INTC_tag *)      0xFFF48000)\r
3450 \r
3451 #define EQADC     (*( volatile struct EQADC_tag *)     0xFFF80000)\r
3452 \r
3453 #define I2C       (*( volatile struct I2C_tag *)       0xFFF88000)\r
3454 \r
3455 #define DSPI_A    (*( volatile struct DSPI_tag *)      0xFFF90000)\r
3456 #define DSPI_B    (*( volatile struct DSPI_tag *)      0xFFF94000)\r
3457 #define DSPI_C    (*( volatile struct DSPI_tag *)      0xFFF98000)\r
3458 #define DSPI_D    (*( volatile struct DSPI_tag *)      0xFFF9C000)\r
3459 \r
3460 #define ESCI_A    (*( volatile struct ESCI_tag *)      0xFFFA0000)\r
3461 #define ESCI_B    (*( volatile struct ESCI_tag *)      0xFFFA4000)\r
3462 #define ESCI_C    (*( volatile struct ESCI_tag *)      0xFFFA8000)\r
3463 #define ESCI_D    (*( volatile struct ESCI_tag *)      0xFFFAC000)\r
3464 #define ESCI_E    (*( volatile struct ESCI_tag *)      0xFFFB0000)\r
3465 #define ESCI_F    (*( volatile struct ESCI_tag *)      0xFFFB4000)\r
3466 #define ESCI_G    (*( volatile struct ESCI_tag *)      0xFFFB8000)\r
3467 #define ESCI_H    (*( volatile struct ESCI_tag *)      0xFFFBC000)\r
3468 \r
3469 #define CAN_A     (*( volatile struct FLEXCAN_tag *)  0xFFFC0000)\r
3470 #define CAN_B     (*( volatile struct FLEXCAN_tag *)  0xFFFC4000)\r
3471 #define CAN_C     (*( volatile struct FLEXCAN_tag *)  0xFFFC8000)\r
3472 #define CAN_D     (*( volatile struct FLEXCAN_tag *)  0xFFFCC000)\r
3473 #define CAN_E     (*( volatile struct FLEXCAN_tag *)  0xFFFD0000)\r
3474 #define CAN_F     (*( volatile struct FLEXCAN_tag *)  0xFFFD4000)\r
3475 #define FR        (*( volatile struct FR_tag *)       0xFFFD8000)\r
3476 #define DMAMUX    (*( volatile struct DMAMUX_tag *)   0xFFFDC000)\r
3477 #define PIT       (*( volatile struct PIT_tag *)      0xFFFE0000)\r
3478 #define EMIOS     (*( volatile struct EMIOS_tag *)    0xFFFE4000)\r
3479 #define SIU       (*( volatile struct SIU_tag *)      0xFFFE8000)\r
3480 #define CRP       (*( volatile struct CRP_tag *)      0xFFFEC000)\r
3481 #define FMPLL     (*( volatile struct FMPLL_tag *)    0xFFFF0000)\r
3482 #define EBI       (*( volatile struct EBI_tag *)      0xFFFF4000)\r
3483 #define FLASH     (*( volatile struct FLASH_tag *)    0xFFFF8000)\r
3484 \r
3485 #ifdef __MWERKS__\r
3486 #pragma pop\r
3487 #endif\r
3488 \r
3489 #ifdef  __cplusplus\r
3490 }\r
3491 #endif\r
3492 #endif                          /* ifdef _MPC5516_H */\r