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