]> rtime.felk.cvut.cz Git - arc.git/blobdiff - arch/ppc/mpc55xx/drivers/mpc5567.h
Removed not necessary defines in mpcxxxx.h headers.
[arc.git] / arch / ppc / mpc55xx / drivers / mpc5567.h
index d972fdf32279e6ca4d48461978f574b80ba08348..4ec7b41a8ae758209adff78ec4422c10b71f8b61 100644 (file)
@@ -1,4 +1,4 @@
-
+\r
 /**************************************************************************/\r
 /* FILE NAME: mpc5567.h                      COPYRIGHT (c) Freescale 2007 */\r
 /* VERSION:  1.6                                  All Rights Reserved     */\r
@@ -40,6 +40,7 @@
 #ifndef _MPC5567_H_\r
 #define _MPC5567_H_\r
 \r
+#include "Compiler.h"\r
 #include "typedefs.h"\r
 \r
 #ifdef  __cplusplus\r
@@ -54,7 +55,7 @@ extern "C" {
 /****************************************************************************/\r
 /*                          MODULE : PBRIDGE_A Peripheral Bridge            */\r
 /****************************************************************************/\r
-    struct PBRIDGE_A_tag {\r
+    CC_EXTENSION struct PBRIDGE_A_tag {\r
         union {\r
             vuint32_t R;\r
             struct {\r
@@ -172,7 +173,7 @@ extern "C" {
 /****************************************************************************/\r
 /*                          MODULE : PBRIDGE_B Peripheral Bridge            */\r
 /****************************************************************************/\r
-    struct PBRIDGE_B_tag {\r
+    CC_EXTENSION struct PBRIDGE_B_tag {\r
         union {\r
             vuint32_t R;\r
             struct {\r
@@ -354,7 +355,7 @@ extern "C" {
 /****************************************************************************/\r
 /*                     MODULE : FMPLL                                       */\r
 /****************************************************************************/\r
-    struct FMPLL_tag {\r
+    CC_EXTENSION struct FMPLL_tag {\r
         union {\r
             vuint32_t R;\r
             struct {\r
@@ -396,7 +397,7 @@ extern "C" {
 /****************************************************************************/\r
 /*                     MODULE : External Bus Interface (EBI)                */\r
 /****************************************************************************/\r
-    struct CS_tag {\r
+    CC_EXTENSION  struct CS_tag {\r
         union {                 /* Base Register Bank */\r
             vuint32_t R;\r
             struct {\r
@@ -506,7 +507,7 @@ extern "C" {
 /****************************************************************************/\r
 /*                     MODULE : FLASH                                       */\r
 /****************************************************************************/\r
-    struct FLASH_tag {\r
+    CC_EXTENSION struct FLASH_tag {\r
         union {                 /* Module Configuration Register */\r
             vuint32_t R;\r
             struct {\r
@@ -639,7 +640,7 @@ extern "C" {
 /****************************************************************************/\r
 /*                     MODULE : SIU                                         */\r
 /****************************************************************************/\r
-    struct SIU_tag {\r
+    CC_EXTENSION struct SIU_tag {\r
         int32_t SIU_reserved0;\r
 \r
         union {                 /* MCU ID Register */\r
@@ -977,7 +978,7 @@ extern "C" {
 /****************************************************************************/\r
 /*                          MODULE : EMIOS                                  */\r
 /****************************************************************************/\r
-    struct EMIOS_tag {\r
+    CC_EXTENSION struct EMIOS_tag {\r
         union {\r
             vuint32_t R;\r
             struct {\r
@@ -1123,7 +1124,7 @@ extern "C" {
 \r
 /***************************Configuration Registers**************************/\r
 \r
-    struct ETPU_tag {\r
+    CC_EXTENSION struct ETPU_tag {\r
         union {                 /* MODULE CONFIGURATION REGISTER */\r
             vuint32_t R;\r
             struct {\r
@@ -1617,7 +1618,7 @@ extern "C" {
 /****************************************************************************/\r
 /*                          MODULE : XBAR CrossBar                          */\r
 /****************************************************************************/\r
-    struct XBAR_tag {\r
+    CC_EXTENSION struct XBAR_tag {\r
         union {\r
             vuint32_t R;\r
             struct {\r
@@ -1824,7 +1825,7 @@ extern "C" {
 /****************************************************************************/\r
 /*                     MODULE : ECSM                                        */\r
 /****************************************************************************/\r
-    struct ECSM_tag {\r
+    CC_EXTENSION struct ECSM_tag {\r
 \r
         uint32_t ecsm_reserved1[5];\r
 \r
@@ -1995,334 +1996,12 @@ extern "C" {
 /****************************************************************************/\r
 /*                          MODULE : eDMA                                   */\r
 /****************************************************************************/\r
-    struct EDMA_tag {\r
-        union {\r
-            vuint32_t R;\r
-            struct {\r
-                vuint32_t:16;\r
-                vuint32_t GRP3PRI:2;\r
-                vuint32_t GRP2PRI:2;\r
-                vuint32_t GRP1PRI:2;\r
-                vuint32_t GRP0PRI:2;\r
-                  vuint32_t:4;\r
-                vuint32_t ERGA:1;\r
-                vuint32_t ERCA:1;\r
-                vuint32_t EDBG:1;\r
-                vuint32_t EBW:1;\r
-            } B;\r
-        } CR;                   /* Control Register */\r
-        union {\r
-            vuint32_t R;\r
-            struct {\r
-                vuint32_t VLD:1;\r
-                  vuint32_t:15;\r
-                vuint32_t GPE:1;\r
-                vuint32_t CPE:1;\r
-                vuint32_t ERRCHN:6;\r
-                vuint32_t SAE:1;\r
-                vuint32_t SOE:1;\r
-                vuint32_t DAE:1;\r
-                vuint32_t DOE:1;\r
-                vuint32_t NCE:1;\r
-                vuint32_t SGE:1;\r
-                vuint32_t SBE:1;\r
-                vuint32_t DBE:1;\r
-            } B;\r
-        } ESR;                  /* Error Status Register */\r
-        uint32_t edma_reserved_erqrh;\r
-\r
-        union {\r
-            vuint32_t R;\r
-            struct {\r
-                vuint32_t ERQ31:1;\r
-                vuint32_t ERQ30:1;\r
-                vuint32_t ERQ29:1;\r
-                vuint32_t ERQ28:1;\r
-                vuint32_t ERQ27:1;\r
-                vuint32_t ERQ26:1;\r
-                vuint32_t ERQ25:1;\r
-                vuint32_t ERQ24:1;\r
-                vuint32_t ERQ23:1;\r
-                vuint32_t ERQ22:1;\r
-                vuint32_t ERQ21:1;\r
-                vuint32_t ERQ20:1;\r
-                vuint32_t ERQ19:1;\r
-                vuint32_t ERQ18:1;\r
-                vuint32_t ERQ17:1;\r
-                vuint32_t ERQ16:1;\r
-                vuint32_t ERQ15:1;\r
-                vuint32_t ERQ14:1;\r
-                vuint32_t ERQ13:1;\r
-                vuint32_t ERQ12:1;\r
-                vuint32_t ERQ11:1;\r
-                vuint32_t ERQ10:1;\r
-                vuint32_t ERQ09:1;\r
-                vuint32_t ERQ08:1;\r
-                vuint32_t ERQ07:1;\r
-                vuint32_t ERQ06:1;\r
-                vuint32_t ERQ05:1;\r
-                vuint32_t ERQ04:1;\r
-                vuint32_t ERQ03:1;\r
-                vuint32_t ERQ02:1;\r
-                vuint32_t ERQ01:1;\r
-                vuint32_t ERQ00:1;\r
-            } B;\r
-        } ERQRL;                /* DMA Enable Request Register Low */\r
-        uint32_t edma_reserved_eeirh;\r
-\r
-        union {\r
-            vuint32_t R;\r
-            struct {\r
-                vuint32_t EEI31:1;\r
-                vuint32_t EEI30:1;\r
-                vuint32_t EEI29:1;\r
-                vuint32_t EEI28:1;\r
-                vuint32_t EEI27:1;\r
-                vuint32_t EEI26:1;\r
-                vuint32_t EEI25:1;\r
-                vuint32_t EEI24:1;\r
-                vuint32_t EEI23:1;\r
-                vuint32_t EEI22:1;\r
-                vuint32_t EEI21:1;\r
-                vuint32_t EEI20:1;\r
-                vuint32_t EEI19:1;\r
-                vuint32_t EEI18:1;\r
-                vuint32_t EEI17:1;\r
-                vuint32_t EEI16:1;\r
-                vuint32_t EEI15:1;\r
-                vuint32_t EEI14:1;\r
-                vuint32_t EEI13:1;\r
-                vuint32_t EEI12:1;\r
-                vuint32_t EEI11:1;\r
-                vuint32_t EEI10:1;\r
-                vuint32_t EEI09:1;\r
-                vuint32_t EEI08:1;\r
-                vuint32_t EEI07:1;\r
-                vuint32_t EEI06:1;\r
-                vuint32_t EEI05:1;\r
-                vuint32_t EEI04:1;\r
-                vuint32_t EEI03:1;\r
-                vuint32_t EEI02:1;\r
-                vuint32_t EEI01:1;\r
-                vuint32_t EEI00:1;\r
-            } B;\r
-        } EEIRL;                /* DMA Enable Error Interrupt Register Low */\r
-        union {\r
-            vuint8_t R;\r
-            vuint8_t B;\r
-        } SERQR;                /* DMA Set Enable Request Register */\r
-        union {\r
-            vuint8_t R;\r
-            vuint8_t B;\r
-        } CERQR;                /* DMA Clear Enable Request Register */\r
-        union {\r
-            vuint8_t R;\r
-            vuint8_t B;\r
-        } SEEIR;                /* DMA Set Enable Error Interrupt Register */\r
-        union {\r
-            vuint8_t R;\r
-            vuint8_t B;\r
-        } CEEIR;                /* DMA Clear Enable Error Interrupt Register */\r
-        union {\r
-            vuint8_t R;\r
-            vuint8_t B;\r
-        } CIRQR;                /* DMA Clear Interrupt Request Register */\r
-        union {\r
-            vuint8_t R;\r
-            vuint8_t B;\r
-        } CER;                  /* DMA Clear error Register */\r
-        union {\r
-            vuint8_t R;\r
-            vuint8_t B;\r
-        } SSBR;                 /* Set Start Bit Register */\r
-        union {\r
-            vuint8_t R;\r
-            vuint8_t B;\r
-        } CDSBR;                /* Clear Done Status Bit Register */\r
-        uint32_t edma_reserved_irqrh;\r
-\r
-        union {\r
-            vuint32_t R;\r
-            struct {\r
-                vuint32_t INT31:1;\r
-                vuint32_t INT30:1;\r
-                vuint32_t INT29:1;\r
-                vuint32_t INT28:1;\r
-                vuint32_t INT27:1;\r
-                vuint32_t INT26:1;\r
-                vuint32_t INT25:1;\r
-                vuint32_t INT24:1;\r
-                vuint32_t INT23:1;\r
-                vuint32_t INT22:1;\r
-                vuint32_t INT21:1;\r
-                vuint32_t INT20:1;\r
-                vuint32_t INT19:1;\r
-                vuint32_t INT18:1;\r
-                vuint32_t INT17:1;\r
-                vuint32_t INT16:1;\r
-                vuint32_t INT15:1;\r
-                vuint32_t INT14:1;\r
-                vuint32_t INT13:1;\r
-                vuint32_t INT12:1;\r
-                vuint32_t INT11:1;\r
-                vuint32_t INT10:1;\r
-                vuint32_t INT09:1;\r
-                vuint32_t INT08:1;\r
-                vuint32_t INT07:1;\r
-                vuint32_t INT06:1;\r
-                vuint32_t INT05:1;\r
-                vuint32_t INT04:1;\r
-                vuint32_t INT03:1;\r
-                vuint32_t INT02:1;\r
-                vuint32_t INT01:1;\r
-                vuint32_t INT00:1;\r
-            } B;\r
-        } IRQRL;                /* DMA Interrupt Request Low */\r
-        uint32_t edma_reserved_erh;\r
-\r
-        union {\r
-            vuint32_t R;\r
-            struct {\r
-                vuint32_t ERR31:1;\r
-                vuint32_t ERR30:1;\r
-                vuint32_t ERR29:1;\r
-                vuint32_t ERR28:1;\r
-                vuint32_t ERR27:1;\r
-                vuint32_t ERR26:1;\r
-                vuint32_t ERR25:1;\r
-                vuint32_t ERR24:1;\r
-                vuint32_t ERR23:1;\r
-                vuint32_t ERR22:1;\r
-                vuint32_t ERR21:1;\r
-                vuint32_t ERR20:1;\r
-                vuint32_t ERR19:1;\r
-                vuint32_t ERR18:1;\r
-                vuint32_t ERR17:1;\r
-                vuint32_t ERR16:1;\r
-                vuint32_t ERR15:1;\r
-                vuint32_t ERR14:1;\r
-                vuint32_t ERR13:1;\r
-                vuint32_t ERR12:1;\r
-                vuint32_t ERR11:1;\r
-                vuint32_t ERR10:1;\r
-                vuint32_t ERR09:1;\r
-                vuint32_t ERR08:1;\r
-                vuint32_t ERR07:1;\r
-                vuint32_t ERR06:1;\r
-                vuint32_t ERR05:1;\r
-                vuint32_t ERR04:1;\r
-                vuint32_t ERR03:1;\r
-                vuint32_t ERR02:1;\r
-                vuint32_t ERR01:1;\r
-                vuint32_t ERR00:1;\r
-            } B;\r
-        } ERL;                  /* DMA Error Low */\r
-        uint32_t edma_reserved1[52];\r
-\r
-        union {\r
-            vuint8_t R;\r
-            struct {\r
-                vuint8_t ECP:1;\r
-\r
-                  vuint8_t:1;\r
-                vuint8_t GRPPRI:2;\r
-                vuint8_t CHPRI:4;\r
-\r
-            } B;\r
-        } CPR[64];              /* Channel n Priority */\r
-\r
-        uint32_t edma_reserved2[944];\r
-\r
-/****************************************************************************/\r
-/*       DMA2 Transfer Control Descriptor                                   */\r
-/****************************************************************************/\r
-\r
-        struct tcd_t {          /*for "standard" format TCDs (when EDMA.TCD[x].CITER.E_LINK==BITER.E_LINK=0 && EDMA.EMLM=0 ) */\r
-            vuint32_t SADDR;    /* source address */\r
-\r
-            vuint16_t SMOD:5;   /* source address modulo */\r
-            vuint16_t SSIZE:3;  /* source transfer size */\r
-            vuint16_t DMOD:5;   /* destination address modulo */\r
-            vuint16_t DSIZE:3;  /* destination transfer size */\r
-            vint16_t SOFF;      /* signed source address offset */\r
-\r
-            vuint32_t NBYTES;   /* inner (\93minor\94) byte count */\r
-\r
-            vint32_t SLAST;     /* last destination address adjustment, or\r
-\r
-                                   scatter/gather address (if e_sg = 1) */\r
-            vuint32_t DADDR;    /* destination address */\r
-\r
-            vuint16_t CITERE_LINK:1;\r
-            vuint16_t CITER:15;\r
-\r
-            vint16_t DOFF;      /* signed destination address offset */\r
-\r
-            vint32_t DLAST_SGA;\r
-\r
-            vuint16_t BITERE_LINK:1;    /* beginning ("major") iteration count */\r
-            vuint16_t BITER:15;\r
-\r
-            vuint16_t BWC:2;    /* bandwidth control */\r
-            vuint16_t MAJORLINKCH:6;    /* enable channel-to-channel link */\r
-            vuint16_t DONE:1;   /* channel done */\r
-            vuint16_t ACTIVE:1; /* channel active */\r
-            vuint16_t MAJORE_LINK:1;    /* enable channel-to-channel link */\r
-            vuint16_t E_SG:1;   /* enable scatter/gather descriptor */\r
-            vuint16_t D_REQ:1;  /* disable ipd_req when done */\r
-            vuint16_t INT_HALF:1;       /* interrupt on citer = (biter >> 1) */\r
-            vuint16_t INT_MAJ:1;        /* interrupt on major loop completion */\r
-            vuint16_t START:1;  /* explicit channel start */\r
-        } TCD[64];              /* transfer_control_descriptor */\r
-\r
-    };\r
-\r
-    struct EDMA_TCD_alt1_tag {  /*for alternate format TCDs (when EDMA.TCD[x].CITER.E_LINK==BITER.E_LINK=1 ) */\r
-\r
-        struct tcd_alt1_t {\r
-            vuint32_t SADDR;    /* source address */\r
-\r
-            vuint16_t SMOD:5;   /* source address modulo */\r
-            vuint16_t SSIZE:3;  /* source transfer size */\r
-            vuint16_t DMOD:5;   /* destination address modulo */\r
-            vuint16_t DSIZE:3;  /* destination transfer size */\r
-            vint16_t SOFF;      /* signed source address offset */\r
-\r
-            vuint32_t NBYTES;   /* inner (\93minor\94) byte count */\r
-\r
-            vint32_t SLAST;     /* last destination address adjustment, or\r
-\r
-                                   scatter/gather address (if e_sg = 1) */\r
-            vuint32_t DADDR;    /* destination address */\r
+#include "ip_edma.h"\r
 \r
-            vuint16_t CITERE_LINK:1;\r
-            vuint16_t CITERLINKCH:6;\r
-            vuint16_t CITER:9;\r
-\r
-            vint16_t DOFF;      /* signed destination address offset */\r
-\r
-            vint32_t DLAST_SGA;\r
-\r
-            vuint16_t BITERE_LINK:1;    /* beginning (\93major\94) iteration count */\r
-            vuint16_t BITERLINKCH:6;\r
-            vuint16_t BITER:9;\r
-\r
-            vuint16_t BWC:2;    /* bandwidth control */\r
-            vuint16_t MAJORLINKCH:6;    /* enable channel-to-channel link */\r
-            vuint16_t DONE:1;   /* channel done */\r
-            vuint16_t ACTIVE:1; /* channel active */\r
-            vuint16_t MAJORE_LINK:1;    /* enable channel-to-channel link */\r
-            vuint16_t E_SG:1;   /* enable scatter/gather descriptor */\r
-            vuint16_t D_REQ:1;  /* disable ipd_req when done */\r
-            vuint16_t INT_HALF:1;       /* interrupt on citer = (biter >> 1) */\r
-            vuint16_t INT_MAJ:1;        /* interrupt on major loop completion */\r
-            vuint16_t START:1;  /* explicit channel start */\r
-        } TCD[64];              /* transfer_control_descriptor */\r
-    };\r
 /****************************************************************************/\r
 /*                          MODULE : INTC                                   */\r
 /****************************************************************************/\r
-    struct INTC_tag {\r
+    CC_EXTENSION struct INTC_tag {\r
         union {\r
             vuint32_t R;\r
             struct {\r
@@ -2388,7 +2067,7 @@ extern "C" {
 /****************************************************************************/\r
 /*                          MODULE : EQADC                                  */\r
 /****************************************************************************/\r
-    struct EQADC_tag {\r
+    CC_EXTENSION struct EQADC_tag {\r
         union {\r
             vuint32_t R;\r
             struct {\r
@@ -2828,7 +2507,7 @@ extern "C" {
 /****************************************************************************/\r
 /*                          MODULE : eSCI                                   */\r
 /****************************************************************************/\r
-    struct ESCI_tag {\r
+    CC_EXTENSION struct ESCI_tag {\r
         union {\r
             vuint32_t R;\r
             struct {\r
@@ -2953,326 +2632,11 @@ extern "C" {
 /****************************************************************************/\r
 /*                          MODULE : FlexCAN                                */\r
 /****************************************************************************/\r
-    struct FLEXCAN2_tag {\r
-        union {\r
-            vuint32_t R;\r
-            struct {\r
-                vuint32_t MDIS:1;\r
-                vuint32_t FRZ:1;\r
-                  vuint32_t:1;\r
-                vuint32_t HALT:1;\r
-                vuint32_t NOTRDY:1;\r
-                  vuint32_t:1;\r
-                vuint32_t SOFTRST:1;\r
-                vuint32_t FRZACK:1;\r
-                  vuint32_t:1;\r
-                  vuint32_t:1;\r
-\r
-                vuint32_t WRNEN:1;\r
-\r
-                vuint32_t MDISACK:1;\r
-                  vuint32_t:1;\r
-                  vuint32_t:1;\r
-\r
-                vuint32_t SRXDIS:1;\r
-                vuint32_t MBFEN:1;\r
-                  vuint32_t:10;\r
-\r
-                vuint32_t MAXMB:6;\r
-            } B;\r
-        } MCR;                  /* Module Configuration Register */\r
-\r
-        union {\r
-            vuint32_t R;\r
-            struct {\r
-                vuint32_t PRESDIV:8;\r
-                vuint32_t RJW:2;\r
-                vuint32_t PSEG1:3;\r
-                vuint32_t PSEG2:3;\r
-                vuint32_t BOFFMSK:1;\r
-                vuint32_t ERRMSK:1;\r
-                vuint32_t CLKSRC:1;\r
-                vuint32_t LPB:1;\r
-\r
-                vuint32_t TWRNMSK:1;\r
-                vuint32_t RWRNMSK:1;\r
-                  vuint32_t:2;\r
-\r
-                vuint32_t SMP:1;\r
-                vuint32_t BOFFREC:1;\r
-                vuint32_t TSYN:1;\r
-                vuint32_t LBUF:1;\r
-                vuint32_t LOM:1;\r
-                vuint32_t PROPSEG:3;\r
-            } B;\r
-        } CR;                   /* Control Register */\r
-\r
-        union {\r
-            vuint32_t R;\r
-        } TIMER;                /* Free Running Timer */\r
-        int32_t FLEXCAN_reserved00;\r
-\r
-        union {\r
-            vuint32_t R;\r
-            struct {\r
-                vuint32_t:3;\r
-                vuint32_t MI:29;\r
-            } B;\r
-        } RXGMASK;              /* RX Global Mask */\r
-\r
-        union {\r
-            vuint32_t R;\r
-            struct {\r
-                vuint32_t:3;\r
-                vuint32_t MI:29;\r
-            } B;\r
-        } RX14MASK;             /* RX 14 Mask */\r
-\r
-        union {\r
-            vuint32_t R;\r
-            struct {\r
-                vuint32_t:3;\r
-                vuint32_t MI:29;\r
-            } B;\r
-        } RX15MASK;             /* RX 15 Mask */\r
-\r
-        union {\r
-            vuint32_t R;\r
-            struct {\r
-                vuint32_t:16;\r
-                vuint32_t RXECNT:8;\r
-                vuint32_t TXECNT:8;\r
-            } B;\r
-        } ECR;                  /* Error Counter Register */\r
-\r
-        union {\r
-            vuint32_t R;\r
-            struct {\r
-                vuint32_t:14;\r
-\r
-                vuint32_t TWRNINT:1;\r
-                vuint32_t RWRNINT:1;\r
-\r
-                vuint32_t BIT1ERR:1;\r
-                vuint32_t BIT0ERR:1;\r
-                vuint32_t ACKERR:1;\r
-                vuint32_t CRCERR:1;\r
-                vuint32_t FRMERR:1;\r
-                vuint32_t STFERR:1;\r
-                vuint32_t TXWRN:1;\r
-                vuint32_t RXWRN:1;\r
-                vuint32_t IDLE:1;\r
-                vuint32_t TXRX:1;\r
-                vuint32_t FLTCONF:2;\r
-                  vuint32_t:1;\r
-                vuint32_t BOFFINT:1;\r
-                vuint32_t ERRINT:1;\r
-                  vuint32_t:1;\r
-            } B;\r
-        } ESR;                  /* Error and Status Register */\r
-\r
-        union {\r
-            vuint32_t R;\r
-            struct {\r
-                vuint32_t BUF63M:1;\r
-                vuint32_t BUF62M:1;\r
-                vuint32_t BUF61M:1;\r
-                vuint32_t BUF60M:1;\r
-                vuint32_t BUF59M:1;\r
-                vuint32_t BUF58M:1;\r
-                vuint32_t BUF57M:1;\r
-                vuint32_t BUF56M:1;\r
-                vuint32_t BUF55M:1;\r
-                vuint32_t BUF54M:1;\r
-                vuint32_t BUF53M:1;\r
-                vuint32_t BUF52M:1;\r
-                vuint32_t BUF51M:1;\r
-                vuint32_t BUF50M:1;\r
-                vuint32_t BUF49M:1;\r
-                vuint32_t BUF48M:1;\r
-                vuint32_t BUF47M:1;\r
-                vuint32_t BUF46M:1;\r
-                vuint32_t BUF45M:1;\r
-                vuint32_t BUF44M:1;\r
-                vuint32_t BUF43M:1;\r
-                vuint32_t BUF42M:1;\r
-                vuint32_t BUF41M:1;\r
-                vuint32_t BUF40M:1;\r
-                vuint32_t BUF39M:1;\r
-                vuint32_t BUF38M:1;\r
-                vuint32_t BUF37M:1;\r
-                vuint32_t BUF36M:1;\r
-                vuint32_t BUF35M:1;\r
-                vuint32_t BUF34M:1;\r
-                vuint32_t BUF33M:1;\r
-                vuint32_t BUF32M:1;\r
-            } B;\r
-        } IMRH;                 /* Interruput Masks Register */\r
-\r
-        union {\r
-            vuint32_t R;\r
-            struct {\r
-                vuint32_t BUF31M:1;\r
-                vuint32_t BUF30M:1;\r
-                vuint32_t BUF29M:1;\r
-                vuint32_t BUF28M:1;\r
-                vuint32_t BUF27M:1;\r
-                vuint32_t BUF26M:1;\r
-                vuint32_t BUF25M:1;\r
-                vuint32_t BUF24M:1;\r
-                vuint32_t BUF23M:1;\r
-                vuint32_t BUF22M:1;\r
-                vuint32_t BUF21M:1;\r
-                vuint32_t BUF20M:1;\r
-                vuint32_t BUF19M:1;\r
-                vuint32_t BUF18M:1;\r
-                vuint32_t BUF17M:1;\r
-                vuint32_t BUF16M:1;\r
-                vuint32_t BUF15M:1;\r
-                vuint32_t BUF14M:1;\r
-                vuint32_t BUF13M:1;\r
-                vuint32_t BUF12M:1;\r
-                vuint32_t BUF11M:1;\r
-                vuint32_t BUF10M:1;\r
-                vuint32_t BUF09M:1;\r
-                vuint32_t BUF08M:1;\r
-                vuint32_t BUF07M:1;\r
-                vuint32_t BUF06M:1;\r
-                vuint32_t BUF05M:1;\r
-                vuint32_t BUF04M:1;\r
-                vuint32_t BUF03M:1;\r
-                vuint32_t BUF02M:1;\r
-                vuint32_t BUF01M:1;\r
-                vuint32_t BUF00M:1;\r
-            } B;\r
-        } IMRL;                 /* Interruput Masks Register */\r
-\r
-        union {\r
-            vuint32_t R;\r
-            struct {\r
-                vuint32_t BUF63I:1;\r
-                vuint32_t BUF62I:1;\r
-                vuint32_t BUF61I:1;\r
-                vuint32_t BUF60I:1;\r
-                vuint32_t BUF59I:1;\r
-                vuint32_t BUF58I:1;\r
-                vuint32_t BUF57I:1;\r
-                vuint32_t BUF56I:1;\r
-                vuint32_t BUF55I:1;\r
-                vuint32_t BUF54I:1;\r
-                vuint32_t BUF53I:1;\r
-                vuint32_t BUF52I:1;\r
-                vuint32_t BUF51I:1;\r
-                vuint32_t BUF50I:1;\r
-                vuint32_t BUF49I:1;\r
-                vuint32_t BUF48I:1;\r
-                vuint32_t BUF47I:1;\r
-                vuint32_t BUF46I:1;\r
-                vuint32_t BUF45I:1;\r
-                vuint32_t BUF44I:1;\r
-                vuint32_t BUF43I:1;\r
-                vuint32_t BUF42I:1;\r
-                vuint32_t BUF41I:1;\r
-                vuint32_t BUF40I:1;\r
-                vuint32_t BUF39I:1;\r
-                vuint32_t BUF38I:1;\r
-                vuint32_t BUF37I:1;\r
-                vuint32_t BUF36I:1;\r
-                vuint32_t BUF35I:1;\r
-                vuint32_t BUF34I:1;\r
-                vuint32_t BUF33I:1;\r
-                vuint32_t BUF32I:1;\r
-            } B;\r
-        } IFRH;                 /* Interruput Flag Register */\r
-\r
-        union {\r
-            vuint32_t R;\r
-            struct {\r
-                vuint32_t BUF31I:1;\r
-                vuint32_t BUF30I:1;\r
-                vuint32_t BUF29I:1;\r
-                vuint32_t BUF28I:1;\r
-                vuint32_t BUF27I:1;\r
-                vuint32_t BUF26I:1;\r
-                vuint32_t BUF25I:1;\r
-                vuint32_t BUF24I:1;\r
-                vuint32_t BUF23I:1;\r
-                vuint32_t BUF22I:1;\r
-                vuint32_t BUF21I:1;\r
-                vuint32_t BUF20I:1;\r
-                vuint32_t BUF19I:1;\r
-                vuint32_t BUF18I:1;\r
-                vuint32_t BUF17I:1;\r
-                vuint32_t BUF16I:1;\r
-                vuint32_t BUF15I:1;\r
-                vuint32_t BUF14I:1;\r
-                vuint32_t BUF13I:1;\r
-                vuint32_t BUF12I:1;\r
-                vuint32_t BUF11I:1;\r
-                vuint32_t BUF10I:1;\r
-                vuint32_t BUF09I:1;\r
-                vuint32_t BUF08I:1;\r
-                vuint32_t BUF07I:1;\r
-                vuint32_t BUF06I:1;\r
-                vuint32_t BUF05I:1;\r
-                vuint32_t BUF04I:1;\r
-                vuint32_t BUF03I:1;\r
-                vuint32_t BUF02I:1;\r
-                vuint32_t BUF01I:1;\r
-                vuint32_t BUF00I:1;\r
-            } B;\r
-        } IFRL;                 /* Interruput Flag Register */\r
-\r
-        uint32_t flexcan2_reserved2[19];\r
-\r
-        struct canbuf_t {\r
-            union {\r
-                vuint32_t R;\r
-                struct {\r
-                    vuint32_t:4;\r
-                    vuint32_t CODE:4;\r
-                      vuint32_t:1;\r
-                    vuint32_t SRR:1;\r
-                    vuint32_t IDE:1;\r
-                    vuint32_t RTR:1;\r
-                    vuint32_t LENGTH:4;\r
-                    vuint32_t TIMESTAMP:16;\r
-                } B;\r
-            } CS;\r
-\r
-            union {\r
-                vuint32_t R;\r
-                struct {\r
-                    vuint32_t:3;\r
-                    vuint32_t STD_ID:11;\r
-                    vuint32_t EXT_ID:18;\r
-                } B;\r
-            } ID;\r
-\r
-            union {\r
-                vuint8_t B[8];  /* Data buffer in Bytes (8 bits) */\r
-                vuint16_t H[4]; /* Data buffer in Half-words (16 bits) */\r
-                vuint32_t W[2]; /* Data buffer in words (32 bits) */\r
-                vuint32_t R[2]; /* Data buffer in words (32 bits) */\r
-            } DATA;\r
-\r
-        } BUF[64];\r
-\r
-        uint32_t flexcan2_reserved3[256];\r
-\r
-        union {\r
-            vuint32_t R;\r
-            struct {\r
-                vuint32_t:3;\r
-                vuint32_t MI:29;\r
-            } B;\r
-        } RXIMR[64];            /* RX Individual Mask Registers */\r
-\r
-    };\r
+#include "ip_flexcan.h"\r
 /****************************************************************************/\r
 /*                          MODULE : FEC                                    */\r
 /****************************************************************************/\r
-    struct FEC_tag {\r
+    CC_EXTENSION struct FEC_tag {\r
 \r
         uint32_t fec_reserved_start[0x1];\r
 \r
@@ -3752,7 +3116,7 @@ extern "C" {
 /*                          MODULE : FlexRay                                */\r
 /****************************************************************************/\r
 \r
-    typedef union uMVR {\r
+    CC_EXTENSION typedef union uMVR {\r
         vuint16_t R;\r
         struct {\r
             vuint16_t CHIVER:8; /* CHI Version Number */\r
@@ -3760,7 +3124,7 @@ extern "C" {
         } B;\r
     } MVR_t;\r
 \r
-    typedef union uMCR {\r
+    CC_EXTENSION typedef union uMCR {\r
         vuint16_t R;\r
         struct {\r
             vuint16_t MEN:1;    /* module enable */\r
@@ -3775,7 +3139,7 @@ extern "C" {
               vuint16_t:1;\r
         } B;\r
     } MCR_t;\r
-    typedef union uSTBSCR {\r
+    CC_EXTENSION typedef union uSTBSCR {\r
         vuint16_t R;\r
         struct {\r
             vuint16_t WMD:1;    /* write mode */\r
@@ -3786,7 +3150,7 @@ extern "C" {
             vuint16_t STBPSEL:2;        /* strobe port select */\r
         } B;\r
     } STBSCR_t;\r
-    typedef union uSTBPCR {\r
+    CC_EXTENSION typedef union uSTBPCR {\r
         vuint16_t R;\r
         struct {\r
             vuint16_t:12;\r
@@ -3797,7 +3161,7 @@ extern "C" {
         } B;\r
     } STBPCR_t;\r
 \r
-    typedef union uMBDSR {\r
+    CC_EXTENSION typedef union uMBDSR {\r
         vuint16_t R;\r
         struct {\r
             vuint16_t:1;\r
@@ -3806,7 +3170,7 @@ extern "C" {
             vuint16_t MBSEG1DS:7;       /* message buffer segment 1 data size */\r
         } B;\r
     } MBDSR_t;\r
-    typedef union uMBSSUTR {\r
+    CC_EXTENSION typedef union uMBSSUTR {\r
         vuint16_t R;\r
         struct {\r
 \r
@@ -3817,7 +3181,7 @@ extern "C" {
         } B;\r
     } MBSSUTR_t;\r
 \r
-    typedef union uPOCR {\r
+    CC_EXTENSION typedef union uPOCR {\r
         vuint16_t R;\r
         vuint8_t byte[2];\r
         struct {\r
@@ -3831,7 +3195,7 @@ extern "C" {
         } B;\r
     } POCR_t;\r
 /* protocol commands */\r
-    typedef union uGIFER {\r
+    CC_EXTENSION typedef union uGIFER {\r
         vuint16_t R;\r
         struct {\r
             vuint16_t MIF:1;    /* module interrupt flag */\r
@@ -3852,7 +3216,7 @@ extern "C" {
             vuint16_t TBIE:1;   /* transmit buffer interrupt enable */\r
         } B;\r
     } GIFER_t;\r
-    typedef union uPIFR0 {\r
+    CC_EXTENSION typedef union uPIFR0 {\r
         vuint16_t R;\r
         struct {\r
             vuint16_t FATLIF:1; /* fatal protocol error interrupt flag */\r
@@ -3873,7 +3237,7 @@ extern "C" {
             vuint16_t CYSIF:1;  /* cycle start interrupt flag */\r
         } B;\r
     } PIFR0_t;\r
-    typedef union uPIFR1 {\r
+    CC_EXTENSION typedef union uPIFR1 {\r
         vuint16_t R;\r
         struct {\r
             vuint16_t EMCIF:1;  /* error mode changed interrupt flag */\r
@@ -3890,7 +3254,7 @@ extern "C" {
               vuint16_t:4;\r
         } B;\r
     } PIFR1_t;\r
-    typedef union uPIER0 {\r
+    CC_EXTENSION typedef union uPIER0 {\r
         vuint16_t R;\r
         struct {\r
             vuint16_t FATLIE:1; /* fatal protocol error interrupt enable */\r
@@ -3911,7 +3275,7 @@ extern "C" {
             vuint16_t CYSIE:1;  /* cycle start interrupt enable */\r
         } B;\r
     } PIER0_t;\r
-    typedef union uPIER1 {\r
+    CC_EXTENSION typedef union uPIER1 {\r
         vuint16_t R;\r
         struct {\r
             vuint16_t EMCIE:1;  /* error mode changed interrupt enable */\r
@@ -3928,7 +3292,7 @@ extern "C" {
               vuint16_t:4;\r
         } B;\r
     } PIER1_t;\r
-    typedef union uCHIERFR {\r
+    CC_EXTENSION typedef union uCHIERFR {\r
         vuint16_t R;\r
         struct {\r
             vuint16_t FRLBEF:1; /* flame lost channel B error flag */\r
@@ -3949,7 +3313,7 @@ extern "C" {
             vuint16_t ILSAEF:1; /* illegal access error flag */\r
         } B;\r
     } CHIERFR_t;\r
-    typedef union uMBIVEC {\r
+    CC_EXTENSION typedef union uMBIVEC {\r
         vuint16_t R;\r
         struct {\r
 \r
@@ -3960,7 +3324,7 @@ extern "C" {
         } B;\r
     } MBIVEC_t;\r
 \r
-    typedef union uPSR0 {\r
+    CC_EXTENSION typedef union uPSR0 {\r
         vuint16_t R;\r
         struct {\r
             vuint16_t ERRMODE:2;        /* error mode */\r
@@ -3976,7 +3340,7 @@ extern "C" {
 /* protocol states */\r
 /* protocol sub-states */\r
 /* wakeup status */\r
-    typedef union uPSR1 {\r
+    CC_EXTENSION typedef union uPSR1 {\r
         vuint16_t R;\r
         struct {\r
             vuint16_t CSAA:1;   /* cold start attempt abort flag */\r
@@ -3989,7 +3353,7 @@ extern "C" {
             vuint16_t APTAC:5;  /* allow passive to active counter */\r
         } B;\r
     } PSR1_t;\r
-    typedef union uPSR2 {\r
+    CC_EXTENSION typedef union uPSR2 {\r
         vuint16_t R;\r
         struct {\r
             vuint16_t NBVB:1;   /* NIT boundary violation on channel B */\r
@@ -4007,7 +3371,7 @@ extern "C" {
             vuint16_t CLKCORRFAILCNT:4; /* clock correction failed counter */\r
         } B;\r
     } PSR2_t;\r
-    typedef union uPSR3 {\r
+    CC_EXTENSION typedef union uPSR3 {\r
         vuint16_t R;\r
         struct {\r
             vuint16_t:2;\r
@@ -4026,7 +3390,7 @@ extern "C" {
             vuint16_t AVFA:1;   /* aggregated valid frame on channel A */\r
         } B;\r
     } PSR3_t;\r
-    typedef union uCIFRR {\r
+    CC_EXTENSION typedef union uCIFRR {\r
         vuint16_t R;\r
         struct {\r
             vuint16_t:8;\r
@@ -4040,7 +3404,7 @@ extern "C" {
             vuint16_t TBIFR:1;  /* transmit buffer interrupt flag */\r
         } B;\r
     } CIFRR_t;\r
-    typedef union uSFCNTR {\r
+    CC_EXTENSION typedef union uSFCNTR {\r
         vuint16_t R;\r
         struct {\r
             vuint16_t SFEVB:4;  /* sync frames channel B, even cycle */\r
@@ -4050,7 +3414,7 @@ extern "C" {
         } B;\r
     } SFCNTR_t;\r
 \r
-    typedef union uSFTCCSR {\r
+    CC_EXTENSION typedef union uSFTCCSR {\r
         vuint16_t R;\r
         struct {\r
             vuint16_t ELKT:1;   /* even cycle tables lock and unlock trigger */\r
@@ -4066,7 +3430,7 @@ extern "C" {
             vuint16_t SIDEN:1;  /* sync frame ID table enable */\r
         } B;\r
     } SFTCCSR_t;\r
-    typedef union uSFIDRFR {\r
+    CC_EXTENSION typedef union uSFIDRFR {\r
         vuint16_t R;\r
         struct {\r
             vuint16_t:6;\r
@@ -4074,7 +3438,7 @@ extern "C" {
         } B;\r
     } SFIDRFR_t;\r
 \r
-    typedef union uTICCR {\r
+    CC_EXTENSION typedef union uTICCR {\r
         vuint16_t R;\r
         struct {\r
             vuint16_t:2;\r
@@ -4093,7 +3457,7 @@ extern "C" {
 \r
         } B;\r
     } TICCR_t;\r
-    typedef union uTI1CYSR {\r
+    CC_EXTENSION typedef union uTI1CYSR {\r
         vuint16_t R;\r
         struct {\r
             vuint16_t:2;\r
@@ -4104,7 +3468,7 @@ extern "C" {
         } B;\r
     } TI1CYSR_t;\r
 \r
-    typedef union uSSSR {\r
+    CC_EXTENSION typedef union uSSSR {\r
         vuint16_t R;\r
         struct {\r
             vuint16_t WMD:1;    /* write mode */\r
@@ -4115,7 +3479,7 @@ extern "C" {
         } B;\r
     } SSSR_t;\r
 \r
-    typedef union uSSCCR {\r
+    CC_EXTENSION typedef union uSSCCR {\r
         vuint16_t R;\r
         struct {\r
             vuint16_t WMD:1;    /* write mode */\r
@@ -4131,7 +3495,7 @@ extern "C" {
             vuint16_t STATUSMASK:4;     /* slot status mask */\r
         } B;\r
     } SSCCR_t;\r
-    typedef union uSSR {\r
+    CC_EXTENSION typedef union uSSR {\r
         vuint16_t R;\r
         struct {\r
             vuint16_t VFB:1;    /* valid frame on channel B */\r
@@ -4152,7 +3516,7 @@ extern "C" {
             vuint16_t TCA:1;    /* tx conflict on channel A */\r
         } B;\r
     } SSR_t;\r
-    typedef union uMTSCFR {\r
+    CC_EXTENSION typedef union uMTSCFR {\r
         vuint16_t R;\r
         struct {\r
             vuint16_t MTE:1;    /* media access test symbol transmission enable */\r
@@ -4162,7 +3526,7 @@ extern "C" {
             vuint16_t CYCCNTVAL:6;      /* cycle counter value */\r
         } B;\r
     } MTSCFR_t;\r
-    typedef union uRSBIR {\r
+    CC_EXTENSION typedef union uRSBIR {\r
         vuint16_t R;\r
         struct {\r
             vuint16_t WMD:1;    /* write mode */\r
@@ -4172,7 +3536,7 @@ extern "C" {
             vuint16_t RSBIDX:8; /* receive shadow buffer index */\r
         } B;\r
     } RSBIR_t;\r
-    typedef union uRFDSR {\r
+    CC_EXTENSION typedef union uRFDSR {\r
         vuint16_t R;\r
         struct {\r
             vuint16_t FIFODEPTH:8;      /* fifo depth */\r
@@ -4181,7 +3545,7 @@ extern "C" {
         } B;\r
     } RFDSR_t;\r
 \r
-    typedef union uRFRFCFR {\r
+    CC_EXTENSION typedef union uRFRFCFR {\r
         vuint16_t R;\r
         struct {\r
             vuint16_t WMD:1;    /* write mode */\r
@@ -4192,7 +3556,7 @@ extern "C" {
         } B;\r
     } RFRFCFR_t;\r
 \r
-    typedef union uRFRFCTR {\r
+    CC_EXTENSION typedef union uRFRFCTR {\r
         vuint16_t R;\r
         struct {\r
             vuint16_t:4;\r
@@ -4207,7 +3571,7 @@ extern "C" {
             vuint16_t F0EN:1;   /* filter enable */\r
         } B;\r
     } RFRFCTR_t;\r
-    typedef union uPCR0 {\r
+    CC_EXTENSION typedef union uPCR0 {\r
         vuint16_t R;\r
         struct {\r
             vuint16_t ACTION_POINT_OFFSET:6;\r
@@ -4215,7 +3579,7 @@ extern "C" {
         } B;\r
     } PCR0_t;\r
 \r
-    typedef union uPCR1 {\r
+    CC_EXTENSION typedef union uPCR1 {\r
         vuint16_t R;\r
         struct {\r
             vuint16_t:2;\r
@@ -4223,7 +3587,7 @@ extern "C" {
         } B;\r
     } PCR1_t;\r
 \r
-    typedef union uPCR2 {\r
+    CC_EXTENSION typedef union uPCR2 {\r
         vuint16_t R;\r
         struct {\r
             vuint16_t MINISLOT_AFTER_ACTION_POINT:6;\r
@@ -4231,7 +3595,7 @@ extern "C" {
         } B;\r
     } PCR2_t;\r
 \r
-    typedef union uPCR3 {\r
+    CC_EXTENSION typedef union uPCR3 {\r
         vuint16_t R;\r
         struct {\r
             vuint16_t WAKEUP_SYMBOL_RX_LOW:6;\r
@@ -4240,7 +3604,7 @@ extern "C" {
         } B;\r
     } PCR3_t;\r
 \r
-    typedef union uPCR4 {\r
+    CC_EXTENSION typedef union uPCR4 {\r
         vuint16_t R;\r
         struct {\r
             vuint16_t CAS_RX_LOW_MAX:7;\r
@@ -4248,7 +3612,7 @@ extern "C" {
         } B;\r
     } PCR4_t;\r
 \r
-    typedef union uPCR5 {\r
+    CC_EXTENSION typedef union uPCR5 {\r
         vuint16_t R;\r
         struct {\r
             vuint16_t TSS_TRANSMITTER:4;\r
@@ -4257,7 +3621,7 @@ extern "C" {
         } B;\r
     } PCR5_t;\r
 \r
-    typedef union uPCR6 {\r
+    CC_EXTENSION typedef union uPCR6 {\r
         vuint16_t R;\r
         struct {\r
             vuint16_t:1;\r
@@ -4266,7 +3630,7 @@ extern "C" {
         } B;\r
     } PCR6_t;\r
 \r
-    typedef union uPCR7 {\r
+    CC_EXTENSION typedef union uPCR7 {\r
         vuint16_t R;\r
         struct {\r
             vuint16_t DECODING_CORRECTION_B:9;\r
@@ -4274,7 +3638,7 @@ extern "C" {
         } B;\r
     } PCR7_t;\r
 \r
-    typedef union uPCR8 {\r
+    CC_EXTENSION typedef union uPCR8 {\r
         vuint16_t R;\r
         struct {\r
             vuint16_t MAX_WITHOUT_CLOCK_CORRECTION_FATAL:4;\r
@@ -4283,7 +3647,7 @@ extern "C" {
         } B;\r
     } PCR8_t;\r
 \r
-    typedef union uPCR9 {\r
+    CC_EXTENSION typedef union uPCR9 {\r
         vuint16_t R;\r
         struct {\r
             vuint16_t MINISLOT_EXISTS:1;\r
@@ -4292,7 +3656,7 @@ extern "C" {
         } B;\r
     } PCR9_t;\r
 \r
-    typedef union uPCR10 {\r
+    CC_EXTENSION typedef union uPCR10 {\r
         vuint16_t R;\r
         struct {\r
             vuint16_t SINGLE_SLOT_ENABLED:1;\r
@@ -4301,7 +3665,7 @@ extern "C" {
         } B;\r
     } PCR10_t;\r
 \r
-    typedef union uPCR11 {\r
+    CC_EXTENSION typedef union uPCR11 {\r
         vuint16_t R;\r
         struct {\r
             vuint16_t KEY_SLOT_USED_FOR_STARTUP:1;\r
@@ -4310,7 +3674,7 @@ extern "C" {
         } B;\r
     } PCR11_t;\r
 \r
-    typedef union uPCR12 {\r
+    CC_EXTENSION typedef union uPCR12 {\r
         vuint16_t R;\r
         struct {\r
             vuint16_t ALLOW_PASSIVE_TO_ACTIVE:5;\r
@@ -4318,7 +3682,7 @@ extern "C" {
         } B;\r
     } PCR12_t;\r
 \r
-    typedef union uPCR13 {\r
+    CC_EXTENSION typedef union uPCR13 {\r
         vuint16_t R;\r
         struct {\r
             vuint16_t FIRST_MINISLOT_ACTION_POINT_OFFSET:6;\r
@@ -4326,7 +3690,7 @@ extern "C" {
         } B;\r
     } PCR13_t;\r
 \r
-    typedef union uPCR14 {\r
+    CC_EXTENSION typedef union uPCR14 {\r
         vuint16_t R;\r
         struct {\r
             vuint16_t RATE_CORRECTION_OUT:11;\r
@@ -4334,14 +3698,14 @@ extern "C" {
         } B;\r
     } PCR14_t;\r
 \r
-    typedef union uPCR15 {\r
+    CC_EXTENSION typedef union uPCR15 {\r
         vuint16_t R;\r
         struct {\r
             vuint16_t LISTEN_TIMEOUT_L:16;\r
         } B;\r
     } PCR15_t;\r
 \r
-    typedef union uPCR16 {\r
+    CC_EXTENSION typedef union uPCR16 {\r
         vuint16_t R;\r
         struct {\r
             vuint16_t MACRO_INITIAL_OFFSET_B:7;\r
@@ -4349,14 +3713,14 @@ extern "C" {
         } B;\r
     } PCR16_t;\r
 \r
-    typedef union uPCR17 {\r
+    CC_EXTENSION typedef union uPCR17 {\r
         vuint16_t R;\r
         struct {\r
             vuint16_t NOISE_LISTEN_TIMEOUT_L:16;\r
         } B;\r
     } PCR17_t;\r
 \r
-    typedef union uPCR18 {\r
+    CC_EXTENSION typedef union uPCR18 {\r
         vuint16_t R;\r
         struct {\r
             vuint16_t WAKEUP_PATTERN:6;\r
@@ -4364,7 +3728,7 @@ extern "C" {
         } B;\r
     } PCR18_t;\r
 \r
-    typedef union uPCR19 {\r
+    CC_EXTENSION typedef union uPCR19 {\r
         vuint16_t R;\r
         struct {\r
             vuint16_t DECODING_CORRECTION_A:9;\r
@@ -4372,7 +3736,7 @@ extern "C" {
         } B;\r
     } PCR19_t;\r
 \r
-    typedef union uPCR20 {\r
+    CC_EXTENSION typedef union uPCR20 {\r
         vuint16_t R;\r
         struct {\r
             vuint16_t MICRO_INITIAL_OFFSET_B:8;\r
@@ -4380,7 +3744,7 @@ extern "C" {
         } B;\r
     } PCR20_t;\r
 \r
-    typedef union uPCR21 {\r
+    CC_EXTENSION typedef union uPCR21 {\r
         vuint16_t R;\r
         struct {\r
             vuint16_t EXTERN_RATE_CORRECTION:3;\r
@@ -4388,7 +3752,7 @@ extern "C" {
         } B;\r
     } PCR21_t;\r
 \r
-    typedef union uPCR22 {\r
+    CC_EXTENSION typedef union uPCR22 {\r
         vuint16_t R;\r
         struct {\r
             vuint16_t:1;\r
@@ -4397,14 +3761,14 @@ extern "C" {
         } B;\r
     } PCR22_t;\r
 \r
-    typedef union uPCR23 {\r
+    CC_EXTENSION typedef union uPCR23 {\r
         vuint16_t R;\r
         struct {\r
             vuint16_t micro_per_cycle_l:16;\r
         } B;\r
     } PCR23_t;\r
 \r
-    typedef union uPCR24 {\r
+    CC_EXTENSION typedef union uPCR24 {\r
         vuint16_t R;\r
         struct {\r
             vuint16_t CLUSTER_DRIFT_DAMPING:5;\r
@@ -4413,14 +3777,14 @@ extern "C" {
         } B;\r
     } PCR24_t;\r
 \r
-    typedef union uPCR25 {\r
+    CC_EXTENSION typedef union uPCR25 {\r
         vuint16_t R;\r
         struct {\r
             vuint16_t MICRO_PER_CYCLE_MIN_L:16;\r
         } B;\r
     } PCR25_t;\r
 \r
-    typedef union uPCR26 {\r
+    CC_EXTENSION typedef union uPCR26 {\r
         vuint16_t R;\r
         struct {\r
             vuint16_t ALLOW_HALT_DUE_TO_CLOCK:1;\r
@@ -4429,14 +3793,14 @@ extern "C" {
         } B;\r
     } PCR26_t;\r
 \r
-    typedef union uPCR27 {\r
+    CC_EXTENSION typedef union uPCR27 {\r
         vuint16_t R;\r
         struct {\r
             vuint16_t MICRO_PER_CYCLE_MAX_L:16;\r
         } B;\r
     } PCR27_t;\r
 \r
-    typedef union uPCR28 {\r
+    CC_EXTENSION typedef union uPCR28 {\r
         vuint16_t R;\r
         struct {\r
             vuint16_t DYNAMIC_SLOT_IDLE_PHASE:2;\r
@@ -4444,7 +3808,7 @@ extern "C" {
         } B;\r
     } PCR28_t;\r
 \r
-    typedef union uPCR29 {\r
+    CC_EXTENSION typedef union uPCR29 {\r
         vuint16_t R;\r
         struct {\r
             vuint16_t EXTERN_OFFSET_CORRECTION:3;\r
@@ -4452,7 +3816,7 @@ extern "C" {
         } B;\r
     } PCR29_t;\r
 \r
-    typedef union uPCR30 {\r
+    CC_EXTENSION typedef union uPCR30 {\r
         vuint16_t R;\r
         struct {\r
             vuint16_t:12;\r
@@ -4460,7 +3824,7 @@ extern "C" {
         } B;\r
     } PCR30_t;\r
 \r
-    typedef struct uMSG_BUFF_CCS {\r
+    CC_EXTENSION typedef struct uMSG_BUFF_CCS {\r
         union {\r
             vuint16_t R;\r
             struct {\r
@@ -4698,7 +4062,7 @@ extern "C" {
         volatile MSG_BUFF_CCS_t MBCCS[128];     /* message buffer configuration, control & status registers 0-31 *//*100 */\r
     } FR_tag_t;\r
 \r
-    typedef union uF_HEADER     /* frame header */\r
+    CC_EXTENSION typedef union uF_HEADER     /* frame header */\r
     {\r
         struct {\r
             vuint16_t:5;\r
@@ -4716,7 +4080,7 @@ extern "C" {
         } B;\r
         vuint16_t WORDS[3];\r
     } F_HEADER_t;\r
-    typedef union uS_STSTUS     /* slot status */\r
+    CC_EXTENSION typedef union uS_STSTUS     /* slot status */\r
     {\r
         struct {\r
             vuint16_t VFB:1;    /* Valid Frame on channel B */\r
@@ -4766,6 +4130,7 @@ extern "C" {
 \r
 /* Define memories */\r
 \r
+#if 0\r
 #define SRAM_START  0x40000000\r
 #define SRAM_SIZE      0x14000\r
 #define SRAM_END    0x40013FFF\r
@@ -4773,6 +4138,7 @@ extern "C" {
 #define FLASH_START         0x0\r
 #define FLASH_SIZE      0x200000\r
 #define FLASH_END       0x1FFFFF\r
+#endif\r
 \r
 /* Define instances of modules */\r
 #define PBRIDGE_A (*( volatile struct PBRIDGE_A_tag *) 0xC3F00000)\r