Przeglądaj źródła

Removed unnecessary files

bruneu01 9 lat temu
rodzic
commit
978b4e90aa

+ 0 - 20
CMSIS/DoxyGen/SVD/src/ARM_ExampleT0.h

@@ -1,20 +0,0 @@
-/* ================                     TIMER0                     ================ */
-typedef struct {                                    /*!< TIMER0 Structure                                                      */
-  __IO uint32_t  CR;                                /*!< Control Register                                                      */
-  __IO uint16_t  SR;                                /*!< Status Register                                                       */
-  __I  uint16_t  RESERVED0[5];
-  __IO uint16_t  INT;                               /*!< Interrupt Register                                                    */
-  __I  uint16_t  RESERVED1[7];
-  __IO uint32_t  COUNT;                             /*!< The Counter Register reflects the actual Value of the Timer/Counter   */
-  __IO uint32_t  MATCH;                             /*!< The Match Register stores the compare Value for the MATCH condition   */
-  
-  union {
-    __O  uint32_t  PRESCALE_WR;                     /*!< The Prescale Register stores the Value for the prescaler. The
-                                                         cont event gets divided by this value                                 */
-    __I  uint32_t  PRESCALE_RD;                     /*!< The Prescale Register stores the Value for the prescaler. The
-                                                         cont event gets divided by this value                                 */
-  };
-  __I  uint32_t  RESERVED2[9];
-  __IO uint32_t  RELOAD[4];                         /*!< The Reload Register stores the Value the COUNT Register gets
-                                                         reloaded on a when a condition was met.                               */
-} TIMER0_Type;

+ 0 - 68
CMSIS/DoxyGen/SVD/src/ARM_ExampleT0Struct.h

@@ -1,68 +0,0 @@
-/* ================                     TIMER0                     ================ */
-typedef struct {                                    /*!< TIMER0 Structure                                                      */
-  
-  union {
-    __IO uint32_t  CR;                              /*!< Control Register                                                      */
-    
-    struct {
-      __IO uint32_t  EN         :  1;               /*!< Enable                                                                */
-      __O  uint32_t  RST        :  1;               /*!< Reset Timer                                                           */
-      __IO uint32_t  CNT        :  2;               /*!< Counting direction                                                    */
-      __IO uint32_t  MODE       :  3;               /*!< Operation Mode                                                        */
-      __IO uint32_t  PSC        :  1;               /*!< Use Prescaler                                                         */
-      __IO uint32_t  CNTSRC     :  4;               /*!< Timer / Counter Source Divider                                        */
-      __IO uint32_t  CAPSRC     :  4;               /*!< Timer / Counter Capture Source                                        */
-      __IO uint32_t  CAPEDGE    :  2;               /*!< Capture Edge, select which Edge should result in a counter increment
-                                                         or decrement                                                          */
-           uint32_t             :  2;
-      __IO uint32_t  TRGEXT     :  2;               /*!< Triggers an other Peripheral                                          */
-           uint32_t             :  2;
-      __IO uint32_t  RELOAD     :  2;               /*!< Select RELOAD Register n to reload Timer on condition                 */
-      __IO uint32_t  IDR        :  2;               /*!< Selects, if Reload Register number is incremented, decremented
-                                                         or not modified                                                       */
-           uint32_t             :  3;
-      __IO uint32_t  S          :  1;               /*!< Starts and Stops the Timer / Counter                                  */
-    } CR_b;                                         /*!< BitSize                                                               */
-  };
-  
-  union {
-    __IO uint16_t  SR;                              /*!< Status Register                                                       */
-    
-    struct {
-      __I  uint16_t  RUN        :  1;               /*!< Shows if Timer is running or not                                      */
-           uint16_t             :  7;
-      __IO uint16_t  MATCH      :  1;               /*!< Shows if the MATCH was hit                                            */
-      __IO uint16_t  UN         :  1;               /*!< Shows if an underflow occured. This flag is sticky                    */
-      __IO uint16_t  OV         :  1;               /*!< Shows if an overflow occured. This flag is sticky                     */
-           uint16_t             :  1;
-      __I  uint16_t  RST        :  1;               /*!< Shows if Timer is in RESET state                                      */
-           uint16_t             :  1;
-      __I  uint16_t  RELOAD     :  2;               /*!< Shows the currently active RELOAD Register                            */
-    } SR_b;                                         /*!< BitSize                                                               */
-  };
-  __I  uint16_t  RESERVED0[5];
-  
-  union {
-    __IO uint16_t  INT;                             /*!< Interrupt Register                                                    */
-    
-    struct {
-      __IO uint16_t  EN         :  1;               /*!< Interrupt Enable                                                      */
-           uint16_t             :  3;
-      __IO uint16_t  MODE       :  3;               /*!< Interrupt Mode, selects on which condition the Timer should
-                                                         generate an Interrupt                                                 */
-    } INT_b;                                        /*!< BitSize                                                               */
-  };
-  __I  uint16_t  RESERVED1[7];
-  __IO uint32_t  COUNT;                             /*!< The Counter Register reflects the actual Value of the Timer/Counter   */
-  __IO uint32_t  MATCH;                             /*!< The Match Register stores the compare Value for the MATCH condition   */
-  
-  union {
-    __O  uint32_t  PRESCALE_WR;                     /*!< The Prescale Register stores the Value for the prescaler. The
-                                                         cont event gets divided by this value                                 */
-    __I  uint32_t  PRESCALE_RD;                     /*!< The Prescale Register stores the Value for the prescaler. The
-                                                         cont event gets divided by this value                                 */
-  };
-  __I  uint32_t  RESERVED2[9];
-  __IO uint32_t  RELOAD[4];                         /*!< The Reload Register stores the Value the COUNT Register gets
-                                                         reloaded on a when a condition was met.                               */
-} TIMER0_Type;

+ 0 - 2616
CMSIS/DoxyGen/SVD/src/ARM_RefMCU.svd.x

@@ -1,2616 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- File naming: <vendor>_<part/series name>_svd.xml -->
-<!--
-  Copyright (C) 2016 ARM Limited. All rights reserved.
-
-  Purpose: System Viewer SVD Description for ARM Reference
-           This is a reference example.
- -->
-<device schemaVersion="1.3" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="CMSIS-SVD.xsd">
-  <vendor>ARM Ltd.</vendor>                                       <!-- Name for DoxyGroup -->
-  <vendorID>ARM</vendorID>                                        <!-- Vendor ID -->
-  <name>ARM_RefMCU</name>                                         <!-- name of part or part series -->
-  <series>ARM_Ref</series>                                        <!-- series  -->
-  <version>1.0</version>                                          <!-- version of this description -->
-
-  <description>SVD Reference Description MCU V1.0, \n 
-  with ARM 32-bit Cortex-M3 Microcontroller, CPU clock up to 80MHz</description>
-
-  <licenseText>THIS SOFTWARE IS PROVIDED "AS IS". \n 
-  NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, \n
-  INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. \n
-  ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, \n
-  FOR ANY REASON WHATSOEVER. </licenseText>
-
-  <cpu>
-    <name>SC300</name>
-    <revision>r2p0</revision>                                    <!-- CPU Revision r2p0 = 0x2000 -->
-    <endian>little</endian>                                      <!-- little, big, configurable (headerfile: little, big, configurable (#ifdef compilerflag)   -->
-    <mpuPresent>true</mpuPresent>                                <!-- Does the CPU has a MPU? {0|1} -->
-    <fpuPresent>true</fpuPresent>                                <!-- Does the CPU has a FPU? {0|1} -->
-	<fpuDP>0</fpuDP>
-	<icachePresent>false</icachePresent>
-	<dcachePresent>false</dcachePresent>
-	<itcmPresent>false</itcmPresent>
-	<dtcmPresent>0</dtcmPresent>
-    <nvicPrioBits>4</nvicPrioBits>                               <!-- Number of NVIC Priority Bits {8..2} -->
-    <vendorSystickConfig>0</vendorSystickConfig>                 <!-- Does the Vendor has his own Systick Configuration Function? See CMSIS: core_cm3.h -->
-  </cpu>
-
-  <headerSystemFilename>system_ARM</headerSystemFilename>        <!-- System Header File overwrite -->
-  <headerDefinitionsPrefix>ARM_</headerDefinitionsPrefix>        <!-- Prefix for all structs and #defines -->
-  
-  <addressUnitBits>8</addressUnitBits>                           <!-- byte addressable memory -->
-  <width>32</width>                                              <!-- bus width is 32 bits -->
-  <size>32</size>                                                <!-- this is the default size (number of bits) of all peripherals
-                                                                       and register that do not define "size" themselves              -->
-  <resetValue>0x00000000</resetValue>                            <!-- by default all bits of the registers are initialized to 0 on reset -->
-  <resetMask>0xFFFFFFFF</resetMask>                              <!-- by default all 32Bits of the registers are used -->
-
-  <peripherals>
-
-    <!-- Timer 0 -->
-    <peripheral>
-      <name>TIMER0</name>
-      <version>1.0</version>
-      <description>32 Timer / Counter, counting up or down from different sources</description>
-      <groupName>TIMER</groupName>
-      <headerStructName>TIMER</headerStructName>
-      <baseAddress>0x40010000</baseAddress>
-      <size>32</size>
-      <access>read-write</access>
-
-      <addressBlock>
-        <offset>0</offset>
-        <size>0x2000</size>
-        <usage>registers</usage>
-      </addressBlock>
-
-      <interrupt>
-        <name>TIMER0</name>
-		<description>Timer 0 Interrupt</description>
-        <value>0</value>
-      </interrupt>
-
-      <registers>
-      <!-- CR: Control Register -->
-      
-        <!--register type="TypeA">
-          <offset>0x20</offset>
-        </register-->
-                
-        <register>
-          <name>CR</name>
-          <description>Control Register \n Second description Line of CR with Register- \n description</description>
-          <addressOffset>0x00</addressOffset>
-          <size>32</size>
-          <access>read-write</access>
-          <resetValue>0x00000000</resetValue>
-          <resetMask>0x1337F7F</resetMask>
-
-          <fields>
-            <!-- EN: Enable -->
-            <field>
-              <name>EN</name>
-              <description>Enable \n enables the Timer</description>
-              <bitRange>[0:0]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-			    <name>EN_Values</name>
-                <enumeratedValue>
-                  <name>Disable</name>
-                  <description>Timer is disabled \n and does not operate</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Enable</name>
-                  <description>Timer is enabled and can operate</description>
-                  <value>1</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-            
-            
-            <!-- RST: Reset -->
-            <field>
-              <name>RST</name>
-              <description>Reset Timer</description>
-              <bitRange>[1:1]</bitRange>
-              <access>write-only</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>Reserved</name>
-                  <description>Write as ZERO if necessary</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>ResetTimer</name>
-                  <description>Reset the Timer</description>
-                  <value>1</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <!-- CNT: Counting Direction -->
-            <field>
-              <name>CNT</name>
-              <description>Counting direction</description>
-              <bitRange>[3:2]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>Count_UP</name>
-                  <description>Timer Counts UO and wraps, if no STOP condition is set</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Count_DOWN</name>
-                  <description>Timer Counts DOWN and wraps, if no STOP condition is set</description>
-                  <value>1</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Toggle</name>
-                  <description>Timer Counts up to MAX, then DOWN to ZERO, if no STOP condition is set</description>
-                  <value>2</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <!-- MODE: Operation Mode -->
-            <field>
-              <name>MODE</name>
-              <description>Operation Mode</description>
-              <bitRange>[6:4]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>Continous</name>
-                  <description>Timer runs continously</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Single_ZERO_MAX</name>
-                  <description>Timer counts to 0x00 or 0xFFFFFFFF (depending on CNT) and stops</description>
-                  <value>1</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Single_MATCH</name>
-                  <description>Timer counts to the Value of MATCH Register and stops</description>
-                  <value>2</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Reload_ZERO_MAX</name>
-                  <description>Timer counts to 0x00 or 0xFFFFFFFF (depending on CNT), loads the RELOAD Value and continues</description>
-                  <value>3</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Reload_MATCH</name>
-                  <description>Timer counts to the Value of MATCH Register, loads the RELOAD Value and continues</description>
-                  <value>4</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <!-- PSC: Use Prescaler -->
-            <field>
-              <name>PSC</name>
-              <description>Use Prescaler</description>
-              <bitRange>[7:7]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>Disabled</name>
-                  <description>Prescaler is not used</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Enabled</name>
-                  <description>Prescaler is used as divider</description>
-                  <value>1</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <!-- CNTSRC: Timer / Counter Soruce Divider -->
-            <field>
-              <name>CNTSRC</name>
-              <description>Timer / Counter Source Divider</description>
-              <bitRange>[11:8]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>CAP_SRC</name>
-                  <description>Capture Source is used directly</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>CAP_SRC_2</name>
-                  <description>Capture Source is divided by 2</description>
-                  <value>1</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>CAP_SRC_4</name>
-                  <description>Capture Source is divided by 4</description>
-                  <value>2</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>CAP_SRC_8</name>
-                  <description>Capture Source is divided by 8</description>
-                  <value>3</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>CAP_SRC_16</name>
-                  <description>Capture Source is divided by 16</description>
-                  <value>4</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>CAP_SRC_32</name>
-                  <description>Capture Source is divided by 32</description>
-                  <value>5</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>CAP_SRC_64</name>
-                  <description>Capture Source is divided by 64</description>
-                  <value>6</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>CAP_SRC_128</name>
-                  <description>Capture Source is divided by 128</description>
-                  <value>7</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>CAP_SRC_256</name>
-                  <description>Capture Source is divided by 256</description>
-                  <value>8</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <!-- CAPSRC: Timer / COunter Capture Source -->
-            <field>
-              <name>CAPSRC</name>
-              <description>Timer / Counter Capture Source</description>
-              <bitRange>[15:12]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>CClk</name>
-                  <description>Core Clock</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOA_0</name>
-                  <description>GPIO A, PIN 0</description>
-                  <value>1</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOA_1</name>
-                  <description>GPIO A, PIN 1</description>
-                  <value>2</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOA_2</name>
-                  <description>GPIO A, PIN 2</description>
-                  <value>3</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOA_3</name>
-                  <description>GPIO A, PIN 3</description>
-                  <value>4</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOA_4</name>
-                  <description>GPIO A, PIN 4</description>
-                  <value>5</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOA_5</name>
-                  <description>GPIO A, PIN 5</description>
-                  <value>6</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOA_6</name>
-                  <description>GPIO A, PIN 6</description>
-                  <value>7</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOA_7</name>
-                  <description>GPIO A, PIN 7</description>
-                  <value>8</value>
-                </enumeratedValue>
-
-                <enumeratedValue>
-                  <name>GPIOB_0</name>
-                  <description>GPIO B, PIN 0</description>
-                  <value>9</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOB_1</name>
-                  <description>GPIO B, PIN 1</description>
-                  <value>10</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOB_2</name>
-                  <description>GPIO B, PIN 2</description>
-                  <value>11</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOB_3</name>
-                  <description>GPIO B, PIN 3</description>
-                  <value>12</value>
-                </enumeratedValue>
-
-                <enumeratedValue>
-                  <name>GPIOC_0</name>
-                  <description>GPIO C, PIN 0</description>
-                  <value>13</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOC_5</name>
-                  <description>GPIO C, PIN 1</description>
-                  <value>14</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOC_6</name>
-                  <description>GPIO C, PIN 2</description>
-                  <value>15</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <!-- CAPEDGE: Capture Edge -->
-            <field>
-              <name>CAPEDGE</name>
-              <description>Capture Edge, select which Edge should result in a counter increment or decrement</description>
-              <bitRange>[17:16]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>RISING</name>
-                  <description>Only rising edges result in a counter increment or decrement</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>FALLING</name>
-                  <description>Only falling edges  result in a counter increment or decrement</description>
-                  <value>1</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>BOTH</name>
-                  <description>Rising and falling edges result in a counter increment or decrement</description>
-                  <value>2</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <!-- TRGEXT: Triggers an other Peripheral -->
-            <field>
-              <name>TRGEXT</name>
-              <description>Triggers an other Peripheral</description>
-              <bitRange>[21:20]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>NONE</name>
-                  <description>No Trigger is emitted</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>DMA1</name>
-                  <description>DMA Controller 1 is triggered, dependant on MODE</description>
-                  <value>1</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>DMA2</name>
-                  <description>DMA Controller 2 is triggered, dependant on MODE</description>
-                  <value>2</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>UART</name>
-                  <description>UART is triggered, dependant on MODE</description>
-                  <value>3</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <!-- Reload: Selects Reload Register n -->
-            <field>
-              <name>RELOAD</name>
-              <description>Select RELOAD Register n to reload Timer on condition</description>
-              <bitRange>[25:24]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>RELOAD0</name>
-                  <description>Selects Reload Register number 0</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>RELOAD1</name>
-                  <description>Selects Reload Register number 1</description>
-                  <value>1</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>RELOAD2</name>
-                  <description>Selects Reload Register number 2</description>
-                  <value>2</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>RELOAD3</name>
-                  <description>Selects Reload Register number 3</description>
-                  <value>3</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <!-- IDR: Inc or dec Reload Register Selection -->
-            <field>
-              <name>IDR</name>
-              <description>Selects, if Reload Register number is incremented, decremented or not modified</description>
-              <bitRange>[27:26]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>KEEP</name>
-                  <description>Reload Register number does not change automatically</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>INCREMENT</name>
-                  <description>Reload Register number is incremented on each match</description>
-                  <value>1</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>DECREMENT</name>
-                  <description>Reload Register number is decremented on each match</description>
-                  <value>2</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-            
-            <field> 
-              <name>reSeRveD</name>
-              <description>Reserved Register</description>
-              <bitRange>[29:28]</bitRange>
-            </field>
-            
-            <!--field>
-              <name>EN_FOO</name>
-              <description>Enable Foo</description>
-              <bitRange>[30:30]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <usage>read</usage>
-                <enumeratedValue>
-                  <name>enabled</name>
-                  <value>1</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>disabled</name>
-                  <value>0</value>
-                </enumeratedValue>
-              </enumeratedValues>
-              <enumeratedValues>
-                <usage>write</usage>
-                <enumeratedValue>
-                  <name>enable interrupt</name>
-                  <value>1</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>ignored</name>
-                  <value>0</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field-->
-
-            <!-- START: Starts / Stops the Timer/Counter -->
-            <field>
-              <name>START</name>
-              <description>Starts and Stops the Timer / Counter</description>
-              <bitRange>[31:31]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>STOP</name>
-                  <description>Timer / Counter is stopped</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>START</name>
-                  <description>Timer / Counter is started</description>
-                  <value>1</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-          </fields>
-        </register>
-
-        <!-- SR: Status Register -->
-        <register>
-          <name>SR</name>
-          <description>Status Register</description>
-          <addressOffset>0x04</addressOffset>
-          <size>16</size>
-          <access>read-write</access>
-          <resetValue>0x00000000</resetValue>
-          <resetMask>0xD701</resetMask>
-
-          <fields>
-            <!-- RUN: Shows if Timer is running -->
-            <field>
-              <name>RUN</name>
-              <description>Shows if Timer is running or not</description>
-              <bitRange>[0:0]</bitRange>
-              <access>read-only</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>Not_Running</name>
-                  <description>Timer is not running</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Running</name>
-                  <description>Timer is running</description>
-                  <value>1</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <!-- MATCH: Shows if a Match was hit -->
-            <field>
-              <name>MATCH</name>
-              <description>Shows if the MATCH was hit</description>
-              <bitRange>[8:8]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>No_Match</name>
-                  <description>The MATCH condition was not hit</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Match_Hit</name>
-                  <description>The MATCH condition was hit</description>
-                  <value>1</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <!-- UN: Shows if an underflow occured -->
-            <field>
-              <name>UN</name>
-              <description>Shows if an underflow occured. This flag is sticky</description>
-              <bitRange>[9:9]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>No_Underflow</name>
-                  <description>No underflow occured since last clear</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Underflow_occurred</name>
-                  <description>A minimum of one underflow occured since last clear</description>
-                  <value>1</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <!-- OV: Shows if an overflow occured -->
-            <field>
-              <name>OV</name>
-              <description>Shows if an overflow occured. This flag is sticky</description>
-              <bitRange>[10:10]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>No_Overflow</name>
-                  <description>No overflow occured since last clear</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Overflow_occurred</name>
-                  <description>A minimum of one overflow occured since last clear</description>
-                  <value>1</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <!-- RST: Shows if Timer is in RESET state -->
-            <field>
-              <name>RST</name>
-              <description>Shows if Timer is in RESET state</description>
-              <bitRange>[12:12]</bitRange>
-              <access>read-only</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>Timer_can_operate</name>
-                  <description>Timer is not in RESET state and can operate</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Reset_State</name>
-                  <description>Timer is in RESET state and can not operate</description>
-                  <value>1</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <!-- RELOAD: Shows the currently active Reload Register -->
-            <field>
-              <name>RELOAD</name>
-              <description>Shows the currently active RELOAD Register</description>
-              <bitRange>[15:14]</bitRange>
-              <access>read-only</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>RELOAD0</name>
-                  <description>Reload Register number 0 is active</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>RELOAD1</name>
-                  <description>Reload Register number 1 is active</description>
-                  <value>1</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>RELOAD2</name>
-                  <description>Reload Register number 2 is active</description>
-                  <value>2</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>RELOAD3</name>
-                  <description>Reload Register number 3 is active</description>
-                  <value>3</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-          </fields>
-        </register>
-
-        <!-- INT: Interrupt Register -->
-        <register>
-          <name>INT</name>
-          <description>Interrupt Register</description>
-          <addressOffset>0x10</addressOffset>
-          <size>16</size>
-          <access>read-write</access>
-          <resetValue>0x00000000</resetValue>
-          <resetMask>0x0771</resetMask>
-
-          <fields>
-            <!-- EN: Interrupt Enable -->
-            <field>
-              <name>EN</name>
-              <description>Interrupt Enable</description>
-              <bitRange>[0:0]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>Disabled</name>
-                  <description>Timer does not generate Interrupts</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Enable</name>
-                  <description>Timer triggers the TIMERn Interrupt</description>
-                  <value>1</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <!-- MODE: Interrupt Mode -->
-            <field>
-              <name>MODE</name>
-              <description>Interrupt Mode, selects on which condition the Timer should generate an Interrupt</description>
-              <bitRange>[6:4]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>Match</name>
-                  <description>Timer generates an Interrupt when the MATCH condition is hit</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Underflow</name>
-                  <description>Timer generates an Interrupt when it underflows</description>
-                  <value>1</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Overflow</name>
-                  <description>Timer generates an Interrupt when it overflows</description>
-                  <value>2</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-          </fields>
-        </register>
-
-        <!-- COUNT: Counter Register -->
-        <register>
-          <name>COUNT</name>
-          <description>The Counter Register reflects the actual Value of the Timer/Counter</description>
-          <addressOffset>0x20</addressOffset>
-          <size>32</size>
-          <access>read-write</access>
-          <resetValue>0x00000000</resetValue>
-          <resetMask>0xFFFFFFFF</resetMask>
-        </register>
-
-        <register>
-          <name>COUNT_SIGNED</name>
-          <description>The Prescale Register stores the Value for the prescaler. The cont event gets divided by this value</description>
-          <alternateRegister>COUNT</alternateRegister>
-          <addressOffset>0x20</addressOffset>
-          <size>32</size>          
-          <access>read-write</access>
-          <resetValue>0x00000000</resetValue>
-          <resetMask>0xFFFFFFFF</resetMask>
-          <dataType>int32_t</dataType>
-        </register>
-
-        <!-- MATCH: Match Register -->
-        <register>
-          <name>MATCH</name>
-          <description>The Match Register stores the compare Value for the MATCH condition</description>
-          <addressOffset>0x24</addressOffset>
-          <size>32</size>
-          <access>read-write</access>
-          <resetValue>0x00000000</resetValue>
-          <resetMask>0xFFFFFFFF</resetMask>
-        </register>
-        
-        <!-- MATCH: Match Register -->
-        <register>
-          <name>MATCH2</name>
-          <description>The Match Register stores the compare Value for the MATCH condition</description>
-          <alternateRegister>MATCH</alternateRegister>
-          <addressOffset>0x24</addressOffset>
-          <size>32</size>
-          <access>read-write</access>
-          <resetValue>0x00000000</resetValue>
-          <resetMask>0xFFFFFFFF</resetMask>
-        </register>
-
-        <!-- PRESCALE: Prescale Read Register -->
-        <register>
-          <name>PRESCALE_RD</name>
-          <description>The Prescale Register stores the Value for the prescaler. The cont event gets divided by this value</description>
-          <addressOffset>0x28</addressOffset>
-          <size>32</size>
-          <access>read-only</access>
-          <resetValue>0x00000000</resetValue>
-          <resetMask>0xFFFFFFFF</resetMask>
-        </register>
-        
-        <!-- PRESCALE: Prescale Write Register -->
-        <register>
-          <name>PRESCALE_WR</name>
-          <description>The Prescale Register stores the Value for the prescaler. The cont event gets divided by this value</description>
-          <addressOffset>0x28</addressOffset>
-          <size>32</size>
-          <access>write-only</access>
-          <resetValue>0x00000000</resetValue>
-          <resetMask>0xFFFFFFFF</resetMask>
-        </register>
-		
-		
-        <!-- EnumDeriveTest -->
-        <register>
-          <name>EnumContDeriveTest</name>
-          <description>Test for Enumerates Values Container deriveFrom</description>
-          <addressOffset>0x30</addressOffset>
-          <size>32</size>
-          <access>write-only</access>
-          <resetValue>0x00000000</resetValue>
-          <resetMask>0xFFFFFFFF</resetMask>
-          <fields>
-            <field>
-              <name>Foo</name>
-              <description>Foo Register</description>
-              <bitRange>[0:0]</bitRange>
-              <access>read-write</access>
-			  <!-- <enumeratedValues derivedFrom="TIMER0.CR.EN.EN_Values"> -->
-			  <!-- above syntax is not allowed by schema file, but needed for deriviation. -->
-			  <!-- below is just there to comply to schema. -->
-			  <enumeratedValues derivedFrom="TIMER0_CR_EN_EN_Values">
-                <enumeratedValue>
-                  <name>DummyValue</name>
-                  <description>Value to comply to schema</description>
-                  <value>0</value>
-                </enumeratedValue>
-			  </enumeratedValues>
-            </field>
-		  </fields>
-        </register>
-
-        <!-- RELOAD: Array of Reload Register with 4 elements-->
-        <register>
-          <dim>4</dim>
-          <dimIncrement>4</dimIncrement>
-          <dimIndex>0,1,2,3</dimIndex>
-          <name>RELOAD[%s]</name>
-          <description>The Reload Register stores the Value the COUNT Register gets reloaded on a when a condition was met.</description>
-          <addressOffset>0x50</addressOffset>
-          <size>32</size>
-          <access>read-write</access>
-          <resetValue>0x00000000</resetValue>
-          <resetMask>0xFFFFFFFF</resetMask>
-          
-          <fields>
-            <!-- Data -->
-            <field>
-              <name>DATA</name>
-              <description>Data Register</description>
-              <bitRange>[23:0]</bitRange>
-              <access>read-write</access>
-            </field>
-            <field>
-              <name>CONF</name>
-              <description>Data Conf</description>
-              <bitRange>[30:27]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>Value_Size</name>
-                  <description>Size of the Reload Value</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Value_Size</name>
-                  <description>Size of the Reload Value</description>
-                  <value>1</value>
-                </enumeratedValue>
-                  <enumeratedValue>
-                  <name>Value_Size</name>
-                  <description>Size of the Reload Value</description>
-                  <value>2</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Value_Size</name>
-                  <description>Size of the Reload Value</description>
-                  <value>3</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Value_Size</name>
-                  <description>Size of the Reload Value</description>
-                  <value>4</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Value_Size</name>
-                  <description>Size of the Reload Value</description>
-                  <value>5</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Value_Size</name>
-                  <description>Size of the Reload Value</description>
-                  <value>6</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Value_Size</name>
-                  <description>Size of the Reload Value</description>
-                  <value>7</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Value_Size</name>
-                  <description>Size of the Reload Value</description>
-                  <value>8</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Value_Size</name>
-                  <description>Size of the Reload Value</description>
-                  <value>9</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Value_Size</name>
-                  <description>Size of the Reload Value</description>
-                  <value>10</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Value_Size</name>
-                  <description>Size of the Reload Value</description>
-                  <value>11</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Value_Size</name>
-                  <description>Size of the Reload Value</description>
-                  <value>12</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Value_Size</name>
-                  <description>Size of the Reload Value</description>
-                  <value>13</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Value_Size</name>
-                  <description>Size of the Reload Value</description>
-                  <value>14</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Value_Size</name>
-                  <description>Size of the Reload Value</description>
-                  <value>15</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-            <field>
-              <name>ACTIVE</name>
-              <description>Data Active</description>
-              <bitRange>[31:31]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>Inavtive</name>
-                  <description>Reload is inactive</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Avtive</name>
-                  <description>Reload is active</description>
-                  <value>1</value>
-                </enumeratedValue>                
-              </enumeratedValues>
-            </field>
-          </fields>
-          
-        </register>
-        
-        <!-- RELOAD2: Array of Reload Register with 4 elements-->
-        <register>
-          <dim>4</dim>
-          <dimIncrement>4</dimIncrement>
-          <!--dimIndex>0,1,2,3</dimIndex-->
-          <name>RELOAD_NO_DIMINDEX[%s]</name>
-          <description>The Reload2 Register stores the Value the COUNT Register gets reloaded on a when a condition was met.</description>
-          <alternateRegister>RELOAD[%s]</alternateRegister>          
-          <addressOffset>0x50</addressOffset>
-          <size>32</size>
-          <access>read-only</access>
-          <resetValue>0x00000000</resetValue>
-          <resetMask>0xFFFFFFFF</resetMask>
-        </register>
-
-
-        <!-- This Registers will create a union -->
-        <!-- VALUE MODEA: Value Mode A Register -->
-        <register>
-          <name>VALUE_MODE_8</name>
-          <displayName>VALUE Mode 8</displayName>
-          <description>Value in Timer/Counter Mode 8</description>
-          <addressOffset>0x60</addressOffset>
-          <size>8</size>
-          <access>read-write</access>
-          <resetValue>0x00000000</resetValue>
-          <resetMask>0xFFFFFFFF</resetMask>
-          <fields>
-            <field>
-              <name>Value</name>
-              <description>Value in 8Bit Mode</description>
-              <bitRange>[7:0]</bitRange>
-              <access>read-write</access>
-            </field>
-          </fields>
-        </register>
-        <!-- VALUE MODEA: Value Mode B Register -->
-        <register>
-          <name>VALUE_MODE_16</name>
-          <displayName>VALUE Mode 16</displayName>
-          <description>Value in Timer/Counter Mode 16</description>
-          <alternateRegister>VALUE_MODE_8</alternateRegister>
-          <addressOffset>0x60</addressOffset>          
-          <size>16</size>
-          <access>read-write</access>
-          <resetValue>0x00000000</resetValue>
-          <resetMask>0xFFFFFFFF</resetMask>
-          <fields>
-            <field>
-              <name>Value</name>
-              <description>Value in 16Bit Mode</description>
-              <bitRange>[15:0]</bitRange>
-              <access>read-write</access>
-            </field>
-          </fields>
-        </register>
-        <!-- VALUE MODEA: Value Mode C Register -->
-        <register>
-          <name>VALUE_MODE_24</name>
-          <displayName>VALUE Mode 24</displayName>
-          <description>Value in Timer/Counter Mode 24</description>
-          <alternateRegister>VALUE_MODE_8</alternateRegister>
-          <addressOffset>0x60</addressOffset>          
-          <size>24</size>
-          <access>read-write</access>
-          <resetValue>0x00000000</resetValue>
-          <resetMask>0xFFFFFFFF</resetMask>
-          <fields>
-            <field>
-              <name>Value</name>
-              <description>Value in 24Bit Mode</description>
-              <bitRange>[23:0]</bitRange>
-              <access>read-write</access>
-            </field>
-          </fields>
-        </register>
-        <!-- VALUE MODEA: Value Mode D Register -->
-        <register>
-          <name>VALUE_MODE_32</name>
-          <displayName>VALUE Mode 32</displayName>
-          <description>Value in Timer/Counter Mode 32</description>
-          <alternateRegister>VALUE_MODE_8</alternateRegister>
-          <addressOffset>0x60</addressOffset>          
-          <size>32</size>
-          <access>read-write</access>
-          <resetValue>0x00000000</resetValue>
-          <resetMask>0xFFFFFFFF</resetMask>
-          <fields>
-            <field>
-              <name>Value</name>
-              <description>Value in 32Bit Mode</description>
-              <bitRange>[31:0]</bitRange>
-              <access>read-write</access>
-            </field>
-          </fields>
-        </register>
-    
-        <!-- Read Action Test -->
-		<register>
-          <name>NoReadAction</name>
-          <description>This Register has no Read action</description>
-          <addressOffset>0x1800</addressOffset>
-          <size>32</size>
-          <access>write-only</access>
-          <resetValue>0x00000000</resetValue>
-          <resetMask>0xFFFFFFFF</resetMask>
-        </register>
-        <register>
-          <name>ReadAction</name>
-          <description>This Register has a Read action</description>
-          <addressOffset>0x1804</addressOffset>
-          <size>32</size>
-          <access>write-only</access>
-          <resetValue>0x00000000</resetValue>
-          <resetMask>0xFFFFFFFF</resetMask>
-		  <readAction>modify</readAction>
-        </register>
-        <register>
-          <name>ReadActionField</name>
-          <description>This Register has a Read action</description>
-          <addressOffset>0x1808</addressOffset>
-          <size>32</size>
-          <access>write-only</access>
-          <resetValue>0x00000000</resetValue>
-          <resetMask>0xFFFFFFFF</resetMask>
-		  <fields>
-            <field>
-              <name>NoReadAction</name>
-              <description>Field has noi Read Action</description>
-              <bitRange>[7:0]</bitRange>
-              <access>read-write</access>
-            </field>
-			<field>
-              <name>ReadAction</name>
-              <description>Field has Read Action</description>
-              <bitRange>[15:8]</bitRange>
-              <access>read-write</access>
-			  <readAction>modify</readAction>
-            </field>
-          </fields>		  
-        </register>		
-   
-    <!--  Cluster Test  -->
-    <!--  Cluster Test  -->
-    <!--  Cluster Test  -->
-    <!--  Cluster Test  -->
-    <cluster>
-      <dim>4</dim>
-      <dimIncrement>0x20</dimIncrement>
-      <name>Cluster_1[%s]</name>
-      <description>Test Cluster Instance 1</description>
-      <headerStructName>MyClust</headerStructName>
-      <addressOffset>0x70</addressOffset>
-      <register>
-        <dim>4</dim>
-        <dimIncrement>0x04</dimIncrement>
-        <name>CLUSTER_REG_A[%s]</name>
-        <description>Cluster Test Register A</description>
-        <addressOffset>0x00</addressOffset>
-        <size>32</size>
-        <access>read-write</access>
-        <resetValue>0x00000000</resetValue>
-        <resetMask>0xFFFFFFFF</resetMask>
-        <fields>
-            <field>
-              <name>EN</name>
-              <description>Enable</description>
-              <bitRange>[0:0]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>Disable</name>
-                  <description>Timer is disabled and does not operate</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Enable</name>
-                  <description>Timer is enabled and can operate</description>
-                  <value>1</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-            
-            
-            <field>
-              <name>RST</name>
-              <description>Reset Timer</description>
-              <bitRange>[1:1]</bitRange>
-              <access>write-only</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>Reserved</name>
-                  <description>Write as ZERO if necessary</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>ResetTimer</name>
-                  <description>Reset the Timer</description>
-                  <value>1</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <field>
-              <name>CNT</name>
-              <description>Counting direction</description>
-              <bitRange>[3:2]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>Count_UP</name>
-                  <description>Timer Counts UO and wraps, if no STOP condition is set</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Count_DOWN</name>
-                  <description>Timer Counts DOWN and wraps, if no STOP condition is set</description>
-                  <value>1</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Toggle</name>
-                  <description>Timer Counts up to MAX, then DOWN to ZERO, if no STOP condition is set</description>
-                  <value>2</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <field>
-              <name>MODE</name>
-              <description>Operation Mode</description>
-              <bitRange>[6:4]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>Continous</name>
-                  <description>Timer runs continously</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Single_ZERO_MAX</name>
-                  <description>Timer counts to 0x00 or 0xFFFFFFFF (depending on CNT) and stops</description>
-                  <value>1</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Single_MATCH</name>
-                  <description>Timer counts to the Value of MATCH Register and stops</description>
-                  <value>2</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Reload_ZERO_MAX</name>
-                  <description>Timer counts to 0x00 or 0xFFFFFFFF (depending on CNT), loads the RELOAD Value and continues</description>
-                  <value>3</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Reload_MATCH</name>
-                  <description>Timer counts to the Value of MATCH Register, loads the RELOAD Value and continues</description>
-                  <value>4</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <field>
-              <name>PSC</name>
-              <description>Use Prescaler</description>
-              <bitRange>[7:7]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>Disabled</name>
-                  <description>Prescaler is not used</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Enabled</name>
-                  <description>Prescaler is used as divider</description>
-                  <value>1</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <field>
-              <name>CNTSRC</name>
-              <description>Timer / Counter Source Divider</description>
-              <bitRange>[11:8]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>CAP_SRC</name>
-                  <description>Capture Source is used directly</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>CAP_SRC_2</name>
-                  <description>Capture Source is divided by 2</description>
-                  <value>1</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>CAP_SRC_4</name>
-                  <description>Capture Source is divided by 4</description>
-                  <value>2</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>CAP_SRC_8</name>
-                  <description>Capture Source is divided by 8</description>
-                  <value>3</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>CAP_SRC_16</name>
-                  <description>Capture Source is divided by 16</description>
-                  <value>4</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>CAP_SRC_32</name>
-                  <description>Capture Source is divided by 32</description>
-                  <value>5</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>CAP_SRC_64</name>
-                  <description>Capture Source is divided by 64</description>
-                  <value>6</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>CAP_SRC_128</name>
-                  <description>Capture Source is divided by 128</description>
-                  <value>7</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>CAP_SRC_256</name>
-                  <description>Capture Source is divided by 256</description>
-                  <value>8</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <field>
-              <name>CAPSRC</name>
-              <description>Timer / Counter Capture Source</description>
-              <bitRange>[15:12]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>CClk</name>
-                  <description>Core Clock</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOA_0</name>
-                  <description>GPIO A, PIN 0</description>
-                  <value>1</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOA_1</name>
-                  <description>GPIO A, PIN 1</description>
-                  <value>2</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOA_2</name>
-                  <description>GPIO A, PIN 2</description>
-                  <value>3</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOA_3</name>
-                  <description>GPIO A, PIN 3</description>
-                  <value>4</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOA_4</name>
-                  <description>GPIO A, PIN 4</description>
-                  <value>5</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOA_5</name>
-                  <description>GPIO A, PIN 5</description>
-                  <value>6</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOA_6</name>
-                  <description>GPIO A, PIN 6</description>
-                  <value>7</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOA_7</name>
-                  <description>GPIO A, PIN 7</description>
-                  <value>8</value>
-                </enumeratedValue>
-
-                <enumeratedValue>
-                  <name>GPIOB_0</name>
-                  <description>GPIO B, PIN 0</description>
-                  <value>9</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOB_1</name>
-                  <description>GPIO B, PIN 1</description>
-                  <value>10</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOB_2</name>
-                  <description>GPIO B, PIN 2</description>
-                  <value>11</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOB_3</name>
-                  <description>GPIO B, PIN 3</description>
-                  <value>12</value>
-                </enumeratedValue>
-
-                <enumeratedValue>
-                  <name>GPIOC_0</name>
-                  <description>GPIO C, PIN 0</description>
-                  <value>13</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOC_5</name>
-                  <description>GPIO C, PIN 1</description>
-                  <value>14</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOC_6</name>
-                  <description>GPIO C, PIN 2</description>
-                  <value>15</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <field>
-              <name>CAPEDGE</name>
-              <description>Capture Edge, select which Edge should result in a counter increment or decrement</description>
-              <bitRange>[17:16]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>RISING</name>
-                  <description>Only rising edges result in a counter increment or decrement</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>FALLING</name>
-                  <description>Only falling edges  result in a counter increment or decrement</description>
-                  <value>1</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>BOTH</name>
-                  <description>Rising and falling edges result in a counter increment or decrement</description>
-                  <value>2</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <field>
-              <name>TRGEXT</name>
-              <description>Triggers an other Peripheral</description>
-              <bitRange>[21:20]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>NONE</name>
-                  <description>No Trigger is emitted</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>DMA1</name>
-                  <description>DMA Controller 1 is triggered, dependant on MODE</description>
-                  <value>1</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>DMA2</name>
-                  <description>DMA Controller 2 is triggered, dependant on MODE</description>
-                  <value>2</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>UART</name>
-                  <description>UART is triggered, dependant on MODE</description>
-                  <value>3</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <field>
-              <name>RELOAD</name>
-              <description>Select RELOAD Register n to reload Timer on condition</description>
-              <bitRange>[25:24]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>RELOAD0</name>
-                  <description>Selects Reload Register number 0</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>RELOAD1</name>
-                  <description>Selects Reload Register number 1</description>
-                  <value>1</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>RELOAD2</name>
-                  <description>Selects Reload Register number 2</description>
-                  <value>2</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>RELOAD3</name>
-                  <description>Selects Reload Register number 3</description>
-                  <value>3</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <field>
-              <name>IDR</name>
-              <description>Selects, if Reload Register number is incremented, decremented or not modified</description>
-              <bitRange>[27:26]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>KEEP</name>
-                  <description>Reload Register number does not change automatically</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>INCREMENT</name>
-                  <description>Reload Register number is incremented on each match</description>
-                  <value>1</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>DECREMENT</name>
-                  <description>Reload Register number is decremented on each match</description>
-                  <value>2</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-            
-            <field> 
-              <name>reSeRveD</name>
-              <description>Reserved Register</description>
-              <bitRange>[29:28]</bitRange>
-            </field>
-
-            <field>
-              <name>START</name>
-              <description>Starts and Stops the Timer / Counter</description>
-              <bitRange>[31:31]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>STOP</name>
-                  <description>Timer / Counter is stopped</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>START</name>
-                  <description>Timer / Counter is started</description>
-                  <value>1</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-          </fields>
-      </register>
-      <register>            
-        <name>CLUSTER_REG_B</name>
-        <description>Cluster Test Register B</description>
-        <alternateRegister>CLUSTER_REG_A0</alternateRegister>
-        <addressOffset>0x00</addressOffset>
-        <size>32</size>
-        <access>read-write</access>
-        <resetValue>0x00000000</resetValue>
-        <resetMask>0xFFFFFFFF</resetMask>
-      </register>
-      <register>            
-        <name>CLUSTER_REG_C</name>
-        <description>Cluster Test Register C</description>
-        <alternateRegister>CLUSTER_REG_A0</alternateRegister>
-        <addressOffset>0x00</addressOffset>
-        <size>32</size>
-        <access>read-write</access>
-        <resetValue>0x00000000</resetValue>
-        <resetMask>0xFFFFFFFF</resetMask>
-        
-        <fields>
-            <field>
-              <name>EN</name>
-              <description>Enable</description>
-              <bitRange>[0:0]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>Disable</name>
-                  <description>Timer is disabled and does not operate</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Enable</name>
-                  <description>Timer is enabled and can operate</description>
-                  <value>1</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-            
-            
-            <field>
-              <name>RST</name>
-              <description>Reset Timer</description>
-              <bitRange>[1:1]</bitRange>
-              <access>write-only</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>Reserved</name>
-                  <description>Write as ZERO if necessary</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>ResetTimer</name>
-                  <description>Reset the Timer</description>
-                  <value>1</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <field>
-              <name>CNT</name>
-              <description>Counting direction</description>
-              <bitRange>[3:2]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>Count_UP</name>
-                  <description>Timer Counts UO and wraps, if no STOP condition is set</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Count_DOWN</name>
-                  <description>Timer Counts DOWN and wraps, if no STOP condition is set</description>
-                  <value>1</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Toggle</name>
-                  <description>Timer Counts up to MAX, then DOWN to ZERO, if no STOP condition is set</description>
-                  <value>2</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <field>
-              <name>MODE</name>
-              <description>Operation Mode</description>
-              <bitRange>[6:4]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>Continous</name>
-                  <description>Timer runs continously</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Single_ZERO_MAX</name>
-                  <description>Timer counts to 0x00 or 0xFFFFFFFF (depending on CNT) and stops</description>
-                  <value>1</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Single_MATCH</name>
-                  <description>Timer counts to the Value of MATCH Register and stops</description>
-                  <value>2</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Reload_ZERO_MAX</name>
-                  <description>Timer counts to 0x00 or 0xFFFFFFFF (depending on CNT), loads the RELOAD Value and continues</description>
-                  <value>3</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Reload_MATCH</name>
-                  <description>Timer counts to the Value of MATCH Register, loads the RELOAD Value and continues</description>
-                  <value>4</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <field>
-              <name>PSC</name>
-              <description>Use Prescaler</description>
-              <bitRange>[7:7]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>Disabled</name>
-                  <description>Prescaler is not used</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Enabled</name>
-                  <description>Prescaler is used as divider</description>
-                  <value>1</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <field>
-              <name>CNTSRC</name>
-              <description>Timer / Counter Source Divider</description>
-              <bitRange>[11:8]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>CAP_SRC</name>
-                  <description>Capture Source is used directly</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>CAP_SRC_2</name>
-                  <description>Capture Source is divided by 2</description>
-                  <value>1</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>CAP_SRC_4</name>
-                  <description>Capture Source is divided by 4</description>
-                  <value>2</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>CAP_SRC_8</name>
-                  <description>Capture Source is divided by 8</description>
-                  <value>3</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>CAP_SRC_16</name>
-                  <description>Capture Source is divided by 16</description>
-                  <value>4</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>CAP_SRC_32</name>
-                  <description>Capture Source is divided by 32</description>
-                  <value>5</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>CAP_SRC_64</name>
-                  <description>Capture Source is divided by 64</description>
-                  <value>6</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>CAP_SRC_128</name>
-                  <description>Capture Source is divided by 128</description>
-                  <value>7</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>CAP_SRC_256</name>
-                  <description>Capture Source is divided by 256</description>
-                  <value>8</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <field>
-              <name>CAPSRC</name>
-              <description>Timer / Counter Capture Source</description>
-              <bitRange>[15:12]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>CClk</name>
-                  <description>Core Clock</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOA_0</name>
-                  <description>GPIO A, PIN 0</description>
-                  <value>1</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOA_1</name>
-                  <description>GPIO A, PIN 1</description>
-                  <value>2</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOA_2</name>
-                  <description>GPIO A, PIN 2</description>
-                  <value>3</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOA_3</name>
-                  <description>GPIO A, PIN 3</description>
-                  <value>4</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOA_4</name>
-                  <description>GPIO A, PIN 4</description>
-                  <value>5</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOA_5</name>
-                  <description>GPIO A, PIN 5</description>
-                  <value>6</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOA_6</name>
-                  <description>GPIO A, PIN 6</description>
-                  <value>7</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOA_7</name>
-                  <description>GPIO A, PIN 7</description>
-                  <value>8</value>
-                </enumeratedValue>
-
-                <enumeratedValue>
-                  <name>GPIOB_0</name>
-                  <description>GPIO B, PIN 0</description>
-                  <value>9</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOB_1</name>
-                  <description>GPIO B, PIN 1</description>
-                  <value>10</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOB_2</name>
-                  <description>GPIO B, PIN 2</description>
-                  <value>11</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOB_3</name>
-                  <description>GPIO B, PIN 3</description>
-                  <value>12</value>
-                </enumeratedValue>
-
-                <enumeratedValue>
-                  <name>GPIOC_0</name>
-                  <description>GPIO C, PIN 0</description>
-                  <value>13</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOC_5</name>
-                  <description>GPIO C, PIN 1</description>
-                  <value>14</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOC_6</name>
-                  <description>GPIO C, PIN 2</description>
-                  <value>15</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <field>
-              <name>CAPEDGE</name>
-              <description>Capture Edge, select which Edge should result in a counter increment or decrement</description>
-              <bitRange>[17:16]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>RISING</name>
-                  <description>Only rising edges result in a counter increment or decrement</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>FALLING</name>
-                  <description>Only falling edges  result in a counter increment or decrement</description>
-                  <value>1</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>BOTH</name>
-                  <description>Rising and falling edges result in a counter increment or decrement</description>
-                  <value>2</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <field>
-              <name>TRGEXT</name>
-              <description>Triggers an other Peripheral</description>
-              <bitRange>[21:20]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>NONE</name>
-                  <description>No Trigger is emitted</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>DMA1</name>
-                  <description>DMA Controller 1 is triggered, dependant on MODE</description>
-                  <value>1</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>DMA2</name>
-                  <description>DMA Controller 2 is triggered, dependant on MODE</description>
-                  <value>2</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>UART</name>
-                  <description>UART is triggered, dependant on MODE</description>
-                  <value>3</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <field>
-              <name>RELOAD</name>
-              <description>Select RELOAD Register n to reload Timer on condition</description>
-              <bitRange>[25:24]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>RELOAD0</name>
-                  <description>Selects Reload Register number 0</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>RELOAD1</name>
-                  <description>Selects Reload Register number 1</description>
-                  <value>1</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>RELOAD2</name>
-                  <description>Selects Reload Register number 2</description>
-                  <value>2</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>RELOAD3</name>
-                  <description>Selects Reload Register number 3</description>
-                  <value>3</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <field>
-              <name>IDR</name>
-              <description>Selects, if Reload Register number is incremented, decremented or not modified</description>
-              <bitRange>[27:26]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>KEEP</name>
-                  <description>Reload Register number does not change automatically</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>INCREMENT</name>
-                  <description>Reload Register number is incremented on each match</description>
-                  <value>1</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>DECREMENT</name>
-                  <description>Reload Register number is decremented on each match</description>
-                  <value>2</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-            
-            <field> 
-              <name>reSeRveD</name>
-              <description>Reserved Register</description>
-              <bitRange>[29:28]</bitRange>
-            </field>
-
-            <field>
-              <name>START</name>
-              <description>Starts and Stops the Timer / Counter</description>
-              <bitRange>[31:31]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>STOP_1</name>
-                  <description>Timer / Counter is stopped</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>START</name>
-                  <description>Timer / Counter is started</description>
-                  <value>1</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-          </fields>
-      </register>
-      <register>            
-        <dim>4</dim>
-        <dimIncrement>4</dimIncrement>
-        <name>CLUSTER_REG_D[%s]</name>
-        <description>Cluster Test Register D</description>
-        <alternateRegister>CLUSTER_REG_A[%s]</alternateRegister>
-        <addressOffset>0x00</addressOffset>
-        <size>32</size>
-        <access>read-write</access>
-        <resetValue>0x00000000</resetValue>
-        <resetMask>0xFFFFFFFF</resetMask>
-      </register>
-    </cluster>
-    
-      <register>
-        <dim>4</dim>
-        <dimIncrement>0x04</dimIncrement>
-        <name>REG_UNION_CLUSTER[%s]</name>
-        <description>Register in union with Cluster</description>
-        <!-- original entry:   <alternateRegister>Cluster_1.CLUSTER_REG_A[%s]</alternateRegister>
-             is not allowed by schema. Below just to pass schema check.
-        -->
-        <alternateRegister>Cluster_1_CLUSTER_REG_A[%s]</alternateRegister>
-        <addressOffset>0x70</addressOffset>
-        <size>32</size>
-        <access>read-write</access>
-        <resetValue>0x00000000</resetValue>
-        <resetMask>0xFFFFFFFF</resetMask>
-      </register>
-      
-      <register>
-        <dim>4</dim>
-        <dimIncrement>0x04</dimIncrement>
-        <name>REG_UNION_CLUSTERy[%s]</name>
-        <description>Register in union with Cluster</description>
-        <alternateRegister>REG_UNION_CLUSTER[%s]</alternateRegister>
-        <addressOffset>0x70</addressOffset>
-        <size>32</size>
-        <access>read-write</access>
-        <resetValue>0x00000000</resetValue>
-        <resetMask>0xFFFFFFFF</resetMask>
-      </register>
-      
-    <cluster>
-      <dim>4</dim>
-      <dimIncrement>0x100</dimIncrement>
-      <dimIndex>A,B,C,D</dimIndex>
-      <name>Cluster_2%s</name>
-      <description>Test Cluster Instance 1</description>
-      <alternateCluster>Cluster_1</alternateCluster>
-      <addressOffset>0x70</addressOffset>
-      <register>
-        <name>CLUSTER_REG_A</name>
-        <description>Cluster Test Register A</description>
-        <alternateRegister>Cluster_1</alternateRegister>
-        <addressOffset>0x00</addressOffset>
-        <size>32</size>
-        <access>read-write</access>
-        <resetValue>0x00000000</resetValue>
-        <resetMask>0xFFFFFFFF</resetMask>
-      </register>
-      <register>            
-        <name>CLUSTER_REG_B</name>
-        <description>Cluster Test Register B</description>
-        <alternateRegister>Cluster_1</alternateRegister>
-        <addressOffset>0x04</addressOffset>
-        <size>32</size>
-        <access>read-write</access>
-        <resetValue>0x00000000</resetValue>
-        <resetMask>0xFFFFFFFF</resetMask>
-      </register>
-      <register>            
-        <name>CLUSTER_REG_C</name>
-        <description>Cluster Test Register C</description>
-        <alternateRegister>Cluster_1</alternateRegister>
-        <addressOffset>0x08</addressOffset>
-        <size>32</size>
-        <access>read-write</access>
-        <resetValue>0x00000000</resetValue>
-        <resetMask>0xFFFFFFFF</resetMask>
-      </register>
-      <register>
-        <dim>4</dim>
-        <dimIncrement>4</dimIncrement>
-        <name>CLUSTER_REG_D[%s]</name>
-        <description>Cluster Test Register D</description>
-        <addressOffset>0x0c</addressOffset>
-        <size>32</size>
-        <access>read-write</access>
-        <resetValue>0x00000000</resetValue>
-        <resetMask>0xFFFFFFFF</resetMask>
-      </register>
-    </cluster>
-    
-    <cluster>
-      <dim>4</dim>
-      <dimIncrement>0x04</dimIncrement>
-      <name>Cluster_3[%s]</name>
-      <description>Test Cluster Instance 3</description>
-      <alternateCluster>Cluster_1</alternateCluster>
-      <addressOffset>0x70</addressOffset>
-      
-      <register>
-        <dim>4</dim>
-        <dimIncrement>4</dimIncrement>
-        <dimIndex>_a,_b,_c,_d</dimIndex>
-        <name>CLUSTER_REG_A%s</name>
-        <description>Cluster Test Register A</description>
-        <addressOffset>0x00</addressOffset>
-        <size>32</size>
-        <access>read-write</access>
-        <resetValue>0x00000000</resetValue>
-        <resetMask>0xFFFFFFFF</resetMask>
-      </register>
-      
-      <register>
-        <dim>4</dim>
-        <dimIncrement>4</dimIncrement>
-        <dimIndex>_Alt_a,_Alt_b,_Alt_c,_Alt_d</dimIndex>
-        <name>CLUSTER_REG_B%s</name>      
-        <description>Cluster Test Register B</description>
-        <addressOffset>0x00</addressOffset>
-        <size>32</size>
-        <access>read-write</access>
-        <resetValue>0x00000000</resetValue>
-        <resetMask>0xFFFFFFFF</resetMask>
-      </register>
-    </cluster>
-    
-    <cluster derivedFrom="Cluster_3[%s]">
-      <name>Cluster_4[%s]</name>
-      <description>Test Cluster Instance 4</description>
-      <alternateCluster>Cluster_2</alternateCluster>
-      <addressOffset>0x70</addressOffset>
-    </cluster>
-
-      </registers>
-    </peripheral>
-
-    <!-- Timer 1 -->
-    <peripheral derivedFrom="TIMER0">
-      <name>TIMER1</name>
-      <baseAddress>0x40010100</baseAddress>
-      <interrupt>
-        <name>TIMER1</name>
-        <value>5</value>
-      </interrupt>
-    </peripheral>
-
-    <!-- Timer 2 -->
-    <peripheral derivedFrom="TIMER0">
-      <name>TIMER2</name>
-      <baseAddress>0x40010200</baseAddress>
-      <interrupt>
-        <name>TIMER2</name>
-        <value>6</value>
-      </interrupt>
-    </peripheral>
-
-    <!-- Timer 3 -->
-    <peripheral derivedFrom="TIMER0">
-      <name>TIMER3</name>
-      <baseAddress>0x40010300</baseAddress>
-      <interrupt>
-        <name>TIMER3</name>
-        <value>7</value>
-      </interrupt>
-
-      <registers>
-        <register derivedFrom="CR">
-          <name>CR2</name>
-          <description>Control Register for the second group.</description>
-          <addressOffset>0x40</addressOffset>
-        </register>
-
-        <register derivedFrom="COUNT">
-          <dim>4</dim>
-          <dimIncrement>0x04</dimIncrement>
-          <dimIndex>CA,CB,CC,CD</dimIndex>
-          <name>COUNT_%s</name>
-          <displayName>COUNT%s</displayName>
-          <description>Set of count Registers</description>
-          <addressOffset>0x500</addressOffset>
-
-          <fields>
-            <field>
-              <name>ACTIVE</name>
-              <description>Active Flag</description>
-              <bitRange>[0:0]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>Inactive</name>
-                  <description>The Count Register is inactive</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Active</name>
-                  <description>The Count Register is active</description>
-                  <value>1</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <field>
-              <name>COUNT</name>
-              <description>Alternative Count Register 30Bit</description>
-              <bitRange>[30:1]</bitRange>
-              <access>read-write</access>
-            </field>
-
-            <field derivedFrom="ACTIVE">
-              <name>ACTIVE2</name>
-              <description>Alternate Active Flag</description>
-              <bitRange>[31:31]</bitRange>
-            </field>
-          </fields>
-        </register>
-        
-        <cluster>
-          <dim>4</dim>
-          <dimIncrement>0x20</dimIncrement>
-          <name>Cluster_5[%s]</name>
-          <description>Test Cluster Instance 1</description>
-          <headerStructName>Cluster5</headerStructName>
-          <addressOffset>0x170</addressOffset>
-          <register>
-            <dim>4</dim>
-            <dimIncrement>0x04</dimIncrement>
-            <name>CLUSTER_REG_A[%s]</name>
-            <description>Cluster Test Register A</description>
-            <addressOffset>0x00</addressOffset>
-            <size>32</size>
-            <access>read-write</access>
-            <resetValue>0x00000000</resetValue>
-            <resetMask>0xFFFFFFFF</resetMask>
-          </register>
-        </cluster>
-
-      </registers>
-    </peripheral>
-
-    <!-- UART 0 -->
-    <peripheral>
-      <name>UART0</name>
-      <version>1.0</version>
-      <description>UART peripheral</description>
-      <groupName>UART</groupName>
-      <baseAddress>0x40020000</baseAddress>      
-      <size>32</size>
-      <access>read-write</access>
-
-      <addressBlock>
-        <offset>0</offset>
-        <size>0x100</size>
-        <usage>registers</usage>
-      </addressBlock>
-
-      <interrupt>
-        <name>UART0</name>
-        <value>10</value>
-      </interrupt>
-
-      <registers>
-      <!-- DR: Data Register -->
-        <register>
-          <name>DR</name>
-          <description>Data Register</description>
-          <addressOffset>0x40</addressOffset>
-          <size>32</size>
-          <access>read-write</access>
-
-          <fields>
-            <!-- Data -->
-            <field>
-              <name>DATA</name>
-              <description>Data Register</description>
-              <bitRange>[7:0]</bitRange>
-              <access>read-write</access>
-            </field>
-          </fields>
-        </register>
-
-      <!-- DR: Data Register: ASCII Mode -->
-        <register>
-          <name>DR</name>
-          <description>Data Register: ASCII Mode</description>
-          <alternateGroup>ASCII</alternateGroup>          
-          <addressOffset>0x40</addressOffset>
-          <size>32</size>
-          <access>read-write</access>
-
-          <fields>
-            <!-- Data -->
-            <field>
-              <name>DATA</name>
-              <description>Data Register</description>
-              <bitRange>[7:0]</bitRange>
-              <access>read-write</access>
-            </field>
-          </fields>
-        </register>
-
-        <!-- DR: Data Register: I2C Mode -->
-        <register>
-          <name>DR</name>
-          <description>Data Register: I2C Mode</description>
-          <alternateGroup>I2C</alternateGroup>          
-          <addressOffset>0x40</addressOffset>
-          <size>32</size>
-          <access>read-write</access>
-
-          <fields>
-            <!-- Data -->
-            <field>
-              <name>DATA</name>
-              <description>Data Register</description>
-              <bitRange>[7:0]</bitRange>
-              <access>read-write</access>
-            </field>
-          </fields>
-        </register>
-
-        <!-- DR: Data Register: SPI Mode -->
-        <register>
-          <name>DR</name>
-          <description>Data Register: SPI Mode</description>
-          <alternateGroup>SPI</alternateGroup>          
-          <addressOffset>0x40</addressOffset>
-          <size>32</size>
-          <access>read-write</access>
-
-          <fields>
-            <!-- Data -->
-            <field>
-              <name>DATA</name>
-              <description>Data Register</description>
-              <bitRange>[7:0]</bitRange>
-              <access>read-write</access>
-            </field>
-          </fields>
-        </register>
-
-      </registers>
-    </peripheral>
- 
-    <peripheral>
-      <name>UART1</name>
-      <version>1.0</version>
-      <description>UART peripheral</description>
-      <groupName>UART</groupName>
-      <baseAddress>0x40021000</baseAddress>      
-      <size>32</size>
-      <access>read-write</access>
-
-      <addressBlock>
-        <offset>0</offset>
-        <size>0x100</size>
-        <usage>registers</usage>
-      </addressBlock>
-
-      <interrupt>
-        <name>UART1</name>
-        <value>11</value>
-      </interrupt>
-      
-      <registers>
-        <register>
-          <dim>4</dim>
-          <dimIncrement>4</dimIncrement>
-          <dimIndex>0,1,2,3</dimIndex>
-          <name>DR_A[%s]</name>
-          <description>Data Register A</description>
-          <addressOffset>0x40</addressOffset>
-          <size>32</size>
-          <access>read-write</access>
-        </register>
-        
-        <register>
-          <dim>4</dim>
-          <dimIncrement>4</dimIncrement>
-          <dimIndex>0,1,2,3</dimIndex>
-          <name>DR_B[%s]</name>
-          <description>Data Register B</description>
-          <alternateRegister>DR_A[%s]</alternateRegister>          
-          <addressOffset>0x40</addressOffset>
-          <size>32</size>
-          <access>read-write</access>
-        </register>
-        
-        <register>
-          <name>DR_C</name>
-          <description>Data Register C</description>
-          <alternateRegister>DR_A0</alternateRegister>          
-          <addressOffset>0x40</addressOffset>
-          <size>32</size>
-          <access>read-write</access>
-        </register>
-      </registers>
-  
-    </peripheral>
- 
-
-    <!-- UART 3 -->
-    <peripheral>
-      <name>UART3</name>
-      <version>1.0</version>
-      <description>UART3 peripheral</description>
-      <groupName>UART</groupName>
-      <baseAddress>0x40030000</baseAddress>
-      <size>32</size>
-      <access>read-write</access>
-
-      <addressBlock>
-        <offset>0</offset>
-        <size>0x1000</size>
-        <usage>registers</usage>
-      </addressBlock>
-
-      <interrupt>
-        <name>FOO</name>
-        <value>20</value>
-      </interrupt>
-      
-
-      <registers>
-      <!-- DR: Data Register -->
-        <register>
-          <dim>4</dim>
-          <dimIncrement>4</dimIncrement>
-          <!--dimIndex>0,1,2,3</dimIndex-->
-          <name>DR_A[%s]</name>
-          <description>Data Register A</description>
-          <addressOffset>0x40</addressOffset>
-          <size>32</size>
-          <access>read-write</access>
-        </register>
-        
-        <register>
-          <dim>4</dim>
-          <dimIncrement>4</dimIncrement>
-          <dimIndex>0,1,2,3</dimIndex>
-          <name>DR_B[%s]</name>
-          <description>Data Register B</description>
-          <alternateRegister>DR_A[%s]</alternateRegister>          
-          <addressOffset>0x40</addressOffset>
-          <size>32</size>
-          <access>read-write</access>
-        </register>
-        
-        <register>
-          <dim>4</dim>
-          <dimIncrement>4</dimIncrement>
-          <dimIndex>a,b,c,d</dimIndex>
-          <name>DR_C%s</name>
-          <description>Data Register C</description>
-          <addressOffset>0x50</addressOffset>
-          <size>32</size>
-          <access>read-write</access>
-        </register>
-        
-        <register>
-          <dim>4</dim>
-          <dimIncrement>4</dimIncrement>
-          <dimIndex>w,x,y,z</dimIndex>
-          <name>DR_D%s</name>
-          <description>Data Register D</description>
-          <alternateRegister>DR_C%s</alternateRegister>          
-          <addressOffset>0x50</addressOffset>
-          <size>32</size>
-          <access>read-write</access>
-        </register>
-        
-        <register>          
-          <name>DR_E_A0</name>
-          <description>Data Register E to A0</description>
-          <alternateRegister>DR_A0</alternateRegister>
-          <addressOffset>0x40</addressOffset>
-          <size>32</size>
-          <access>read-write</access>
-        </register>
-        
-      </registers>
-    </peripheral>
-
-    <!-- UART 4 -->
-    <peripheral derivedFrom="UART3">
-      <name>UART4</name>
-      <version>1.0</version>
-      <description>UART4 peripheral</description>
-      <alternatePeripheral>UART3</alternatePeripheral>
-      <groupName>UART</groupName>
-      <baseAddress>0x40030000</baseAddress>
-      <size>32</size>
-      <access>read-write</access>
-
-      <addressBlock>
-        <offset>0</offset>
-        <size>0x1000</size>
-        <usage>registers</usage>
-      </addressBlock>
-
-      <interrupt>
-        <name>BAR</name>
-        <value>21</value>
-      </interrupt>
-      
-    </peripheral>
-
-
-	<peripheral>
-      <name>TIMER5</name>
-      <version>1.0</version>
-      <description>32 Timer / Counter, counting up or down from different sources</description>
-      <groupName>TIMER</groupName>
-      <headerStructName>TIM5</headerStructName>
-      <baseAddress>0x40060000</baseAddress>
-      <size>32</size>
-      <access>read-write</access>
-
-      <addressBlock>
-        <offset>0</offset>
-        <size>0x400</size>
-        <usage>registers</usage>
-      </addressBlock>
-
-      <interrupt>
-        <name>TIMER5</name>
-        <value>17</value>
-      </interrupt>
-
-      <registers>
-	    <register>
-		  <dim>4</dim>
-		  <dimIncrement>0x04</dimIncrement>
-		  <name>DR_M[%s]</name>
-		  <description>Multiple Definitions</description>
-		  <addressOffset>0x160</addressOffset>
-		</register>
-		
-	  <register>
-		  <dim>4</dim>
-		  <dimIncrement>0x04</dimIncrement>
-		  <dimIndex>A,B,C,D</dimIndex>
-		  <name>DR_M%s</name>
-		  <description>Multiple Definitions</description>
-		  <addressOffset>0x170</addressOffset>
-		</register>
-		
-	  <register derivedFrom="DR_M0">
-		  <dim>4</dim>
-		  <dimIncrement>0x04</dimIncrement>
-		  <name>DR_M1[%s]</name>
-		  <displayName>DR_M1[%s]</displayName>
-		  <description>Multiple Definitions derive</description>
-		  <addressOffset>0x150</addressOffset>
-		</register>
-		
-		
-    <cluster>
-      <name>Cluster_A</name>
-      <description>Cluster A</description>
-      <headerStructName>TIM5Clust</headerStructName>
-      <addressOffset>0x0</addressOffset>
-      <register>
-        <dim>4</dim>
-        <dimIncrement>0x04</dimIncrement>
-        <name>CLUSTER_REG_A[%s]</name>
-        <description>Cluster Test Register A</description>
-        <addressOffset>0x00</addressOffset>
-        <size>32</size>
-        <access>read-write</access>
-        <resetValue>0x00000000</resetValue>
-        <resetMask>0xFFFFFFFF</resetMask>
-      </register>
-    </cluster>
-
-    <cluster derivedFrom="Cluster_A">
-      <name>Cluster_B</name>
-      <description>Cluster B</description>
-      <addressOffset>0x100</addressOffset>
-    </cluster>
-		
-		<cluster derivedFrom="Cluster_A">
-		  <dim>4</dim>
-		  <dimIncrement>0x10</dimIncrement>
-          <name>Cluster_C[%s]</name>
-          <description>Cluster C</description>
-          <addressOffset>0x100</addressOffset>
-        </cluster>
-	    
-		<!-- <register derivedFrom="UART3.DR_E_A0"> 
-             changed to below name to comply to schema file
-        -->
-		<register derivedFrom="UART3_DR_E_A0">
-		  <dim>4</dim>
-		  <dimIncrement>0x04</dimIncrement>
-		  <name>DR_E_A[%s]</name>
-		  <description>Derived from UART3</description>
-		  <alternateRegister>DR_M[%s]</alternateRegister>
-		  <addressOffset>0x140</addressOffset>
-		</register>
-				
-		<!-- <register derivedFrom="UART3.DR_A0"> to comply to schema file-->
-		<register derivedFrom="UART3_DR_A0">
-		  <dim>4</dim>
-		  <dimIncrement>0x04</dimIncrement>
-		  <name>DR_A[%s]</name>
-		  <description>Derived from UART3</description>
-          <alternateRegister>DR_M%s</alternateRegister>
-		  <addressOffset>0x160</addressOffset>
-		</register>
-
-   	
-		<!-- <cluster derivedFrom="TIMER3.Cluster_5[%s]"> -->
-		<cluster derivedFrom="TIMER3_Cluster_5[%s]">
-		  <name>Cluster5_TIMER3[%s]</name>
-          <description>Derived from Cluster 5 TIMER3</description>
-		  <addressOffset>0x180</addressOffset>
-		</cluster>
-		
-		<cluster derivedFrom="Cluster_5[%s]">
-		  <name>Cluster_6[%s]</name>
-          <description>Derived from Cluster 5</description>
-		  <addressOffset>0x180</addressOffset>
-		</cluster>
-		
-		
-		<!-- <register derivedFrom="TIMER3.Cluster_1[%s].CLUSTER_REG_B"> -->
-		<register derivedFrom="TIMER3_Cluster_1_CLUSTER_REG_B[%s]">
-		  <name>RegB[%s]</name>
-		  <addressOffset>0x200</addressOffset>
-		</register>
-		
-		
-		<!-- <register derivedFrom="Cluster_5[%s].CLUSTER_REG_A[%s]"> -->
-		<register derivedFrom="Cluster_5_CLUSTER_REG_A[%s]">
-		  <name>RegA[%s]</name>
-		  <addressOffset>0x210</addressOffset>
-		</register>
-		
-		<register derivedFrom="CLUSTER_REG_A[%s]">
-		  <name>RegC[%s]</name>
-		  <addressOffset>0x220</addressOffset>
-		</register>
-
-      </registers>
-	  	  
-    </peripheral>
-	
-	<peripheral derivedFrom="TIMER5">
-    <name>TIMER6</name>
-    <version>1.0</version>
-    <description>TIMER6 peripheral</description>
-    <groupName>TIMER</groupName>
-    <baseAddress>0x40031000</baseAddress>
-    <size>32</size>
-    <access>read-write</access>
-
-    <interrupt>
-      <name>TIMER6</name>
-      <value>31</value>
-    </interrupt>
-	  
-	  <registers>
-	    <register derivedFrom="CLUSTER_REG_A[%s]">
-		  <name>RegD[%s]</name>
-		  <addressOffset>0x230</addressOffset>
-      </register>
-		
-      <cluster derivedFrom="Cluster_6[%s]">
-        <name>Cluster_7[%s]</name>
-        <description>Derived from Cluster6</description>
-        <addressOffset>0x180</addressOffset>
-      </cluster>
-	
-    </registers>      
-  </peripheral>
-    
-    
-
-
-
-
-
-
-  </peripherals>
-</device>

+ 0 - 4499
CMSIS/DoxyGen/SVD/src/ARM_RefMCU1.svd.x

@@ -1,4499 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--  File naming: <vendor>_<part/series name>_svd.xml  -->
-<!-- 
-  Copyright (C) 2016 ARM Limited. All rights reserved.
-
-  Purpose: System Viewer SVD Description for ARM Reference
-           This is a reference example.
-  -->
-<device schemaVersion="1.3" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="CMSIS-SVD.xsd">
-  <vendor>ARM Ltd.</vendor>                                       <!--  Name for DoxyGroup  -->
-  <vendorID>ARM</vendorID>                                        <!--  Vendor ID  -->
-  <name>ARM_RefMCU</name>                                         <!--  name of part or part series  -->
-  <series>ARM_Ref</series>                                        <!--  series   -->
-  <version>1.0</version>                                          <!--  version of this description  -->
-
-  <description>SVD Reference Description MCU V1.0, \n 
-  with ARM 32-bit Cortex-M3 Microcontroller, CPU clock up to 80MHz</description>
-
-  <licenseText>THIS SOFTWARE IS PROVIDED "AS IS". \n 
-  NO WARRANTIES, WHETHER EXPRESS, IMPLIED OR STATUTORY, \n
-  INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. \n
-  ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, \n
-  FOR ANY REASON WHATSOEVER. </licenseText>
-
-  <cpu>
-    <name>SC300</name>
-    <revision>r2p0</revision>                                    <!--  CPU Revision r2p0 = 0x2000  -->
-    <endian>little</endian>                                      <!--  little, big, configurable (headerfile: little, big, configurable (#ifdef compilerflag)    -->
-    <mpuPresent>true</mpuPresent>                                <!--  Does the CPU has a MPU? {0|1}  -->
-    <fpuPresent>true</fpuPresent>                                <!--  Does the CPU has a FPU? {0|1}  -->
-    <nvicPrioBits>4</nvicPrioBits>                               <!--  Number of NVIC Priority Bits {8..2}  -->
-    <vendorSystickConfig>0</vendorSystickConfig>                 <!--  Does the Vendor has his own Systick Configuration Function? See CMSIS: core_cm3.h  -->
-	<fpuDP>0</fpuDP>
-	<icachePresent>false</icachePresent>
-	<dcachePresent>false</dcachePresent>
-	<itcmPresent>false</itcmPresent>
-	<dtcmPresent>0</dtcmPresent>
-  </cpu>
-  
-  <headerSystemFilename>system_ARM</headerSystemFilename>        <!--  System Header File overwrite  -->
-  <headerDefinitionsPrefix>ARM_</headerDefinitionsPrefix>        <!--  Prefix for all structs and #defines  -->
-  
-  <addressUnitBits>8</addressUnitBits>                           <!--  byte addressable memory  -->
-  <width>32</width>                                              <!--  bus width is 32 bits  -->
-  <size>32</size>                                                <!--  this is the default size (number of bits) of all peripherals  -->
-                                                                 <!--  and register that do not define "size" themselves            -->
-  <resetValue>0x00000000</resetValue>                            <!--  by default all bits of the registers are initialized to 0 on reset  -->
-  <resetMask>0xFFFFFFFF</resetMask>                              <!--  by default all 32Bits of the registers are used  -->
-    
-
-  <peripherals>
-
-    <!--  Timer 0  -->
-    <peripheral>
-      <name>TIMER0</name>
-      <version>1.0</version>
-      <description>32 Timer / Counter, counting up or down from different sources</description>
-      <groupName>TIMER</groupName>
-      <headerStructName>TIMER</headerStructName>
-      <baseAddress>0x40010000</baseAddress>
-      <size>32</size>
-      <access>read-write</access>
-
-      <addressBlock>
-        <offset>0</offset>
-        <size>0x2000</size>
-        <usage>registers</usage>
-      </addressBlock>
-
-      <interrupt>
-        <name>TIMER0</name>
-		<description>Timer 0 Interrupt</description>
-        <value>0</value>
-      </interrupt>
-
-      <registers>
-      <!--  CR: Control Register  -->
-      
-        <!-- register type="TypeA">
-          <offset>0x20</offset>
-        </register -->
-                
-        <register>
-          <name>CR</name>
-          <description>Control Register \n Second description Line of CR with Register- \n description</description>
-          <addressOffset>0x00</addressOffset>
-          <size>32</size>
-          <access>read-write</access>
-          <resetValue>0x00000000</resetValue>
-          <resetMask>0x1337F7F</resetMask>
-
-          <fields>
-            <!--  EN: Enable  -->
-            <field>
-              <name>EN</name>
-              <description>Enable \n enables the Timer</description>
-              <bitRange>[0:0]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-			    <name>EN_Values</name>
-                <enumeratedValue>
-                  <name>Disable</name>
-                  <description>Timer is disabled \n and does not operate</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Enable</name>
-                  <description>Timer is enabled and can operate</description>
-                  <value>1</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-            
-            
-            <!--  RST: Reset  -->
-            <field>
-              <name>RST</name>
-              <description>Reset Timer</description>
-              <bitRange>[1:1]</bitRange>
-              <access>write-only</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>Reserved</name>
-                  <description>Write as ZERO if necessary</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Reset Timer</name>
-                  <description>Reset the Timer</description>
-                  <value>1</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <!--  CNT: Counting Direction  -->
-            <field>
-              <name>CNT</name>
-              <description>Counting direction</description>
-              <bitRange>[3:2]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>Count UP</name>
-                  <description>Timer Counts UO and wraps, if no STOP condition is set</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Count DOWN</name>
-                  <description>Timer Counts DOWN and wraps, if no STOP condition is set</description>
-                  <value>1</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Toggle</name>
-                  <description>Timer Counts up to MAX, then DOWN to ZERO, if no STOP condition is set</description>
-                  <value>2</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <!--  MODE: Operation Mode  -->
-            <field>
-              <name>MODE</name>
-              <description>Operation Mode</description>
-              <bitRange>[6:4]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>Continous</name>
-                  <description>Timer runs continously</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Single, ZERO/MAX</name>
-                  <description>Timer counts to 0x00 or 0xFFFFFFFF (depending on CNT) and stops</description>
-                  <value>1</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Single, MATCH</name>
-                  <description>Timer counts to the Value of MATCH Register and stops</description>
-                  <value>2</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Reload, ZERO/MAX</name>
-                  <description>Timer counts to 0x00 or 0xFFFFFFFF (depending on CNT), loads the RELOAD Value and continues</description>
-                  <value>3</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Reload, MATCH</name>
-                  <description>Timer counts to the Value of MATCH Register, loads the RELOAD Value and continues</description>
-                  <value>4</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <!--  PSC: Use Prescaler  -->
-            <field>
-              <name>PSC</name>
-              <description>Use Prescaler</description>
-              <bitRange>[7:7]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>Disabled</name>
-                  <description>Prescaler is not used</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Enabled</name>
-                  <description>Prescaler is used as divider</description>
-                  <value>1</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <!--  CNTSRC: Timer / Counter Soruce Divider  -->
-            <field>
-              <name>CNTSRC</name>
-              <description>Timer / Counter Source Divider</description>
-              <bitRange>[11:8]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>CAP SRC</name>
-                  <description>Capture Source is used directly</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>CAP SRC / 2</name>
-                  <description>Capture Source is divided by 2</description>
-                  <value>1</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>CAP SRC / 4</name>
-                  <description>Capture Source is divided by 4</description>
-                  <value>2</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>CAP SRC / 8</name>
-                  <description>Capture Source is divided by 8</description>
-                  <value>3</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>CAP SRC / 16</name>
-                  <description>Capture Source is divided by 16</description>
-                  <value>4</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>CAP SRC / 32</name>
-                  <description>Capture Source is divided by 32</description>
-                  <value>5</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>CAP SRC / 64</name>
-                  <description>Capture Source is divided by 64</description>
-                  <value>6</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>CAP SRC / 128</name>
-                  <description>Capture Source is divided by 128</description>
-                  <value>7</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>CAP SRC / 256</name>
-                  <description>Capture Source is divided by 256</description>
-                  <value>8</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <!--  CAPSRC: Timer / COunter Capture Source  -->
-            <field>
-              <name>CAPSRC</name>
-              <description>Timer / Counter Capture Source</description>
-              <bitRange>[15:12]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>CClk</name>
-                  <description>Core Clock</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOA_0</name>
-                  <description>GPIO A, PIN 0</description>
-                  <value>1</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOA_1</name>
-                  <description>GPIO A, PIN 1</description>
-                  <value>2</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOA_2</name>
-                  <description>GPIO A, PIN 2</description>
-                  <value>3</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOA_3</name>
-                  <description>GPIO A, PIN 3</description>
-                  <value>4</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOA_4</name>
-                  <description>GPIO A, PIN 4</description>
-                  <value>5</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOA_5</name>
-                  <description>GPIO A, PIN 5</description>
-                  <value>6</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOA_6</name>
-                  <description>GPIO A, PIN 6</description>
-                  <value>7</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOA_7</name>
-                  <description>GPIO A, PIN 7</description>
-                  <value>8</value>
-                </enumeratedValue>
-
-                <enumeratedValue>
-                  <name>GPIOB_0</name>
-                  <description>GPIO B, PIN 0</description>
-                  <value>9</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOB_1</name>
-                  <description>GPIO B, PIN 1</description>
-                  <value>10</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOB_2</name>
-                  <description>GPIO B, PIN 2</description>
-                  <value>11</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOB_3</name>
-                  <description>GPIO B, PIN 3</description>
-                  <value>12</value>
-                </enumeratedValue>
-
-                <enumeratedValue>
-                  <name>GPIOC_0</name>
-                  <description>GPIO C, PIN 0</description>
-                  <value>13</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOC_5</name>
-                  <description>GPIO C, PIN 1</description>
-                  <value>14</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOC_6</name>
-                  <description>GPIO C, PIN 2</description>
-                  <value>15</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <!--  CAPEDGE: Capture Edge  -->
-            <field>
-              <name>CAPEDGE</name>
-              <description>Capture Edge, select which Edge should result in a counter increment or decrement</description>
-              <bitRange>[17:16]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>RISING</name>
-                  <description>Only rising edges result in a counter increment or decrement</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>FALLING</name>
-                  <description>Only falling edges  result in a counter increment or decrement</description>
-                  <value>1</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>BOTH</name>
-                  <description>Rising and falling edges result in a counter increment or decrement</description>
-                  <value>2</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <!--  TRGEXT: Triggers an other Peripheral  -->
-            <field>
-              <name>TRGEXT</name>
-              <description>Triggers an other Peripheral</description>
-              <bitRange>[21:20]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>NONE</name>
-                  <description>No Trigger is emitted</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>DMA1</name>
-                  <description>DMA Controller 1 is triggered, dependant on MODE</description>
-                  <value>1</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>DMA2</name>
-                  <description>DMA Controller 2 is triggered, dependant on MODE</description>
-                  <value>2</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>UART</name>
-                  <description>UART is triggered, dependant on MODE</description>
-                  <value>3</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <!--  Reload: Selects Reload Register n  -->
-            <field>
-              <name>RELOAD</name>
-              <description>Select RELOAD Register n to reload Timer on condition</description>
-              <bitRange>[25:24]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>RELOAD0</name>
-                  <description>Selects Reload Register number 0</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>RELOAD1</name>
-                  <description>Selects Reload Register number 1</description>
-                  <value>1</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>RELOAD2</name>
-                  <description>Selects Reload Register number 2</description>
-                  <value>2</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>RELOAD3</name>
-                  <description>Selects Reload Register number 3</description>
-                  <value>3</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <!--  IDR: Inc or dec Reload Register Selection  -->
-            <field>
-              <name>IDR</name>
-              <description>Selects, if Reload Register number is incremented, decremented or not modified</description>
-              <bitRange>[27:26]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>KEEP</name>
-                  <description>Reload Register number does not change automatically</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>INCREMENT</name>
-                  <description>Reload Register number is incremented on each match</description>
-                  <value>1</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>DECREMENT</name>
-                  <description>Reload Register number is decremented on each match</description>
-                  <value>2</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-            
-            <field> 
-              <name>reSeRveD</name>
-              <description>Reserved Register</description>
-              <bitRange>[29:28]</bitRange>
-            </field>
-            
-            <!-- field>
-              <name>EN_FOO</name>
-              <description>Enable Foo</description>
-              <bitRange>[30:30]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <usage>read</usage>
-                <enumeratedValue>
-                  <name>enabled</name>
-                  <value>1</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>disabled</name>
-                  <value>0</value>
-                </enumeratedValue>
-              </enumeratedValues>
-              <enumeratedValues>
-                <usage>write</usage>
-                <enumeratedValue>
-                  <name>enable interrupt</name>
-                  <value>1</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>ignored</name>
-                  <value>0</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field -->
-
-            <!--  START: Starts / Stops the Timer/Counter  -->
-            <field>
-              <name>START</name>
-              <description>Starts and Stops the Timer / Counter</description>
-              <bitRange>[31:31]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>STOP</name>
-                  <description>Timer / Counter is stopped</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>START</name>
-                  <description>Timer / Counter is started</description>
-                  <value>1</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-          </fields>
-        </register>
-
-        <!--  SR: Status Register  -->
-        <register>
-          <name>SR</name>
-          <description>Status Register</description>
-          <addressOffset>0x04</addressOffset>
-          <size>16</size>
-          <access>read-write</access>
-          <resetValue>0x00000000</resetValue>
-          <resetMask>0xD701</resetMask>
-
-          <fields>
-            <!--  RUN: Shows if Timer is running  -->
-            <field>
-              <name>RUN</name>
-              <description>Shows if Timer is running or not</description>
-              <bitRange>[0:0]</bitRange>
-              <access>read-only</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>Not Running</name>
-                  <description>Timer is not running</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Running</name>
-                  <description>Timer is running</description>
-                  <value>1</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <!--  MATCH: Shows if a Match was hit  -->
-            <field>
-              <name>MATCH</name>
-              <description>Shows if the MATCH was hit</description>
-              <bitRange>[8:8]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>No Match</name>
-                  <description>The MATCH condition was not hit</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Match Hit</name>
-                  <description>The MATCH condition was hit</description>
-                  <value>1</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <!--  UN: Shows if an underflow occured  -->
-            <field>
-              <name>UN</name>
-              <description>Shows if an underflow occured. This flag is sticky</description>
-              <bitRange>[9:9]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>No Underflow</name>
-                  <description>No underflow occured since last clear</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Underflow occured</name>
-                  <description>A minimum of one underflow occured since last clear</description>
-                  <value>1</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <!--  OV: Shows if an overflow occured  -->
-            <field>
-              <name>OV</name>
-              <description>Shows if an overflow occured. This flag is sticky</description>
-              <bitRange>[10:10]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>No Overflow</name>
-                  <description>No overflow occured since last clear</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Overflow occured</name>
-                  <description>A minimum of one overflow occured since last clear</description>
-                  <value>1</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <!--  RST: Shows if Timer is in RESET state  -->
-            <field>
-              <name>RST</name>
-              <description>Shows if Timer is in RESET state</description>
-              <bitRange>[12:12]</bitRange>
-              <access>read-only</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>Timer can operate</name>
-                  <description>Timer is not in RESET state and can operate</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Reset State</name>
-                  <description>Timer is in RESET state and can not operate</description>
-                  <value>1</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <!--  RELOAD: Shows the currently active Reload Register  -->
-            <field>
-              <name>RELOAD</name>
-              <description>Shows the currently active RELOAD Register</description>
-              <bitRange>[15:14]</bitRange>
-              <access>read-only</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>RELOAD0</name>
-                  <description>Reload Register number 0 is active</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>RELOAD1</name>
-                  <description>Reload Register number 1 is active</description>
-                  <value>1</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>RELOAD2</name>
-                  <description>Reload Register number 2 is active</description>
-                  <value>2</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>RELOAD3</name>
-                  <description>Reload Register number 3 is active</description>
-                  <value>3</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-          </fields>
-        </register>
-
-        <!--  INT: Interrupt Register  -->
-        <register>
-          <name>INT</name>
-          <description>Interrupt Register</description>
-          <addressOffset>0x10</addressOffset>
-          <size>16</size>
-          <access>read-write</access>
-          <resetValue>0x00000000</resetValue>
-          <resetMask>0x0771</resetMask>
-
-          <fields>
-            <!--  EN: Interrupt Enable  -->
-            <field>
-              <name>EN</name>
-              <description>Interrupt Enable</description>
-              <bitRange>[0:0]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>Disabled</name>
-                  <description>Timer does not generate Interrupts</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Enable</name>
-                  <description>Timer triggers the TIMERn Interrupt</description>
-                  <value>1</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <!--  MODE: Interrupt Mode  -->
-            <field>
-              <name>MODE</name>
-              <description>Interrupt Mode, selects on which condition the Timer should generate an Interrupt</description>
-              <bitRange>[6:4]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>Match</name>
-                  <description>Timer generates an Interrupt when the MATCH condition is hit</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Underflow</name>
-                  <description>Timer generates an Interrupt when it underflows</description>
-                  <value>1</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Overflow</name>
-                  <description>Timer generates an Interrupt when it overflows</description>
-                  <value>2</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-          </fields>
-        </register>
-
-        <!--  COUNT: Counter Register  -->
-        <register>
-          <name>COUNT</name>
-          <description>The Counter Register reflects the actual Value of the Timer/Counter</description>
-          <addressOffset>0x20</addressOffset>
-          <size>32</size>
-          <access>read-write</access>
-          <resetValue>0x00000000</resetValue>
-          <resetMask>0xFFFFFFFF</resetMask>
-        </register>
-
-        <register>
-          <name>COUNT_SIGNED</name>
-          <description>The Prescale Register stores the Value for the prescaler. The cont event gets divided by this value</description>
-          <alternateRegister>COUNT</alternateRegister>
-          <addressOffset>0x20</addressOffset>
-          <size>32</size>          
-          <access>read-write</access>
-          <resetValue>0x00000000</resetValue>
-          <resetMask>0xFFFFFFFF</resetMask>
-          <dataType>int32_t</dataType>
-        </register>
-
-        <!--  MATCH: Match Register  -->
-        <register>
-          <name>MATCH</name>
-          <description>The Match Register stores the compare Value for the MATCH condition</description>
-          <addressOffset>0x24</addressOffset>
-          <size>32</size>
-          <access>read-write</access>
-          <resetValue>0x00000000</resetValue>
-          <resetMask>0xFFFFFFFF</resetMask>
-        </register>
-        
-        <!--  MATCH: Match Register  -->
-        <register>
-          <name>MATCH2</name>
-          <description>The Match Register stores the compare Value for the MATCH condition</description>
-          <alternateRegister>MATCH</alternateRegister>
-          <addressOffset>0x24</addressOffset>
-          <size>32</size>
-          <access>read-write</access>
-          <resetValue>0x00000000</resetValue>
-          <resetMask>0xFFFFFFFF</resetMask>
-        </register>
-
-        <!--  PRESCALE: Prescale Read Register  -->
-        <register>
-          <name>PRESCALE_RD</name>
-          <description>The Prescale Register stores the Value for the prescaler. The cont event gets divided by this value</description>
-          <addressOffset>0x28</addressOffset>
-          <size>32</size>
-          <access>read-only</access>
-          <resetValue>0x00000000</resetValue>
-          <resetMask>0xFFFFFFFF</resetMask>
-        </register>
-        
-        <!--  PRESCALE: Prescale Write Register  -->
-        <register>
-          <name>PRESCALE_WR</name>
-          <description>The Prescale Register stores the Value for the prescaler. The cont event gets divided by this value</description>
-          <addressOffset>0x28</addressOffset>
-          <size>32</size>
-          <access>write-only</access>
-          <resetValue>0x00000000</resetValue>
-          <resetMask>0xFFFFFFFF</resetMask>
-        </register>
-		
-		
-        <!--  EnumDeriveTest  -->
-        <register>
-          <name>EnumContDeriveTest</name>
-          <description>Test for Enumerates Values Container deriveFrom</description>
-          <addressOffset>0x30</addressOffset>
-          <size>32</size>
-          <access>write-only</access>
-          <resetValue>0x00000000</resetValue>
-          <resetMask>0xFFFFFFFF</resetMask>
-          <fields>
-            <field>
-              <name>Foo</name>
-              <description>Foo Register</description>
-              <bitRange>[0:0]</bitRange>
-              <access>read-write</access>
-			  <enumeratedValues derivedFrom="TIMER0.CR.EN.EN_Values">
-			  </enumeratedValues>
-            </field>
-		  </fields>
-        </register>
-
-        <!--  RELOAD: Array of Reload Register with 4 elements -->
-        <register>
-          <dim>4</dim>
-          <dimIncrement>4</dimIncrement>
-          <dimIndex>0,1,2,3</dimIndex>
-          <name>RELOAD[%s]</name>
-          <description>The Reload Register stores the Value the COUNT Register gets reloaded on a when a condition was met.</description>
-          <addressOffset>0x50</addressOffset>
-          <size>32</size>
-          <access>read-write</access>
-          <resetValue>0x00000000</resetValue>
-          <resetMask>0xFFFFFFFF</resetMask>
-          
-          <fields>
-            <!--  Data  -->
-            <field>
-              <name>DATA</name>
-              <description>Data Register</description>
-              <bitRange>[23:0]</bitRange>
-              <access>read-write</access>
-            </field>
-            <field>
-              <name>CONF</name>
-              <description>Data Conf</description>
-              <bitRange>[30:27]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>Value Size</name>
-                  <description>Size of the Reload Value</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Value Size</name>
-                  <description>Size of the Reload Value</description>
-                  <value>1</value>
-                </enumeratedValue>
-                  <enumeratedValue>
-                  <name>Value Size</name>
-                  <description>Size of the Reload Value</description>
-                  <value>2</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Value Size</name>
-                  <description>Size of the Reload Value</description>
-                  <value>3</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Value Size</name>
-                  <description>Size of the Reload Value</description>
-                  <value>4</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Value Size</name>
-                  <description>Size of the Reload Value</description>
-                  <value>5</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Value Size</name>
-                  <description>Size of the Reload Value</description>
-                  <value>6</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Value Size</name>
-                  <description>Size of the Reload Value</description>
-                  <value>7</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Value Size</name>
-                  <description>Size of the Reload Value</description>
-                  <value>8</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Value Size</name>
-                  <description>Size of the Reload Value</description>
-                  <value>9</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Value Size</name>
-                  <description>Size of the Reload Value</description>
-                  <value>10</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Value Size</name>
-                  <description>Size of the Reload Value</description>
-                  <value>11</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Value Size</name>
-                  <description>Size of the Reload Value</description>
-                  <value>12</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Value Size</name>
-                  <description>Size of the Reload Value</description>
-                  <value>13</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Value Size</name>
-                  <description>Size of the Reload Value</description>
-                  <value>14</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Value Size</name>
-                  <description>Size of the Reload Value</description>
-                  <value>15</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-            <field>
-              <name>ACTIVE</name>
-              <description>Data Active</description>
-              <bitRange>[31:31]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>Inavtive</name>
-                  <description>Reload is inactive</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Avtive</name>
-                  <description>Reload is active</description>
-                  <value>1</value>
-                </enumeratedValue>                
-              </enumeratedValues>
-            </field>
-          </fields>
-          
-        </register>
-        
-        <!--  RELOAD2: Array of Reload Register with 4 elements -->
-        <register>
-          <dim>4</dim>
-          <dimIncrement>4</dimIncrement>
-          <!-- dimIndex>0,1,2,3</dimIndex -->
-          <name>RELOAD_NO_DIMINDEX[%s]</name>
-          <description>The Reload2 Register stores the Value the COUNT Register gets reloaded on a when a condition was met.</description>
-          <alternateRegister>RELOAD[%s]</alternateRegister>          
-          <addressOffset>0x50</addressOffset>
-          <size>32</size>
-          <access>read-only</access>
-          <resetValue>0x00000000</resetValue>
-          <resetMask>0xFFFFFFFF</resetMask>
-        </register>
-
-
-        <!--  This Registers will create a union  -->
-        <!--  VALUE MODEA: Value Mode A Register  -->
-        <register>
-          <name>VALUE_MODE_8</name>
-          <displayName>VALUE Mode 8</displayName>
-          <description>Value in Timer/Counter Mode 8</description>
-          <addressOffset>0x60</addressOffset>
-          <size>8</size>
-          <access>read-write</access>
-          <resetValue>0x00000000</resetValue>
-          <resetMask>0xFFFFFFFF</resetMask>
-          <fields>
-            <field>
-              <name>Value</name>
-              <description>Value in 8Bit Mode</description>
-              <bitRange>[7:0]</bitRange>
-              <access>read-write</access>
-            </field>
-          </fields>
-        </register>
-        <!--  VALUE MODEA: Value Mode B Register  -->
-        <register>
-          <name>VALUE_MODE_16</name>
-          <displayName>VALUE Mode 16</displayName>
-          <description>Value in Timer/Counter Mode 16</description>
-          <alternateRegister>VALUE_MODE_8</alternateRegister>
-          <addressOffset>0x60</addressOffset>          
-          <size>16</size>
-          <access>read-write</access>
-          <resetValue>0x00000000</resetValue>
-          <resetMask>0xFFFFFFFF</resetMask>
-          <fields>
-            <field>
-              <name>Value</name>
-              <description>Value in 16Bit Mode</description>
-              <bitRange>[15:0]</bitRange>
-              <access>read-write</access>
-            </field>
-          </fields>
-        </register>
-        <!--  VALUE MODEA: Value Mode C Register  -->
-        <register>
-          <name>VALUE_MODE_24</name>
-          <displayName>VALUE Mode 24</displayName>
-          <description>Value in Timer/Counter Mode 24</description>
-          <alternateRegister>VALUE_MODE_8</alternateRegister>
-          <addressOffset>0x60</addressOffset>          
-          <size>24</size>
-          <access>read-write</access>
-          <resetValue>0x00000000</resetValue>
-          <resetMask>0xFFFFFFFF</resetMask>
-          <fields>
-            <field>
-              <name>Value</name>
-              <description>Value in 24Bit Mode</description>
-              <bitRange>[23:0]</bitRange>
-              <access>read-write</access>
-            </field>
-          </fields>
-        </register>
-        <!--  VALUE MODEA: Value Mode D Register  -->
-        <register>
-          <name>VALUE_MODE_32</name>
-          <displayName>VALUE Mode 32</displayName>
-          <description>Value in Timer/Counter Mode 32</description>
-          <alternateRegister>VALUE_MODE_8</alternateRegister>
-          <addressOffset>0x60</addressOffset>          
-          <size>32</size>
-          <access>read-write</access>
-          <resetValue>0x00000000</resetValue>
-          <resetMask>0xFFFFFFFF</resetMask>
-          <fields>
-            <field>
-              <name>Value</name>
-              <description>Value in 32Bit Mode</description>
-              <bitRange>[31:0]</bitRange>
-              <access>read-write</access>
-            </field>
-          </fields>
-        </register>
-    
-        <!--  Read Action Test  -->
-		<register>
-          <name>NoReadAction</name>
-          <description>This Register has no Read action</description>
-          <addressOffset>0x1800</addressOffset>
-          <size>32</size>
-          <access>write-only</access>
-          <resetValue>0x00000000</resetValue>
-          <resetMask>0xFFFFFFFF</resetMask>
-        </register>
-        <register>
-          <name>ReadAction</name>
-          <description>This Register has a Read action</description>
-          <addressOffset>0x1804</addressOffset>
-          <size>32</size>
-          <access>write-only</access>
-          <resetValue>0x00000000</resetValue>
-          <resetMask>0xFFFFFFFF</resetMask>
-		  <readAction>modify</readAction>
-        </register>
-        <register>
-          <name>ReadActionField</name>
-          <description>This Register has a Read action</description>
-          <addressOffset>0x1808</addressOffset>
-          <size>32</size>
-          <access>write-only</access>
-          <resetValue>0x00000000</resetValue>
-          <resetMask>0xFFFFFFFF</resetMask>
-		  <fields>
-            <field>
-              <name>NoReadAction</name>
-              <description>Field has noi Read Action</description>
-              <bitRange>[7:0]</bitRange>
-              <access>read-write</access>
-            </field>
-			<field>
-              <name>ReadAction</name>
-              <description>Field has Read Action</description>
-              <bitRange>[15:8]</bitRange>
-              <access>read-write</access>
-			  <readAction>modify</readAction>
-            </field>
-          </fields>		  
-        </register>		
-   
-    <!--  --------------------   Cluster Test  ----------------------------------------  -->
-    <!--  --------------------   Cluster Test  ----------------------------------------  -->
-    <!--  --------------------   Cluster Test  ----------------------------------------  -->
-    <!--  --------------------   Cluster Test  ----------------------------------------  -->
-    <cluster>
-      <dim>4</dim>
-      <dimIncrement>0x20</dimIncrement>
-      <name>Cluster_1[%s]</name>
-      <headerStructName>MyClust</headerStructName>
-      <description>Test Cluster Instance 1</description>
-      <addressOffset>0x70</addressOffset>
-      <register>
-        <dim>4</dim>
-        <dimIncrement>0x04</dimIncrement>
-        <name>CLUSTER_REG_A[%s]</name>
-        <description>Cluster Test Register A</description>
-        <addressOffset>0x00</addressOffset>
-        <size>32</size>
-        <access>read-write</access>
-        <resetValue>0x00000000</resetValue>
-        <resetMask>0xFFFFFFFF</resetMask>
-        <fields>
-            <field>
-              <name>EN</name>
-              <description>Enable</description>
-              <bitRange>[0:0]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>Disable</name>
-                  <description>Timer is disabled and does not operate</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Enable</name>
-                  <description>Timer is enabled and can operate</description>
-                  <value>1</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-            
-            
-            <field>
-              <name>RST</name>
-              <description>Reset Timer</description>
-              <bitRange>[1:1]</bitRange>
-              <access>write-only</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>Reserved</name>
-                  <description>Write as ZERO if necessary</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Reset Timer</name>
-                  <description>Reset the Timer</description>
-                  <value>1</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <field>
-              <name>CNT</name>
-              <description>Counting direction</description>
-              <bitRange>[3:2]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>Count UP</name>
-                  <description>Timer Counts UO and wraps, if no STOP condition is set</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Count DOWN</name>
-                  <description>Timer Counts DOWN and wraps, if no STOP condition is set</description>
-                  <value>1</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Toggle</name>
-                  <description>Timer Counts up to MAX, then DOWN to ZERO, if no STOP condition is set</description>
-                  <value>2</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <field>
-              <name>MODE</name>
-              <description>Operation Mode</description>
-              <bitRange>[6:4]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>Continous</name>
-                  <description>Timer runs continously</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Single, ZERO/MAX</name>
-                  <description>Timer counts to 0x00 or 0xFFFFFFFF (depending on CNT) and stops</description>
-                  <value>1</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Single, MATCH</name>
-                  <description>Timer counts to the Value of MATCH Register and stops</description>
-                  <value>2</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Reload, ZERO/MAX</name>
-                  <description>Timer counts to 0x00 or 0xFFFFFFFF (depending on CNT), loads the RELOAD Value and continues</description>
-                  <value>3</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Reload, MATCH</name>
-                  <description>Timer counts to the Value of MATCH Register, loads the RELOAD Value and continues</description>
-                  <value>4</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <field>
-              <name>PSC</name>
-              <description>Use Prescaler</description>
-              <bitRange>[7:7]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>Disabled</name>
-                  <description>Prescaler is not used</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Enabled</name>
-                  <description>Prescaler is used as divider</description>
-                  <value>1</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <field>
-              <name>CNTSRC</name>
-              <description>Timer / Counter Source Divider</description>
-              <bitRange>[11:8]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>CAP SRC</name>
-                  <description>Capture Source is used directly</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>CAP SRC / 2</name>
-                  <description>Capture Source is divided by 2</description>
-                  <value>1</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>CAP SRC / 4</name>
-                  <description>Capture Source is divided by 4</description>
-                  <value>2</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>CAP SRC / 8</name>
-                  <description>Capture Source is divided by 8</description>
-                  <value>3</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>CAP SRC / 16</name>
-                  <description>Capture Source is divided by 16</description>
-                  <value>4</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>CAP SRC / 32</name>
-                  <description>Capture Source is divided by 32</description>
-                  <value>5</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>CAP SRC / 64</name>
-                  <description>Capture Source is divided by 64</description>
-                  <value>6</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>CAP SRC / 128</name>
-                  <description>Capture Source is divided by 128</description>
-                  <value>7</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>CAP SRC / 256</name>
-                  <description>Capture Source is divided by 256</description>
-                  <value>8</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <field>
-              <name>CAPSRC</name>
-              <description>Timer / Counter Capture Source</description>
-              <bitRange>[15:12]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>CClk</name>
-                  <description>Core Clock</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOA_0</name>
-                  <description>GPIO A, PIN 0</description>
-                  <value>1</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOA_1</name>
-                  <description>GPIO A, PIN 1</description>
-                  <value>2</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOA_2</name>
-                  <description>GPIO A, PIN 2</description>
-                  <value>3</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOA_3</name>
-                  <description>GPIO A, PIN 3</description>
-                  <value>4</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOA_4</name>
-                  <description>GPIO A, PIN 4</description>
-                  <value>5</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOA_5</name>
-                  <description>GPIO A, PIN 5</description>
-                  <value>6</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOA_6</name>
-                  <description>GPIO A, PIN 6</description>
-                  <value>7</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOA_7</name>
-                  <description>GPIO A, PIN 7</description>
-                  <value>8</value>
-                </enumeratedValue>
-
-                <enumeratedValue>
-                  <name>GPIOB_0</name>
-                  <description>GPIO B, PIN 0</description>
-                  <value>9</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOB_1</name>
-                  <description>GPIO B, PIN 1</description>
-                  <value>10</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOB_2</name>
-                  <description>GPIO B, PIN 2</description>
-                  <value>11</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOB_3</name>
-                  <description>GPIO B, PIN 3</description>
-                  <value>12</value>
-                </enumeratedValue>
-
-                <enumeratedValue>
-                  <name>GPIOC_0</name>
-                  <description>GPIO C, PIN 0</description>
-                  <value>13</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOC_5</name>
-                  <description>GPIO C, PIN 1</description>
-                  <value>14</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOC_6</name>
-                  <description>GPIO C, PIN 2</description>
-                  <value>15</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <field>
-              <name>CAPEDGE</name>
-              <description>Capture Edge, select which Edge should result in a counter increment or decrement</description>
-              <bitRange>[17:16]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>RISING</name>
-                  <description>Only rising edges result in a counter increment or decrement</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>FALLING</name>
-                  <description>Only falling edges  result in a counter increment or decrement</description>
-                  <value>1</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>BOTH</name>
-                  <description>Rising and falling edges result in a counter increment or decrement</description>
-                  <value>2</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <field>
-              <name>TRGEXT</name>
-              <description>Triggers an other Peripheral</description>
-              <bitRange>[21:20]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>NONE</name>
-                  <description>No Trigger is emitted</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>DMA1</name>
-                  <description>DMA Controller 1 is triggered, dependant on MODE</description>
-                  <value>1</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>DMA2</name>
-                  <description>DMA Controller 2 is triggered, dependant on MODE</description>
-                  <value>2</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>UART</name>
-                  <description>UART is triggered, dependant on MODE</description>
-                  <value>3</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <field>
-              <name>RELOAD</name>
-              <description>Select RELOAD Register n to reload Timer on condition</description>
-              <bitRange>[25:24]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>RELOAD0</name>
-                  <description>Selects Reload Register number 0</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>RELOAD1</name>
-                  <description>Selects Reload Register number 1</description>
-                  <value>1</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>RELOAD2</name>
-                  <description>Selects Reload Register number 2</description>
-                  <value>2</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>RELOAD3</name>
-                  <description>Selects Reload Register number 3</description>
-                  <value>3</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <field>
-              <name>IDR</name>
-              <description>Selects, if Reload Register number is incremented, decremented or not modified</description>
-              <bitRange>[27:26]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>KEEP</name>
-                  <description>Reload Register number does not change automatically</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>INCREMENT</name>
-                  <description>Reload Register number is incremented on each match</description>
-                  <value>1</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>DECREMENT</name>
-                  <description>Reload Register number is decremented on each match</description>
-                  <value>2</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-            
-            <field> 
-              <name>reSeRveD</name>
-              <description>Reserved Register</description>
-              <bitRange>[29:28]</bitRange>
-            </field>
-
-            <field>
-              <name>START</name>
-              <description>Starts and Stops the Timer / Counter</description>
-              <bitRange>[31:31]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>STOP</name>
-                  <description>Timer / Counter is stopped</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>START</name>
-                  <description>Timer / Counter is started</description>
-                  <value>1</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-          </fields>
-      </register>
-      <register>            
-        <name>CLUSTER_REG_B</name>
-        <description>Cluster Test Register B</description>
-        <addressOffset>0x00</addressOffset>
-        <alternateRegister>CLUSTER_REG_A0</alternateRegister>
-        <size>32</size>
-        <access>read-write</access>
-        <resetValue>0x00000000</resetValue>
-        <resetMask>0xFFFFFFFF</resetMask>
-      </register>
-      <register>            
-        <name>CLUSTER_REG_C</name>
-        <description>Cluster Test Register C</description>
-        <addressOffset>0x00</addressOffset>
-        <alternateRegister>CLUSTER_REG_A0</alternateRegister>
-        <size>32</size>
-        <access>read-write</access>
-        <resetValue>0x00000000</resetValue>
-        <resetMask>0xFFFFFFFF</resetMask>
-        
-        <fields>
-            <field>
-              <name>EN</name>
-              <description>Enable</description>
-              <bitRange>[0:0]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>Disable</name>
-                  <description>Timer is disabled and does not operate</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Enable</name>
-                  <description>Timer is enabled and can operate</description>
-                  <value>1</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-            
-            
-            <field>
-              <name>RST</name>
-              <description>Reset Timer</description>
-              <bitRange>[1:1]</bitRange>
-              <access>write-only</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>Reserved</name>
-                  <description>Write as ZERO if necessary</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Reset Timer</name>
-                  <description>Reset the Timer</description>
-                  <value>1</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <field>
-              <name>CNT</name>
-              <description>Counting direction</description>
-              <bitRange>[3:2]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>Count UP</name>
-                  <description>Timer Counts UO and wraps, if no STOP condition is set</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Count DOWN</name>
-                  <description>Timer Counts DOWN and wraps, if no STOP condition is set</description>
-                  <value>1</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Toggle</name>
-                  <description>Timer Counts up to MAX, then DOWN to ZERO, if no STOP condition is set</description>
-                  <value>2</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <field>
-              <name>MODE</name>
-              <description>Operation Mode</description>
-              <bitRange>[6:4]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>Continous</name>
-                  <description>Timer runs continously</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Single, ZERO/MAX</name>
-                  <description>Timer counts to 0x00 or 0xFFFFFFFF (depending on CNT) and stops</description>
-                  <value>1</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Single, MATCH</name>
-                  <description>Timer counts to the Value of MATCH Register and stops</description>
-                  <value>2</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Reload, ZERO/MAX</name>
-                  <description>Timer counts to 0x00 or 0xFFFFFFFF (depending on CNT), loads the RELOAD Value and continues</description>
-                  <value>3</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Reload, MATCH</name>
-                  <description>Timer counts to the Value of MATCH Register, loads the RELOAD Value and continues</description>
-                  <value>4</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <field>
-              <name>PSC</name>
-              <description>Use Prescaler</description>
-              <bitRange>[7:7]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>Disabled</name>
-                  <description>Prescaler is not used</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Enabled</name>
-                  <description>Prescaler is used as divider</description>
-                  <value>1</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <field>
-              <name>CNTSRC</name>
-              <description>Timer / Counter Source Divider</description>
-              <bitRange>[11:8]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>CAP SRC</name>
-                  <description>Capture Source is used directly</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>CAP SRC / 2</name>
-                  <description>Capture Source is divided by 2</description>
-                  <value>1</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>CAP SRC / 4</name>
-                  <description>Capture Source is divided by 4</description>
-                  <value>2</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>CAP SRC / 8</name>
-                  <description>Capture Source is divided by 8</description>
-                  <value>3</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>CAP SRC / 16</name>
-                  <description>Capture Source is divided by 16</description>
-                  <value>4</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>CAP SRC / 32</name>
-                  <description>Capture Source is divided by 32</description>
-                  <value>5</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>CAP SRC / 64</name>
-                  <description>Capture Source is divided by 64</description>
-                  <value>6</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>CAP SRC / 128</name>
-                  <description>Capture Source is divided by 128</description>
-                  <value>7</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>CAP SRC / 256</name>
-                  <description>Capture Source is divided by 256</description>
-                  <value>8</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <field>
-              <name>CAPSRC</name>
-              <description>Timer / Counter Capture Source</description>
-              <bitRange>[15:12]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>CClk</name>
-                  <description>Core Clock</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOA_0</name>
-                  <description>GPIO A, PIN 0</description>
-                  <value>1</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOA_1</name>
-                  <description>GPIO A, PIN 1</description>
-                  <value>2</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOA_2</name>
-                  <description>GPIO A, PIN 2</description>
-                  <value>3</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOA_3</name>
-                  <description>GPIO A, PIN 3</description>
-                  <value>4</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOA_4</name>
-                  <description>GPIO A, PIN 4</description>
-                  <value>5</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOA_5</name>
-                  <description>GPIO A, PIN 5</description>
-                  <value>6</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOA_6</name>
-                  <description>GPIO A, PIN 6</description>
-                  <value>7</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOA_7</name>
-                  <description>GPIO A, PIN 7</description>
-                  <value>8</value>
-                </enumeratedValue>
-
-                <enumeratedValue>
-                  <name>GPIOB_0</name>
-                  <description>GPIO B, PIN 0</description>
-                  <value>9</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOB_1</name>
-                  <description>GPIO B, PIN 1</description>
-                  <value>10</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOB_2</name>
-                  <description>GPIO B, PIN 2</description>
-                  <value>11</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOB_3</name>
-                  <description>GPIO B, PIN 3</description>
-                  <value>12</value>
-                </enumeratedValue>
-
-                <enumeratedValue>
-                  <name>GPIOC_0</name>
-                  <description>GPIO C, PIN 0</description>
-                  <value>13</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOC_5</name>
-                  <description>GPIO C, PIN 1</description>
-                  <value>14</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOC_6</name>
-                  <description>GPIO C, PIN 2</description>
-                  <value>15</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <field>
-              <name>CAPEDGE</name>
-              <description>Capture Edge, select which Edge should result in a counter increment or decrement</description>
-              <bitRange>[17:16]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>RISING</name>
-                  <description>Only rising edges result in a counter increment or decrement</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>FALLING</name>
-                  <description>Only falling edges  result in a counter increment or decrement</description>
-                  <value>1</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>BOTH</name>
-                  <description>Rising and falling edges result in a counter increment or decrement</description>
-                  <value>2</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <field>
-              <name>TRGEXT</name>
-              <description>Triggers an other Peripheral</description>
-              <bitRange>[21:20]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>NONE</name>
-                  <description>No Trigger is emitted</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>DMA1</name>
-                  <description>DMA Controller 1 is triggered, dependant on MODE</description>
-                  <value>1</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>DMA2</name>
-                  <description>DMA Controller 2 is triggered, dependant on MODE</description>
-                  <value>2</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>UART</name>
-                  <description>UART is triggered, dependant on MODE</description>
-                  <value>3</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <field>
-              <name>RELOAD</name>
-              <description>Select RELOAD Register n to reload Timer on condition</description>
-              <bitRange>[25:24]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>RELOAD0</name>
-                  <description>Selects Reload Register number 0</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>RELOAD1</name>
-                  <description>Selects Reload Register number 1</description>
-                  <value>1</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>RELOAD2</name>
-                  <description>Selects Reload Register number 2</description>
-                  <value>2</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>RELOAD3</name>
-                  <description>Selects Reload Register number 3</description>
-                  <value>3</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <field>
-              <name>IDR</name>
-              <description>Selects, if Reload Register number is incremented, decremented or not modified</description>
-              <bitRange>[27:26]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>KEEP</name>
-                  <description>Reload Register number does not change automatically</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>INCREMENT</name>
-                  <description>Reload Register number is incremented on each match</description>
-                  <value>1</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>DECREMENT</name>
-                  <description>Reload Register number is decremented on each match</description>
-                  <value>2</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-            
-            <field> 
-              <name>reSeRveD</name>
-              <description>Reserved Register</description>
-              <bitRange>[29:28]</bitRange>
-            </field>
-
-            <field>
-              <name>START</name>
-              <description>Starts and Stops the Timer / Counter</description>
-              <bitRange>[31:31]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>STOP-1</name>
-                  <description>Timer / Counter is stopped</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>START</name>
-                  <description>Timer / Counter is started</description>
-                  <value>1</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-          </fields>
-      </register>
-      <register>            
-        <dim>4</dim>
-        <dimIncrement>4</dimIncrement>
-        <name>CLUSTER_REG_D[%s]</name>
-        <description>Cluster Test Register D</description>
-        <addressOffset>0x00</addressOffset>
-        <alternateRegister>CLUSTER_REG_A[%s]</alternateRegister>
-        <size>32</size>
-        <access>read-write</access>
-        <resetValue>0x00000000</resetValue>
-        <resetMask>0xFFFFFFFF</resetMask>
-      </register>
-    </cluster>
-    
-      <register>
-        <dim>4</dim>
-        <dimIncrement>0x04</dimIncrement>
-        <name>REG_UNION_CLUSTER[%s]</name>
-        <description>Register in union with Cluster</description>
-        <alternateRegister>Cluster_1.CLUSTER_REG_A[%s]</alternateRegister>
-        <addressOffset>0x70</addressOffset>
-        <size>32</size>
-        <access>read-write</access>
-        <resetValue>0x00000000</resetValue>
-        <resetMask>0xFFFFFFFF</resetMask>
-      </register>
-      
-      <register>
-        <dim>4</dim>
-        <dimIncrement>0x04</dimIncrement>
-        <name>REG_UNION_CLUSTERy[%s]</name>
-        <description>Register in union with Cluster</description>
-        <alternateRegister>REG_UNION_CLUSTER[%s]</alternateRegister>
-        <addressOffset>0x70</addressOffset>
-        <size>32</size>
-        <access>read-write</access>
-        <resetValue>0x00000000</resetValue>
-        <resetMask>0xFFFFFFFF</resetMask>
-      </register>
-      
-    <cluster>
-      <dim>4</dim>
-      <dimIncrement>0x100</dimIncrement>
-      <dimIndex>A,B,C,D</dimIndex>
-      <name>Cluster_2%s</name>
-      <description>Test Cluster Instance 1</description>
-      <addressOffset>0x70</addressOffset>
-      <alternateCluster>Cluster_1</alternateCluster>
-      <register>
-        <name>CLUSTER_REG_A</name>
-        <description>Cluster Test Register A</description>
-        <addressOffset>0x00</addressOffset>
-        <alternateRegister>Cluster_1</alternateRegister>
-        <size>32</size>
-        <access>read-write</access>
-        <resetValue>0x00000000</resetValue>
-        <resetMask>0xFFFFFFFF</resetMask>
-      </register>
-      <register>            
-        <name>CLUSTER_REG_B</name>
-        <description>Cluster Test Register B</description>
-        <addressOffset>0x04</addressOffset>
-        <alternateRegister>Cluster_1</alternateRegister>
-        <size>32</size>
-        <access>read-write</access>
-        <resetValue>0x00000000</resetValue>
-        <resetMask>0xFFFFFFFF</resetMask>
-      </register>
-      <register>            
-        <name>CLUSTER_REG_C</name>
-        <description>Cluster Test Register C</description>
-        <addressOffset>0x08</addressOffset>
-        <alternateRegister>Cluster_1</alternateRegister>
-        <size>32</size>
-        <access>read-write</access>
-        <resetValue>0x00000000</resetValue>
-        <resetMask>0xFFFFFFFF</resetMask>
-      </register>
-      <register>
-        <dim>4</dim>
-        <dimIncrement>4</dimIncrement>
-        <name>CLUSTER_REG_D[%s]</name>
-        <description>Cluster Test Register D</description>
-        <addressOffset>0x0c</addressOffset>
-        <size>32</size>
-        <access>read-write</access>
-        <resetValue>0x00000000</resetValue>
-        <resetMask>0xFFFFFFFF</resetMask>
-      </register>
-    </cluster>
-    
-    <cluster>
-      <dim>4</dim>
-      <dimIncrement>0x04</dimIncrement>
-      <name>Cluster_3[%s]</name>
-      <description>Test Cluster Instance 3</description>
-      <addressOffset>0x70</addressOffset>
-      <alternateCluster>Cluster_1</alternateCluster>
-      
-      <register>
-        <dim>4</dim>
-        <dimIncrement>4</dimIncrement>
-        <dimIndex>_a,_b,_c,_d</dimIndex>
-        <name>CLUSTER_REG_A%s</name>
-        <description>Cluster Test Register A</description>
-        <addressOffset>0x00</addressOffset>
-        <size>32</size>
-        <access>read-write</access>
-        <resetValue>0x00000000</resetValue>
-        <resetMask>0xFFFFFFFF</resetMask>
-      </register>
-      
-      <register>
-        <dim>4</dim>
-        <dimIncrement>4</dimIncrement>
-        <dimIndex>_Alt_a,_Alt_b,_Alt_c,_Alt_d</dimIndex>
-        <name>CLUSTER_REG_B%s</name>      
-        <description>Cluster Test Register B</description>
-        <addressOffset>0x00</addressOffset>
-        <size>32</size>
-        <access>read-write</access>
-        <resetValue>0x00000000</resetValue>
-        <resetMask>0xFFFFFFFF</resetMask>
-      </register>
-    </cluster>
-    
-    <cluster derivedFrom="Cluster_3[%s]">
-      <name>Cluster_4[%s]</name>
-      <description>Test Cluster Instance 4</description>
-      <addressOffset>0x70</addressOffset>
-      <alternateCluster>Cluster_2</alternateCluster>
-    </cluster>
-
-      </registers>
-    </peripheral>
-
-    <!--  Timer 1  -->
-    <peripheral derivedFrom="TIMER0">
-      <name>TIMER1</name>
-      <baseAddress>0x40010100</baseAddress>
-      <interrupt>
-        <name>TIMER1</name>
-        <value>5</value>
-      </interrupt>
-    </peripheral>
-
-    <!--  Timer 2  -->
-    <peripheral derivedFrom="TIMER0">
-      <name>TIMER2</name>
-      <baseAddress>0x40010200</baseAddress>
-      <interrupt>
-        <name>TIMER2</name>
-        <value>6</value>
-      </interrupt>
-    </peripheral>
-
-    <!--  Timer 3  -->
-    <peripheral derivedFrom="TIMER0">
-      <name>TIMER3</name>
-      <baseAddress>0x40010300</baseAddress>
-      <interrupt>
-        <name>TIMER3</name>
-        <value>7</value>
-      </interrupt>
-
-      <registers>
-        <register derivedFrom="CR">
-          <name>CR2</name>
-          <description>Control Register for the second group.</description>
-          <addressOffset>0x40</addressOffset>
-        </register>
-
-        <register derivedFrom="COUNT">
-          <dim>4</dim>
-          <dimIncrement>0x04</dimIncrement>
-          <dimIndex>CA,CB,CC,CD</dimIndex>
-          <name>COUNT_%s</name>
-          <displayName>COUNT%s</displayName>
-          <description>Set of count Registers</description>
-          <addressOffset>0x500</addressOffset>
-
-          <fields>
-            <field>
-              <name>ACTIVE</name>
-              <description>Active Flag</description>
-              <bitRange>[0:0]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>Inactive</name>
-                  <description>The Count Register is inactive</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Active</name>
-                  <description>The Count Register is active</description>
-                  <value>1</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <field>
-              <name>COUNT</name>
-              <description>Alternative Count Register 30Bit</description>
-              <bitRange>[30:1]</bitRange>
-              <access>read-write</access>
-            </field>
-
-            <field derivedFrom="ACTIVE">
-              <name>ACTIVE2</name>
-              <description>Alternate Active Flag</description>
-              <bitRange>[31:31]</bitRange>
-            </field>
-          </fields>
-        </register>
-        
-        <cluster>
-          <dim>4</dim>
-          <dimIncrement>0x20</dimIncrement>
-          <name>Cluster_5[%s]</name>
-          <headerStructName>Cluster5</headerStructName>
-          <description>Test Cluster Instance 1</description>
-          <addressOffset>0x170</addressOffset>
-          <register>
-            <dim>4</dim>
-            <dimIncrement>0x04</dimIncrement>
-            <name>CLUSTER_REG_A[%s]</name>
-            <description>Cluster Test Register A</description>
-            <addressOffset>0x00</addressOffset>
-            <size>32</size>
-            <access>read-write</access>
-            <resetValue>0x00000000</resetValue>
-            <resetMask>0xFFFFFFFF</resetMask>
-          </register>
-        </cluster>
-
-      </registers>
-    </peripheral>
-
-
-    <!--  UART 0  -->
-    <peripheral>
-      <name>UART0</name>
-      <version>1.0</version>
-      <description>UART peripheral</description>
-      <groupName>UART</groupName>
-      <baseAddress>0x40020000</baseAddress>      
-      <size>32</size>
-      <access>read-write</access>
-
-      <addressBlock>
-        <offset>0</offset>
-        <size>0x100</size>
-        <usage>registers</usage>
-      </addressBlock>
-
-      <interrupt>
-        <name>UART0</name>
-        <value>10</value>
-      </interrupt>
-
-      <registers>
-      <!--  DR: Data Register  -->
-        <register>
-          <name>DR</name>
-          <description>Data Register</description>
-          <addressOffset>0x40</addressOffset>
-          <size>32</size>
-          <access>read-write</access>
-
-          <fields>
-            <!--  Data  -->
-            <field>
-              <name>DATA</name>
-              <description>Data Register</description>
-              <bitRange>[7:0]</bitRange>
-              <access>read-write</access>
-            </field>
-          </fields>
-        </register>
-
-      <!--  DR: Data Register: ASCII Mode  -->
-        <register>
-          <name>DR</name>
-          <description>Data Register: ASCII Mode</description>
-          <alternateGroup>ASCII</alternateGroup>          
-          <addressOffset>0x40</addressOffset>
-          <size>32</size>
-          <access>read-write</access>
-
-          <fields>
-            <!--  Data  -->
-            <field>
-              <name>DATA</name>
-              <description>Data Register</description>
-              <bitRange>[7:0]</bitRange>
-              <access>read-write</access>
-            </field>
-          </fields>
-        </register>
-
-        <!--  DR: Data Register: I2C Mode  -->
-        <register>
-          <name>DR</name>
-          <description>Data Register: I2C Mode</description>
-          <alternateGroup>I2C</alternateGroup>          
-          <addressOffset>0x40</addressOffset>
-          <size>32</size>
-          <access>read-write</access>
-
-          <fields>
-            <!--  Data  -->
-            <field>
-              <name>DATA</name>
-              <description>Data Register</description>
-              <bitRange>[7:0]</bitRange>
-              <access>read-write</access>
-            </field>
-          </fields>
-        </register>
-
-        <!--  DR: Data Register: SPI Mode  -->
-        <register>
-          <name>DR</name>
-          <description>Data Register: SPI Mode</description>
-          <alternateGroup>SPI</alternateGroup>          
-          <addressOffset>0x40</addressOffset>
-          <size>32</size>
-          <access>read-write</access>
-
-          <fields>
-            <!--  Data  -->
-            <field>
-              <name>DATA</name>
-              <description>Data Register</description>
-              <bitRange>[7:0]</bitRange>
-              <access>read-write</access>
-            </field>
-          </fields>
-        </register>
-
-      </registers>
-    </peripheral>
-    
-
-    <peripheral>
-      <name>UART1</name>
-      <version>1.0</version>
-      <description>UART peripheral</description>
-      <groupName>UART</groupName>
-      <baseAddress>0x40021000</baseAddress>      
-      <size>32</size>
-      <access>read-write</access>
-
-      <addressBlock>
-        <offset>0</offset>
-        <size>0x100</size>
-        <usage>registers</usage>
-      </addressBlock>
-
-      <interrupt>
-        <name>UART1</name>
-        <value>11</value>
-      </interrupt>
-      
-      <registers>
-        <register>
-          <dim>4</dim>
-          <dimIncrement>4</dimIncrement>
-          <dimIndex>0,1,2,3</dimIndex>
-          <name>DR_A[%s]</name>
-          <description>Data Register A</description>
-          <addressOffset>0x40</addressOffset>
-          <size>32</size>
-          <access>read-write</access>
-        </register>
-        
-        <register>
-          <dim>4</dim>
-          <dimIncrement>4</dimIncrement>
-          <dimIndex>0,1,2,3</dimIndex>
-          <name>DR_B[%s]</name>
-          <description>Data Register B</description>
-          <alternateRegister>DR_A[%s]</alternateRegister>          
-          <addressOffset>0x40</addressOffset>
-          <size>32</size>
-          <access>read-write</access>
-        </register>
-        
-        <register>
-          <name>DR_C</name>
-          <description>Data Register C</description>
-          <alternateRegister>DR_A0</alternateRegister>          
-          <addressOffset>0x40</addressOffset>
-          <size>32</size>
-          <access>read-write</access>
-        </register>
-      </registers>
-  
-    </peripheral>
-    
- 
-    <!--  UART 3  -->
-    <peripheral>
-      <name>UART3</name>
-      <version>1.0</version>
-      <description>UART3 peripheral</description>
-      <groupName>UART</groupName>
-      <baseAddress>0x40030000</baseAddress>
-      <size>32</size>
-      <access>read-write</access>
-
-      <addressBlock>
-        <offset>0</offset>
-        <size>0x1000</size>
-        <usage>registers</usage>
-      </addressBlock>
-
-      <interrupt>
-        <name>FOO</name>
-        <value>20</value>
-      </interrupt>
-      
-
-      <registers>
-      <!--  DR: Data Register  -->
-        <!--  -----  -->
-        <register>
-          <dim>4</dim>
-          <dimIncrement>4</dimIncrement>
-          <!-- dimIndex>0,1,2,3</dimIndex -->
-          <name>DR_A[%s]</name>
-          <description>Data Register A</description>
-          <addressOffset>0x40</addressOffset>
-          <size>32</size>
-          <access>read-write</access>
-        </register>
-        
-        <register>
-          <dim>4</dim>
-          <dimIncrement>4</dimIncrement>
-          <dimIndex>0,1,2,3</dimIndex>
-          <name>DR_B[%s]</name>
-          <description>Data Register B</description>
-          <alternateRegister>DR_A[%s]</alternateRegister>          
-          <addressOffset>0x40</addressOffset>
-          <size>32</size>
-          <access>read-write</access>
-        </register>
-        
-        <!--  -----  -->
-        <register>
-          <dim>4</dim>
-          <dimIncrement>4</dimIncrement>
-          <dimIndex>a,b,c,d</dimIndex>
-          <name>DR_C%s</name>
-          <description>Data Register C</description>
-          <addressOffset>0x50</addressOffset>
-          <size>32</size>
-          <access>read-write</access>
-        </register>
-        
-        <register>
-          <dim>4</dim>
-          <dimIncrement>4</dimIncrement>
-          <dimIndex>w,x,y,z</dimIndex>
-          <name>DR_D%s</name>
-          <description>Data Register D</description>
-          <alternateRegister>DR_C%s</alternateRegister>          
-          <addressOffset>0x50</addressOffset>
-          <size>32</size>
-          <access>read-write</access>
-        </register>
-        
-        <!--  -----  -->
-        <register>          
-          <name>DR_E_A0</name>
-          <description>Data Register E to A0</description>
-          <alternateRegister>DR_A0</alternateRegister>
-          <addressOffset>0x40</addressOffset>
-          <size>32</size>
-          <access>read-write</access>
-        </register>
-        
-      </registers>
-    </peripheral>
-
-    <!--  UART 4  -->
-    <peripheral derivedFrom="UART3">
-      <name>UART4</name>
-      <version>1.0</version>
-      <description>UART4 peripheral</description>
-      <alternatePeripheral>UART3</alternatePeripheral>
-      <groupName>UART</groupName>
-      <baseAddress>0x40030000</baseAddress>
-      <size>32</size>
-      <access>read-write</access>
-
-      <addressBlock>
-        <offset>0</offset>
-        <size>0x1000</size>
-        <usage>registers</usage>
-      </addressBlock>
-
-      <interrupt>
-        <name>BAR</name>
-        <value>21</value>
-      </interrupt>
-      
-    </peripheral>
-	
-	
-	<peripheral>
-      <name>TIMER5</name>
-      <version>1.0</version>
-      <description>32 Timer / Counter, counting up or down from different sources</description>
-      <groupName>TIMER</groupName>
-      <headerStructName>TIM5</headerStructName>
-      <baseAddress>0x40060000</baseAddress>
-      <size>32</size>
-      <access>read-write</access>
-
-      <addressBlock>
-        <offset>0</offset>
-        <size>0x400</size>
-        <usage>registers</usage>
-      </addressBlock>
-
-      <interrupt>
-        <name>TIMER5</name>
-        <value>17</value>
-      </interrupt>
-
-      <registers>
-	    <register>
-		  <dim>4</dim>
-		  <dimIncrement>0x04</dimIncrement>
-		  <name>DR_M[%s]</name>
-		  <description>Multiple Definitions</description>
-		  <addressOffset>0x160</addressOffset>
-		</register>
-		
-	  <register>
-		  <dim>4</dim>
-		  <dimIncrement>0x04</dimIncrement>
-		  <dimIndex>A,B,C,D</dimIndex>
-		  <name>DR_M%s</name>
-		  <description>Multiple Definitions</description>
-		  <addressOffset>0x170</addressOffset>
-		</register>
-		
-	  <register derivedFrom="DR_M0">
-		  <dim>4</dim>
-		  <dimIncrement>0x04</dimIncrement>
-		  <name>DR_M1[%s]</name>
-		  <displayName>DR_M1[%s]</displayName>
-		  <description>Multiple Definitions derive</description>
-		  <addressOffset>0x150</addressOffset>
-		</register>
-		
-		
-    <cluster>
-      <name>Cluster_A</name>
-      <headerStructName>TIM5Clust</headerStructName>
-      <description>Cluster A</description>
-      <addressOffset>0x0</addressOffset>
-      <register>
-        <dim>4</dim>
-        <dimIncrement>0x04</dimIncrement>
-        <name>CLUSTER_REG_A[%s]</name>
-        <description>Cluster Test Register A</description>
-        <addressOffset>0x00</addressOffset>
-        <size>32</size>
-        <access>read-write</access>
-        <resetValue>0x00000000</resetValue>
-        <resetMask>0xFFFFFFFF</resetMask>
-      </register>
-    </cluster>
-
-    <cluster derivedFrom="Cluster_A">
-      <name>Cluster_B</name>
-      <description>Cluster B</description>
-      <addressOffset>0x100</addressOffset>
-    </cluster>
-		
-		<cluster derivedFrom="Cluster_A">
-		  <dim>4</dim>
-		  <dimIncrement>0x10</dimIncrement>
-          <name>Cluster_C[%s]</name>
-          <description>Cluster C</description>
-          <addressOffset>0x100</addressOffset>
-        </cluster>
-	    
-		<register derivedFrom="UART3.DR_E_A0">
-		  <dim>4</dim>
-		  <dimIncrement>0x04</dimIncrement>
-		  <name>DR_E_A[%s]</name>
-		  <description>Derived from UART3</description>
-		  <addressOffset>0x140</addressOffset>
-		  <alternateRegister>DR_M[%s]</alternateRegister>
-		</register>
-				
-		<register derivedFrom="UART3.DR_A0">
-		  <dim>4</dim>
-		  <dimIncrement>0x04</dimIncrement>
-		  <name>DR_A[%s]</name>
-		  <description>Derived from UART3</description>
-		  <addressOffset>0x160</addressOffset>
-      <alternateRegister>DR_M%s</alternateRegister>
-		</register>
-
-   	
-		<cluster derivedFrom="TIMER3.Cluster_5[%s]">
-		  <addressOffset>0x180</addressOffset>
-		</cluster>
-		
-		<cluster derivedFrom="Cluster_5[%s]">
-		  <name>Cluster_6[%s]</name>
-		  <addressOffset>0x180</addressOffset>
-		</cluster>
-		
-		
-		<register derivedFrom="TIMER3.Cluster_1[%s].CLUSTER_REG_B">
-		  <addressOffset>0x200</addressOffset>
-		</register>
-		
-		
-		<register derivedFrom="Cluster_5[%s].CLUSTER_REG_A[%s]">
-		  <addressOffset>0x210</addressOffset>
-		</register>
-		
-		<register derivedFrom="CLUSTER_REG_A[%s]">
-		  <name>RegC[%s]</name>
-		  <addressOffset>0x220</addressOffset>
-		</register>
-		
-		
-      </registers>
-	  	  
-    </peripheral>
-	
-	
-	
-	<peripheral derivedFrom="TIMER5">
-    <name>TIMER6</name>
-    <version>1.0</version>
-    <description>TIMER6 peripheral</description>
-    <groupName>TIMER</groupName>
-    <baseAddress>0x40031000</baseAddress>
-    <size>32</size>
-    <access>read-write</access>
-
-    <interrupt>
-      <name>TIMER6</name>
-      <value>31</value>
-    </interrupt>
-	  
-	  <registers>
-	    <register derivedFrom="CLUSTER_REG_A[%s]">
-		  <name>RegD[%s]</name>
-		  <addressOffset>0x230</addressOffset>
-      </register>
-		
-      <cluster derivedFrom="Cluster_6[%s]">
-        <name>Cluster_7[%s]</name>
-        <addressOffset>0x180</addressOffset>
-      </cluster>
-	
-    </registers>      
-  </peripheral>
-    
-    
-  <peripheral>
-    <name>SPI0</name>
-    <version>1.11</version>
-    <description>SPI master</description>
-    <baseAddress>0x40003000</baseAddress>
-    <groupName>SPI</groupName>
-    <size>32</size>
-    <access>read-write</access>
-    <headerStructName>SPI</headerStructName>
-
-    <addressBlock>
-      <offset>0</offset>
-      <size>0x1000</size>
-      <usage>registers</usage>
-    </addressBlock>
-
-    <interrupt>
-      <name>SPI0_TWI0</name>
-      <value>3</value>
-    </interrupt>
-
-    <registers>
-
-      <register>
-        <name>EVENTS_READY</name>
-        <description>TXD byte sent and RXD byte received.</description>
-        <addressOffset>0x108</addressOffset>
-      </register>
-
-      <register>
-        <name>INTENSET</name>
-        <description>usage test: Interrupt enable set register.</description>
-        <addressOffset>0x304</addressOffset>
-        <fields>
-          <field>
-            <name>READY</name>
-            <description>Enable interrupt on READY event.</description>
-            <lsb>2</lsb> <msb>2</msb>
-            <enumeratedValues>
-              <usage>read</usage>
-              <enumeratedValue>
-                <name>Disabled</name>
-                <description>Interrupt disabled.</description>
-                <value>0</value>
-              </enumeratedValue>
-              <enumeratedValue>
-                <name>Enabled</name>
-                <description>Interrupt enabled.</description>
-                <value>1</value>
-              </enumeratedValue>
-            </enumeratedValues>
-            <enumeratedValues>
-              <usage>write</usage>
-              <enumeratedValue>
-                <name>Set</name>
-                <description>Enable interrupt on write.</description>
-                <value>1</value>
-              </enumeratedValue>
-            </enumeratedValues>
-          </field>
-        </fields>
-      </register>
-    </registers>
-  </peripheral>
-  
-  <peripheral derivedFrom="SPI0">
-    <name>SPI1</name>
-    <version>1.11</version>
-    <description>SPI 1</description>
-    <baseAddress>0x40004000</baseAddress>
-    <groupName>SPI</groupName>
-    <size>32</size>
-    <access>read-write</access>
-    <interrupt>
-      <name>SPI1_TWI1</name>
-      <value>4</value>
-    </interrupt>
-  </peripheral>
-  
-  
-  <peripheral>
-    <name>SPI5</name>
-    <description>SPI 5</description>
-    <baseAddress>0x40005000</baseAddress>
-    <groupName>SPI</groupName>
-    <access>read-write</access>
-    <size>8</size>
-    
-    <addressBlock>
-      <offset>0</offset>
-      <size>0x100</size>
-      <usage>registers</usage>
-    </addressBlock>
-    
-    <interrupt>
-      <name>SPI5</name>
-      <value>1</value>    <!--  test -1 here -->
-      <description>SPI5 Interrupt</description>
-    </interrupt>
-    
-    <registers>
-      <register>
-        <name>CR</name>
-        <description>Control Register</description>
-        <addressOffset>0x00</addressOffset>
-      </register>
-      
-      <register>
-        <name>SR</name>
-        <description>Status Register</description>
-        <addressOffset>0x01</addressOffset>
-      </register>
-      
-      <register>
-        <name>DR</name>
-        <description>Data Register</description>
-        <addressOffset>0x02</addressOffset>
-      </register>
-      
-    </registers>
-    
-  </peripheral>
-  
-  
-  
-  <peripheral>
-    <name>TIMER10</name>
-    <version>1.0</version>
-    <description>32 Timer / Counter, counting up or down from different sources</description>
-    <groupName>TIMER</groupName>
-    <headerStructName>TIMER10</headerStructName>
-    <baseAddress>0x400A0000</baseAddress>
-    <size>32</size>
-    <access>read-write</access>
-
-    <addressBlock>
-      <offset>0</offset>
-      <size>0x2000</size>
-      <usage>registers</usage>
-    </addressBlock>
-    
-    <registers>
-      <register>
-        <dim>4</dim>
-        <dimIncrement>4</dimIncrement>
-        <name>CR[%s]</name>
-        <description>Control Register</description>
-        <addressOffset>0x00</addressOffset>
-        <size>32</size>
-        <access>read-write</access>
-        <resetValue>0x00000000</resetValue>
-        <resetMask>0x1337F7F</resetMask>
-
-        <fields>
-          <!--  EN: Enable  -->
-          <field>
-            <name>EN</name>
-            <description>Enable \n enables the Timer</description>
-            <bitRange>[0:0]</bitRange>
-            <access>read-write</access>
-            <enumeratedValues>
-              <enumeratedValue>
-                <name>Disable</name>
-                <description>Timer is disabled \n and does not operate</description>
-                <value>0</value>
-              </enumeratedValue>
-              <enumeratedValue>
-                <name>Enable</name>
-                <description>Timer is enabled and can operate</description>
-                <value>1</value>
-              </enumeratedValue>
-            </enumeratedValues>
-          </field>
-          
-          
-          <!--  RST: Reset  -->
-          <field>
-            <name>RST</name>
-            <description>Reset Timer</description>
-            <bitRange>[1:1]</bitRange>
-            <access>write-only</access>
-            <enumeratedValues>
-              <enumeratedValue>
-                <name>Reserved</name>
-                <description>Write as ZERO if necessary</description>
-                <value>0</value>
-              </enumeratedValue>
-              <enumeratedValue>
-                <name>Reset Timer</name>
-                <description>Reset the Timer</description>
-                <value>1</value>
-              </enumeratedValue>
-            </enumeratedValues>
-          </field>
-
-          <!--  CNT: Counting Direction  -->
-          <field>
-            <name>CNT</name>
-            <description>Counting direction</description>
-            <bitRange>[3:2]</bitRange>
-            <access>read-write</access>
-            <enumeratedValues>
-              <enumeratedValue>
-                <name>Count UP</name>
-                <description>Timer Counts UO and wraps, if no STOP condition is set</description>
-                <value>0</value>
-              </enumeratedValue>
-              <enumeratedValue>
-                <name>Count DOWN</name>
-                <description>Timer Counts DOWN and wraps, if no STOP condition is set</description>
-                <value>1</value>
-              </enumeratedValue>
-              <enumeratedValue>
-                <name>Toggle</name>
-                <description>Timer Counts up to MAX, then DOWN to ZERO, if no STOP condition is set</description>
-                <value>2</value>
-              </enumeratedValue>
-            </enumeratedValues>
-          </field>
-
-          <!--  MODE: Operation Mode  -->
-          <field>
-            <name>MODE</name>
-            <description>Operation Mode</description>
-            <bitRange>[6:4]</bitRange>
-            <access>read-write</access>
-            <enumeratedValues>
-              <enumeratedValue>
-                <name>Continous</name>
-                <description>Timer runs continously</description>
-                <value>0</value>
-              </enumeratedValue>
-              <enumeratedValue>
-                <name>Single, ZERO/MAX</name>
-                <description>Timer counts to 0x00 or 0xFFFFFFFF (depending on CNT) and stops</description>
-                <value>1</value>
-              </enumeratedValue>
-              <enumeratedValue>
-                <name>Single, MATCH</name>
-                <description>Timer counts to the Value of MATCH Register and stops</description>
-                <value>2</value>
-              </enumeratedValue>
-              <enumeratedValue>
-                <name>Reload, ZERO/MAX</name>
-                <description>Timer counts to 0x00 or 0xFFFFFFFF (depending on CNT), loads the RELOAD Value and continues</description>
-                <value>3</value>
-              </enumeratedValue>
-              <enumeratedValue>
-                <name>Reload, MATCH</name>
-                <description>Timer counts to the Value of MATCH Register, loads the RELOAD Value and continues</description>
-                <value>4</value>
-              </enumeratedValue>
-            </enumeratedValues>
-          </field>
-
-          <!--  PSC: Use Prescaler  -->
-          <field>
-            <name>PSC</name>
-            <description>Use Prescaler</description>
-            <bitRange>[7:7]</bitRange>
-            <access>read-write</access>
-            <enumeratedValues>
-              <enumeratedValue>
-                <name>Disabled</name>
-                <description>Prescaler is not used</description>
-                <value>0</value>
-              </enumeratedValue>
-              <enumeratedValue>
-                <name>Enabled</name>
-                <description>Prescaler is used as divider</description>
-                <value>1</value>
-              </enumeratedValue>
-            </enumeratedValues>
-          </field>
-
-          <!--  CNTSRC: Timer / Counter Soruce Divider  -->
-          <field>
-            <name>CNTSRC</name>
-            <description>Timer / Counter Source Divider</description>
-            <bitRange>[11:8]</bitRange>
-            <access>read-write</access>
-            <enumeratedValues>
-              <enumeratedValue>
-                <name>CAP SRC</name>
-                <description>Capture Source is used directly</description>
-                <value>0</value>
-              </enumeratedValue>
-              <enumeratedValue>
-                <name>CAP SRC / 2</name>
-                <description>Capture Source is divided by 2</description>
-                <value>1</value>
-              </enumeratedValue>
-              <enumeratedValue>
-                <name>CAP SRC / 4</name>
-                <description>Capture Source is divided by 4</description>
-                <value>2</value>
-              </enumeratedValue>
-              <enumeratedValue>
-                <name>CAP SRC / 8</name>
-                <description>Capture Source is divided by 8</description>
-                <value>3</value>
-              </enumeratedValue>
-              <enumeratedValue>
-                <name>CAP SRC / 16</name>
-                <description>Capture Source is divided by 16</description>
-                <value>4</value>
-              </enumeratedValue>
-              <enumeratedValue>
-                <name>CAP SRC / 32</name>
-                <description>Capture Source is divided by 32</description>
-                <value>5</value>
-              </enumeratedValue>
-              <enumeratedValue>
-                <name>CAP SRC / 64</name>
-                <description>Capture Source is divided by 64</description>
-                <value>6</value>
-              </enumeratedValue>
-              <enumeratedValue>
-                <name>CAP SRC / 128</name>
-                <description>Capture Source is divided by 128</description>
-                <value>7</value>
-              </enumeratedValue>
-              <enumeratedValue>
-                <name>CAP SRC / 256</name>
-                <description>Capture Source is divided by 256</description>
-                <value>8</value>
-              </enumeratedValue>
-            </enumeratedValues>
-          </field>
-        </fields>
-      </register>
-      
-      <!--  SR: Status Register  -->
-        <register>
-          <name>SR</name>
-          <description>Status Register</description>
-          <addressOffset>0x10</addressOffset>
-          <size>16</size>
-          <access>read-write</access>
-          <resetValue>0x00000000</resetValue>
-          <resetMask>0xD701</resetMask>
-
-          <fields>
-            <!--  RUN: Shows if Timer is running  -->
-            <field>
-              <name>RUN</name>
-              <description>Shows if Timer is running or not</description>
-              <bitRange>[0:0]</bitRange>
-              <access>read-only</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>Not Running</name>
-                  <description>Timer is not running</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Running</name>
-                  <description>Timer is running</description>
-                  <value>1</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <!--  MATCH: Shows if a Match was hit  -->
-            <field>
-              <name>MATCH</name>
-              <description>Shows if the MATCH was hit</description>
-              <bitRange>[8:8]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>No Match</name>
-                  <description>The MATCH condition was not hit</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Match Hit</name>
-                  <description>The MATCH condition was hit</description>
-                  <value>1</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <!--  UN: Shows if an underflow occured  -->
-            <field>
-              <name>UN</name>
-              <description>Shows if an underflow occured. This flag is sticky</description>
-              <bitRange>[9:9]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>No Underflow</name>
-                  <description>No underflow occured since last clear</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Underflow occured</name>
-                  <description>A minimum of one underflow occured since last clear</description>
-                  <value>1</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <!--  OV: Shows if an overflow occured  -->
-            <field>
-              <name>OV</name>
-              <description>Shows if an overflow occured. This flag is sticky</description>
-              <bitRange>[10:10]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>No Overflow</name>
-                  <description>No overflow occured since last clear</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Overflow occured</name>
-                  <description>A minimum of one overflow occured since last clear</description>
-                  <value>1</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <!--  RST: Shows if Timer is in RESET state  -->
-            <field>
-              <name>RST</name>
-              <description>Shows if Timer is in RESET state</description>
-              <bitRange>[12:12]</bitRange>
-              <access>read-only</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>Timer can operate</name>
-                  <description>Timer is not in RESET state and can operate</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Reset State</name>
-                  <description>Timer is in RESET state and can not operate</description>
-                  <value>1</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-          </fields>
-        </register>
-		
-		<!--  dimIncrement test  -->
-		<register>
-          <dim>4</dim>
-          <dimIncrement>4</dimIncrement>
-          <dimIndex>0-3</dimIndex>
-          <name>DimInc_A%s</name>
-          <description>DimIncrement test A</description>
-          <addressOffset>0x20</addressOffset>
-          <size>32</size>
-          <access>read-write</access>
-        </register>
-		
-		<register>
-          <dim>4</dim>
-          <dimIncrement>4</dimIncrement>
-          <dimIndex>[0-3]</dimIndex>
-          <name>DimInc_B%s</name>
-          <description>DimIncrement test B</description>
-          <addressOffset>0x30</addressOffset>
-          <size>32</size>
-          <access>read-write</access>
-        </register>
-		
-		<register>
-          <dim>4</dim>
-          <dimIncrement>4</dimIncrement>
-          <dimIndex>0,1,2,3</dimIndex>
-          <name>DimInc_C%s</name>
-          <description>DimIncrement test C</description>
-          <addressOffset>0x40</addressOffset>
-          <size>32</size>
-          <access>read-write</access>
-        </register>
-		
-		<register>
-          <dim>4</dim>
-          <dimIncrement>4</dimIncrement>
-          <dimIndex>AA,AB,AC,AD</dimIndex>
-          <name>DimInc_D%s</name>
-          <description>DimIncrement test D</description>
-          <addressOffset>0x50</addressOffset>
-          <size>32</size>
-          <access>read-write</access>
-        </register>
-		
-		<register>
-          <dim>4</dim>
-          <dimIncrement>4</dimIncrement>
-          <dimIndex>[0-3]</dimIndex>
-          <name>DimInc_E[%s]</name>
-          <description>DimIncrement test E</description>
-          <addressOffset>0x60</addressOffset>
-          <size>32</size>
-          <access>read-write</access>
-        </register>
-		
-    </registers>    
-  </peripheral>
-  
-  
-  <peripheral>
-    <name>IntPrefixTest</name>
-    <version>1.0</version>
-    <description>Interrupt prefix / Reserved test</description>
-    <groupName>Interrupt</groupName>
-    <baseAddress>0x60000000</baseAddress>
-    <size>32</size>
-    <access>read-write</access>
-
-    <addressBlock>
-      <offset>0</offset>
-      <size>0x2000</size>
-      <usage>registers</usage>
-    </addressBlock>
-	
-	<interrupt>
-	  <name>Interrupt_A</name>
-	  <value>100</value>
-	</interrupt>
-    <interrupt>
-	  <name>Interrupt_B</name>
-	  <value>101</value>
-	</interrupt>
-    <interrupt>
-	  <name>Interrupt_C</name>
-	  <value>102</value>
-	</interrupt>
-    <interrupt>
-	  <name>Interrupt_D</name>
-	  <value>103</value>
-	</interrupt>
-	
-	<interrupt>
-	  <name>INT1</name>
-	  <value>104</value>
-	</interrupt>
-    <interrupt>
-	  <name>INT2</name>
-	  <value>105</value>
-	</interrupt>
-    <interrupt>
-	  <name>INT3</name>
-	  <value>106</value>
-	</interrupt>
-    <interrupt>
-	  <name>INT4</name>
-	  <value>107</value>
-	</interrupt>
-	
-	<interrupt>
-	  <name>INT_Foo</name>
-	  <value>108</value>
-	</interrupt>
-    <interrupt>
-	  <name>INT_Bar</name>
-	  <value>109</value>
-	</interrupt>
-    <interrupt>
-	  <name>INT_Itchi</name>
-	  <value>110</value>
-	</interrupt>
-    <interrupt>
-	  <name>INT_Scratchi</name>
-	  <value>111</value>
-	</interrupt>
-	<interrupt>
-	  <name>INT_Dumb</name>
-	  <value>112</value>
-	</interrupt>
-	
-	<interrupt>
-	  <name>SSP0</name>
-	  <value>113</value>
-	</interrupt>
-    <interrupt>
-	  <name>SSP1</name>
-	  <value>114</value>
-	</interrupt>
-    <interrupt>
-	  <name>SSP2</name>
-	  <value>115</value>
-	</interrupt>
-    <interrupt>
-	  <name>SSP3</name>
-	  <value>116</value>
-	</interrupt>
-	<interrupt>
-	  <name>SSP4</name>
-	  <value>117</value>
-	</interrupt>
-	<interrupt>
-	  <name>SSP5</name>
-	  <value>118</value>
-	</interrupt>
-	<interrupt>
-	  <name>SSP6</name>
-	  <value>119</value>
-	</interrupt>
-	
-	<!-- interrupt>
-	  <name>reserved0</name>
-	  <value>120</value>
-	</interrupt -->
-	<!-- interrupt>
-	  <name>RESERVED1</name>
-	  <value>121</value>
-	</interrupt -->
-	<!-- interrupt>
-	  <name>ID_ReservedFoo3</name>
-	  <value>122</value>
-	</interrupt -->
-	
-	
-    
-	
-    <registers>
-      <register>
-        <dim>4</dim>
-        <dimIncrement>4</dimIncrement>
-        <name>CR[%s]</name>
-        <description>Control Register</description>
-        <addressOffset>0x00</addressOffset>
-        <size>32</size>
-        <access>read-write</access>
-        <resetValue>0x00000000</resetValue>
-        <resetMask>0x1337F7F</resetMask>
-      </register>		
-    </registers>    
-  </peripheral>
-
-  
-  <peripheral>
-    <name>TimerInt_EnumValuesTest</name>
-    <version>1.11</version>
-    <description>Enumerated Values Test</description>
-    <baseAddress>0x60004000</baseAddress>
-    <size>32</size>
-    <access>read-write</access>
-
-    <addressBlock>
-      <offset>0</offset>
-      <size>0x1000</size>
-      <usage>registers</usage>
-    </addressBlock>
-
-    <registers>
-
-      <register>
-        <name>INTENSET</name>
-        <description>usage test: Interrupt enable set register.</description>
-        <addressOffset>0x00</addressOffset>
-        <fields>
-          <field>
-            <name>TimerIntSelect</name>
-            <description>TimerIntSelect</description>
-            <lsb>2</lsb> <msb>2</msb>
-            <enumeratedValues>
-              <name>TimerIntSelect</name>
-              <usage>read</usage>   
-			  
-              <enumeratedValue>
-                <name>disabled</name>
-                <description>The clock source clk0 is turned off.</description>
-                <value>0</value>
-              </enumeratedValue>              
-              </enumeratedValues>
-              
-              <enumeratedValues>              
-                <name>TimerIntSelect</name>
-                <usage>write</usage>
-				
-				<enumeratedValue>              
-			      <name>disabled</name>
-                  <description>The clock source clk0 is turned off.</description>
-                  <value>0</value>
-                </enumeratedValue>
-              </enumeratedValues>
-          </field>
-        </fields>
-      </register>
-    </registers>
-  </peripheral>
-  
-  
-  
-  <peripheral>
-    <name>DuplicateReg</name>
-    <version>1.11</version>
-    <description>Duplicate Regs Test</description>
-    <baseAddress>0x60005000</baseAddress>
-    <size>32</size>
-    <access>read-write</access>
-
-    <addressBlock>
-      <offset>0</offset>
-      <size>0x1000</size>
-      <usage>registers</usage>
-    </addressBlock>
-
-    <registers>
-
-      <register>
-        <name>DUPREG1</name>
-        <description>Duplicate Register 1.</description>
-        <addressOffset>0x00</addressOffset>
-      </register>
-      <register>
-        <name>DUPREG1</name>
-        <description>Duplicate Register 1.</description>
-        <addressOffset>0x00</addressOffset>
-      </register>
-      <register>
-        <name>DUPREG1</name>
-        <description>Duplicate Register 1.</description>
-        <addressOffset>0x04</addressOffset>
-      </register>
-      
-      <register>
-        <name>DUPREG2to1</name>
-        <description>Duplicate Register 2 to 1.</description>
-        <addressOffset>0x00</addressOffset>
-      </register>
-    </registers>
-  </peripheral>
-  
-  
-  <peripheral>
-    <name>DIM_GT512Test</name>
-    <description>DIM greater 512 Test, see Case 570966</description>
-    <baseAddress>0x60006000</baseAddress>
-    <size>32</size>
-    <access>read-write</access>
-
-    <addressBlock>
-      <offset>0</offset>
-      <size>0x1000</size>
-      <usage>registers</usage>
-    </addressBlock>
-
-    <registers>    
-      <register>
-        <SVDConv>break</SVDConv>
-        <dim>516</dim>
-        <dimIncrement>4</dimIncrement>
-        <name>g_ambient_buf[%s]</name>
-        <description>The Reload Register stores the Value the COUNT Register gets reloaded on a when a 
-        condition was met.</description>
-        <addressOffset>0x60</addressOffset>
-        <size>32</size>
-        <access>read-write</access>
-        <resetValue>0x00000000</resetValue>
-        <resetMask>0xFFFFFFFF</resetMask>
-      </register>
-    </registers>
-  </peripheral>
-  
-  
-  <peripheral>
-    <name>Microsemi_Test</name>
-    <description>Microsemi Test Union</description>
-    <baseAddress>0x60007000</baseAddress>
-    <size>32</size>
-    <access>read-write</access>
-
-    <addressBlock>
-      <offset>0</offset>
-      <size>0x100</size>
-      <usage>registers</usage>
-    </addressBlock>
-
-	<registers>
-		<register>
-		<name>USB_RX_COUNT_REG</name>
-		<description>No description provided for this register</description>
-		<addressOffset>0x00</addressOffset>
-		<size>16</size>
-		<fields>
-			<field>
-			<name>ENDPOINT_RX_COUNT</name>
-			<description>No description provided for this field</description>
-			<bitOffset>0</bitOffset>
-			<bitWidth>14</bitWidth>
-			<access>read-only</access>
-			</field>
-		</fields>
-		</register>
-		<register>
-		<name>USB_COUNT0_REG</name>
-		<description>No description provided for this register</description>
-		<alternateRegister>USB_RX_COUNT_REG</alternateRegister>
-		<addressOffset>0x00</addressOffset>
-		<size>8</size>
-		<fields>
-			<field>
-			<name>ENDPOINT_RX_COUNT</name>
-			<description>No description provided for this field</description>
-			<bitOffset>0</bitOffset>
-			<bitWidth>7</bitWidth>
-			<access>read-only</access>
-			</field>
-		</fields>
-		</register>
-	</registers>
-  </peripheral>
-  
-          <peripheral>
-            <name>ReneassTest_RSPI0</name>
-            <description>Reneass Test Serial Peripheral Interface 0</description>
-            <baseAddress>0x40072000</baseAddress>
-            <addressBlock>
-                <offset>0x00</offset>
-                <size>8</size>
-                <usage>registers</usage>
-            </addressBlock>
-            <addressBlock>
-                <offset>0x04</offset>
-                <size>2</size>
-                <usage>registers</usage>
-            </addressBlock>
-            <addressBlock>
-                <offset>0x08</offset>
-                <size>24</size>
-                <usage>registers</usage>
-            </addressBlock>
-            <registers>
-                <register>
-                    <name>SPCR</name>
-                    <description>RSPI Control Register</description>
-                    <addressOffset>0x00</addressOffset>
-                    <size>8</size>
-                    <access>read-write</access>
-                    <resetValue>0x00</resetValue>
-                    <resetMask>0xFF</resetMask>
-                    <fields>
-                        <field>
-                            <name>SPRIE</name>
-                            <description>RSPI Receive Buffer Full Interrupt Enable</description>
-                            <lsb>7</lsb>
-                            <msb>7</msb>
-                            <access>read-write</access>
-                            <enumeratedValues>
-                                <enumeratedValue>
-                                    <name>0</name>
-                                    <description>Disables the generation of RSPI receive buffer full interrupt requests</description>
-                                    <value>#0</value>
-                                </enumeratedValue>
-                                <enumeratedValue>
-                                    <name>1</name>
-                                    <description>Enables the generation of RSPI receive buffer full interrupt requests</description>
-                                    <value>#1</value>
-                                </enumeratedValue>
-                            </enumeratedValues>
-                        </field>
-                        <field>
-                            <name>SPE</name>
-                            <description>RSPI Function Enable</description>
-                            <lsb>6</lsb>
-                            <msb>6</msb>
-                            <access>read-write</access>
-                            <enumeratedValues>
-                                <enumeratedValue>
-                                    <name>0</name>
-                                    <description>Disables the RSPI function</description>
-                                    <value>#0</value>
-                                </enumeratedValue>
-                                <enumeratedValue>
-                                    <name>1</name>
-                                    <description>Enables the RSPI function</description>
-                                    <value>#1</value>
-                                </enumeratedValue>
-                            </enumeratedValues>
-                        </field>
-                        <field>
-                            <name>SPTIE</name>
-                            <description>Transmit Buffer Empty Interrupt Enable</description>
-                            <lsb>5</lsb>
-                            <msb>5</msb>
-                            <access>read-write</access>
-                            <enumeratedValues>
-                                <enumeratedValue>
-                                    <name>0</name>
-                                    <description>Disables the generation of transmit buffer empty interrupt requests</description>
-                                    <value>#0</value>
-                                </enumeratedValue>
-                                <enumeratedValue>
-                                    <name>1</name>
-                                    <description>Enables the generation of transmit buffer empty interrupt requests</description>
-                                    <value>#1</value>
-                                </enumeratedValue>
-                            </enumeratedValues>
-                        </field>
-                        <field>
-                            <name>SPEIE</name>
-                            <description>RSPI Error Interrupt Enable</description>
-                            <lsb>4</lsb>
-                            <msb>4</msb>
-                            <access>read-write</access>
-                            <enumeratedValues>
-                                <enumeratedValue>
-                                    <name>0</name>
-                                    <description>Disables the generation of RSPI error interrupt requests</description>
-                                    <value>#0</value>
-                                </enumeratedValue>
-                                <enumeratedValue>
-                                    <name>1</name>
-                                    <description>Enables the generation of RSPI error interrupt requests</description>
-                                    <value>#1</value>
-                                </enumeratedValue>
-                            </enumeratedValues>
-                        </field>
-                        <field>
-                            <name>MSTR</name>
-                            <description>RSPI Master/Slave Mode Select</description>
-                            <lsb>3</lsb>
-                            <msb>3</msb>
-                            <access>read-write</access>
-                            <enumeratedValues>
-                                <enumeratedValue>
-                                    <name>0</name>
-                                    <description>Slave mode</description>
-                                    <value>#0</value>
-                                </enumeratedValue>
-                                <enumeratedValue>
-                                    <name>1</name>
-                                    <description>Master mode</description>
-                                    <value>#1</value>
-                                </enumeratedValue>
-                            </enumeratedValues>
-                        </field>
-                        <field>
-                            <name>MODFEN</name>
-                            <description>Mode Fault Error Detection Enable</description>
-                            <lsb>2</lsb>
-                            <msb>2</msb>
-                            <access>read-write</access>
-                            <enumeratedValues>
-                                <enumeratedValue>
-                                    <name>0</name>
-                                    <description>Disables the detection of mode fault error</description>
-                                    <value>#0</value>
-                                </enumeratedValue>
-                                <enumeratedValue>
-                                    <name>1</name>
-                                    <description>Enables the detection of mode fault error</description>
-                                    <value>#1</value>
-                                </enumeratedValue>
-                            </enumeratedValues>
-                        </field>
-                        <field>
-                            <name>TXMD</name>
-                            <description>Communications Operating Mode Select</description>
-                            <lsb>1</lsb>
-                            <msb>1</msb>
-                            <access>read-write</access>
-                            <enumeratedValues>
-                                <enumeratedValue>
-                                    <name>0</name>
-                                    <description>Full-duplex synchronous serial communications</description>
-                                    <value>#0</value>
-                                </enumeratedValue>
-                                <enumeratedValue>
-                                    <name>1</name>
-                                    <description>Serial communications consisting of only transmit operations</description>
-                                    <value>#1</value>
-                                </enumeratedValue>
-                            </enumeratedValues>
-                        </field>
-                        <field>
-                            <name>SPMS</name>
-                            <description>RSPI Mode Select</description>
-                            <lsb>0</lsb>
-                            <msb>0</msb>
-                            <access>read-write</access>
-                            <enumeratedValues>
-                                <enumeratedValue>
-                                    <name>0</name>
-                                    <description>SPI operation (four-wire method)</description>
-                                    <value>#0</value>
-                                </enumeratedValue>
-                                <enumeratedValue>
-                                    <name>1</name>
-                                    <description>Clock synchronous operation (three-wire method)</description>
-                                    <value>#1</value>
-                                </enumeratedValue>
-                            </enumeratedValues>
-                        </field>
-                    </fields>
-                </register>
-                <register>
-                    <name>SSLP</name>
-                    <description>RSPI Slave Select Polarity Register</description>
-                    <addressOffset>0x01</addressOffset>
-                    <size>8</size>
-                    <access>read-write</access>
-                    <resetValue>0x00</resetValue>
-                    <resetMask>0xFF</resetMask>
-                    <fields>
-                        <field>
-                            <name>SSL3P</name>
-                            <description>SSL3 Signal Polarity Setting</description>
-                            <lsb>3</lsb>
-                            <msb>3</msb>
-                            <access>read-write</access>
-                            <enumeratedValues>
-                                <enumeratedValue>
-                                    <name>0</name>
-                                    <description>SSL3 signal is active low</description>
-                                    <value>#0</value>
-                                </enumeratedValue>
-                                <enumeratedValue>
-                                    <name>1</name>
-                                    <description>SSL3 signal is active high</description>
-                                    <value>#1</value>
-                                </enumeratedValue>
-                            </enumeratedValues>
-                        </field>
-                        <field>
-                            <name>SSL2P</name>
-                            <description>SSL2 Signal Polarity Setting</description>
-                            <lsb>2</lsb>
-                            <msb>2</msb>
-                            <access>read-write</access>
-                            <enumeratedValues>
-                                <enumeratedValue>
-                                    <name>0</name>
-                                    <description>SSL2 signal is active low</description>
-                                    <value>#0</value>
-                                </enumeratedValue>
-                                <enumeratedValue>
-                                    <name>1</name>
-                                    <description>SSL2 signal is active high</description>
-                                    <value>#1</value>
-                                </enumeratedValue>
-                            </enumeratedValues>
-                        </field>
-                        <field>
-                            <name>SSL1P</name>
-                            <description>SSL1 Signal Polarity Setting</description>
-                            <lsb>1</lsb>
-                            <msb>1</msb>
-                            <access>read-write</access>
-                            <enumeratedValues>
-                                <enumeratedValue>
-                                    <name>0</name>
-                                    <description>SSL1 signal is active low</description>
-                                    <value>#0</value>
-                                </enumeratedValue>
-                                <enumeratedValue>
-                                    <name>1</name>
-                                    <description>SSL1 signal is active high</description>
-                                    <value>#1</value>
-                                </enumeratedValue>
-                            </enumeratedValues>
-                        </field>
-                        <field>
-                            <name>SSL0P</name>
-                            <description>SSL0 Signal Polarity Setting</description>
-                            <lsb>0</lsb>
-                            <msb>0</msb>
-                            <access>read-write</access>
-                            <enumeratedValues>
-                                <enumeratedValue>
-                                    <name>0</name>
-                                    <description>SSL0 signal is active low</description>
-                                    <value>#0</value>
-                                </enumeratedValue>
-                                <enumeratedValue>
-                                    <name>1</name>
-                                    <description>SSL0 signal is active high</description>
-                                    <value>#1</value>
-                                </enumeratedValue>
-                            </enumeratedValues>
-                        </field>
-                    </fields>
-                </register>
-                <register>
-                    <name>SPPCR</name>
-                    <description>RSPI Pin Control Register</description>
-                    <addressOffset>0x02</addressOffset>
-                    <size>8</size>
-                    <access>read-write</access>
-                    <resetValue>0x00</resetValue>
-                    <resetMask>0xFF</resetMask>
-                    <fields>
-                        <field>
-                            <name>MOIFE</name>
-                            <description>MOSI Idle Value Fixing Enable</description>
-                            <lsb>5</lsb>
-                            <msb>5</msb>
-                            <access>read-write</access>
-                            <enumeratedValues>
-                                <enumeratedValue>
-                                    <name>0</name>
-                                    <description>MOSI output value equals final data from previous transfer</description>
-                                    <value>#0</value>
-                                </enumeratedValue>
-                                <enumeratedValue>
-                                    <name>1</name>
-                                    <description>MOSI output value equals the value set in the MOIFV bit</description>
-                                    <value>#1</value>
-                                </enumeratedValue>
-                            </enumeratedValues>
-                        </field>
-                        <field>
-                            <name>MOIFV</name>
-                            <description>MOSI Idle Fixed Value</description>
-                            <lsb>4</lsb>
-                            <msb>4</msb>
-                            <access>read-write</access>
-                            <enumeratedValues>
-                                <enumeratedValue>
-                                    <name>0</name>
-                                    <description>The level output on the MOSIA pin during MOSI idling corresponds to low.</description>
-                                    <value>#0</value>
-                                </enumeratedValue>
-                                <enumeratedValue>
-                                    <name>1</name>
-                                    <description>The level output on the MOSIA pin during MOSI idling corresponds to high.</description>
-                                    <value>#1</value>
-                                </enumeratedValue>
-                            </enumeratedValues>
-                        </field>
-                        <field>
-                            <name>SPLP2</name>
-                            <description>RSPI Loopback 2</description>
-                            <lsb>1</lsb>
-                            <msb>1</msb>
-                            <access>read-write</access>
-                            <enumeratedValues>
-                                <enumeratedValue>
-                                    <name>0</name>
-                                    <description>Normal mode</description>
-                                    <value>#0</value>
-                                </enumeratedValue>
-                                <enumeratedValue>
-                                    <name>1</name>
-                                    <description>Loopback mode (data is not inverted for transmission)</description>
-                                    <value>#1</value>
-                                </enumeratedValue>
-                            </enumeratedValues>
-                        </field>
-                        <field>
-                            <name>SPLP</name>
-                            <description>RSPI Loopback</description>
-                            <lsb>0</lsb>
-                            <msb>0</msb>
-                            <access>read-write</access>
-                            <enumeratedValues>
-                                <enumeratedValue>
-                                    <name>0</name>
-                                    <description>Normal mode</description>
-                                    <value>#0</value>
-                                </enumeratedValue>
-                                <enumeratedValue>
-                                    <name>1</name>
-                                    <description>Loopback mode (data is inverted for transmission)</description>
-                                    <value>#1</value>
-                                </enumeratedValue>
-                            </enumeratedValues>
-                        </field>
-                    </fields>
-                </register>
-                <register>
-                    <name>SPSR</name>
-                    <description>RSPI Status Register</description>
-                    <addressOffset>0x03</addressOffset>
-                    <size>8</size>
-                    <access>read-write</access>
-                    <resetValue>0x20</resetValue>
-                    <resetMask>0xFF</resetMask>
-                    <fields>
-                        <field>
-                            <name>SPRF</name>
-                            <description>RSPI Receive Buffer Full Flag</description>
-                            <lsb>7</lsb>
-                            <msb>7</msb>
-                            <access>read-write</access>
-                            <modifiedWriteValues>zeroToClear</modifiedWriteValues>
-                            <readAction>modify</readAction>
-                            <enumeratedValues>
-                                <enumeratedValue>
-                                    <name>0</name>
-                                    <description>No valid data in SPDR</description>
-                                    <value>#0</value>
-                                </enumeratedValue>
-                                <enumeratedValue>
-                                    <name>1</name>
-                                    <description>Valid data found in SPDR</description>
-                                    <value>#1</value>
-                                </enumeratedValue>
-                            </enumeratedValues>
-                        </field>
-                        <field>
-                            <name>SPTEF</name>
-                            <description>RSPI Transmit Buffer Empty Flag</description>
-                            <lsb>5</lsb>
-                            <msb>5</msb>
-                            <access>read-write</access>
-                            <modifiedWriteValues>zeroToClear</modifiedWriteValues>
-                            <readAction>modify</readAction>
-                            <enumeratedValues>
-                                <enumeratedValue>
-                                    <name>0</name>
-                                    <description>Data found in the transmit buffer</description>
-                                    <value>#0</value>
-                                </enumeratedValue>
-                                <enumeratedValue>
-                                    <name>1</name>
-                                    <description>No data in the transmit buffer</description>
-                                    <value>#1</value>
-                                </enumeratedValue>
-                            </enumeratedValues>
-                        </field>
-                        <field>
-                            <name>UDRF</name>
-                            <description>Underrun Error Flag
-(When MODF is 0,  This bit is invalid.)</description>
-                            <lsb>4</lsb>
-                            <msb>4</msb>
-                            <access>read-write</access>
-                            <modifiedWriteValues>zeroToClear</modifiedWriteValues>
-                            <readAction>modify</readAction>
-                            <enumeratedValues>
-                                <enumeratedValue>
-                                    <name>0</name>
-                                    <description>A mode fault error occurs (MODF=1)</description>
-                                    <value>#0</value>
-                                </enumeratedValue>
-                                <enumeratedValue>
-                                    <name>1</name>
-                                    <description>An underrun error occurs (MODF=1)</description>
-                                    <value>#1</value>
-                                </enumeratedValue>
-                            </enumeratedValues>
-                        </field>
-                        <field>
-                            <name>PERF</name>
-                            <description>Parity Error Flag</description>
-                            <lsb>3</lsb>
-                            <msb>3</msb>
-                            <access>read-write</access>
-                            <modifiedWriteValues>zeroToClear</modifiedWriteValues>
-                            <readAction>modify</readAction>
-                            <enumeratedValues>
-                                <enumeratedValue>
-                                    <name>0</name>
-                                    <description>No parity error occurs</description>
-                                    <value>#0</value>
-                                </enumeratedValue>
-                                <enumeratedValue>
-                                    <name>1</name>
-                                    <description>A parity error occurs</description>
-                                    <value>#1</value>
-                                </enumeratedValue>
-                            </enumeratedValues>
-                        </field>
-                        <field>
-                            <name>MODF</name>
-                            <description>Mode Fault Error Flag</description>
-                            <lsb>2</lsb>
-                            <msb>2</msb>
-                            <access>read-write</access>
-                            <modifiedWriteValues>zeroToClear</modifiedWriteValues>
-                            <readAction>modify</readAction>
-                            <enumeratedValues>
-                                <enumeratedValue>
-                                    <name>0</name>
-                                    <description>Neither mode fault error nor underrun error occurs</description>
-                                    <value>#0</value>
-                                </enumeratedValue>
-                                <enumeratedValue>
-                                    <name>1</name>
-                                    <description>A mode fault error or an underrun error occurs.</description>
-                                    <value>#1</value>
-                                </enumeratedValue>
-                            </enumeratedValues>
-                        </field>
-                        <field>
-                            <name>IDLNF</name>
-                            <description>RSPI Idle Flag</description>
-                            <lsb>1</lsb>
-                            <msb>1</msb>
-                            <access>read-write</access>
-                            <modifiedWriteValues>zeroToClear</modifiedWriteValues>
-                            <readAction>modify</readAction>
-                            <enumeratedValues>
-                                <enumeratedValue>
-                                    <name>0</name>
-                                    <description>RSPI is in the idle state</description>
-                                    <value>#0</value>
-                                </enumeratedValue>
-                                <enumeratedValue>
-                                    <name>1</name>
-                                    <description>RSPI is in the transfer state</description>
-                                    <value>#1</value>
-                                </enumeratedValue>
-                            </enumeratedValues>
-                        </field>
-                        <field>
-                            <name>OVRF</name>
-                            <description>Overrun Error Flag</description>
-                            <lsb>0</lsb>
-                            <msb>0</msb>
-                            <access>read-write</access>
-                            <modifiedWriteValues>zeroToClear</modifiedWriteValues>
-                            <readAction>modify</readAction>
-                            <enumeratedValues>
-                                <enumeratedValue>
-                                    <name>0</name>
-                                    <description>No overrun error occurs</description>
-                                    <value>#0</value>
-                                </enumeratedValue>
-                                <enumeratedValue>
-                                    <name>1</name>
-                                    <description>An overrun error occurs</description>
-                                    <value>#1</value>
-                                </enumeratedValue>
-                            </enumeratedValues>
-                        </field>
-                    </fields>
-                </register>
-                <register>
-                    <name>SPDR</name>
-                    <description>RSPI Data Register</description>
-                    <addressOffset>0x04</addressOffset>
-                    <size>32</size>
-                    <access>read-write</access>
-                    <resetValue>0x00000000</resetValue>
-                    <resetMask>0xFFFFFFFF</resetMask>
-                </register>
-                <register>
-                    <name>SPDR_HA</name>
-                    <description>RSPI Data Register ( halfword access )</description>
-                    <alternateRegister>SPDR</alternateRegister>
-                    <addressOffset>0x04</addressOffset>
-                    <size>16</size>
-                    <access>read-write</access>
-                    <resetValue>0x0000</resetValue>
-                    <resetMask>0xFFFF</resetMask>
-                </register>
-                <register>
-                    <name>SPSCR</name>
-                    <description>RSPI Sequence Control Register</description>
-                    <addressOffset>0x8</addressOffset>
-                    <size>8</size>
-                    <access>read-write</access>
-                    <resetValue>0x00</resetValue>
-                    <resetMask>0xFF</resetMask>
-                    <fields>
-                        <field>
-                            <name>SPSLN</name>
-                            <description>RSPI Sequence Length Specification
-
-The order in which the SPCMD0 to SPCMD07 registers are to be referenced is changed in accordance with the sequence length that is set in these bits. The relationship among the setting of these bits, sequence length, and SPCMD0 to SPCMD7 registers referenced by the RSPI is shown above. However, the RSPI in slave mode always references SPCMD0.</description>
-                            <lsb>0</lsb>
-                            <msb>2</msb>
-                            <access>read-write</access>
-                        </field>
-                    </fields>
-                </register>
-            </registers>
-        </peripheral>
-        <peripheral derivedFrom="ReneassTest_RSPI0">
-            <name>RSPI1</name>
-            <description>Serial Peripheral Interface 1</description>
-            <baseAddress>0x40072100</baseAddress>
-        </peripheral>
-	
-	<peripheral>
-      <name>CRC</name>
-      <description>Cyclic Redundancy Check</description>
-      <prependToName>CRC_</prependToName>
-      <baseAddress>0x40032000</baseAddress>
-      <addressBlock>
-        <offset>0</offset>
-        <size>0xC</size>
-        <usage>registers</usage>
-      </addressBlock>
-      <registers>
-        <register>
-          <name>CRCL</name>
-          <description>CRC_CRCL register.</description>
-          <alternateGroup>CRC</alternateGroup>
-          <addressOffset>0</addressOffset>
-          <size>16</size>
-          <resetValue>0xFFFF</resetValue>
-          <resetMask>0xFFFF</resetMask>
-          <fields>
-            <field>
-              <name>CRCL</name>
-              <description>CRCL stores the lower 16 bits of the 16/32 bit CRC</description>
-              <bitOffset>0</bitOffset>
-              <bitWidth>16</bitWidth>
-              <access>read-write</access>
-            </field>
-          </fields>
-        </register>
-        <register>
-          <name>CRCLL</name>
-          <description>CRC_CRCLL register.</description>
-          <alternateGroup>CRC</alternateGroup>
-          <addressOffset>0</addressOffset>
-          <size>8</size>
-          <resetValue>0xFF</resetValue>
-          <resetMask>0xFF</resetMask>
-          <fields>
-            <field>
-              <name>CRCLL</name>
-              <description>CRCLL stores the first 8 bits of the 32 bit CRC</description>
-              <bitOffset>0</bitOffset>
-              <bitWidth>8</bitWidth>
-              <access>read-write</access>
-            </field>
-          </fields>
-        </register>
-        <register>
-          <name>CRC</name>
-          <description>CRC Data Register</description>
-          <alternateGroup>CRC</alternateGroup>
-          <addressOffset>0</addressOffset>
-          <size>32</size>
-          <resetValue>0xFFFFFFFF</resetValue>
-          <resetMask>0xFFFFFFFF</resetMask>
-          <fields>
-            <field>
-              <name>LL</name>
-              <description>CRC Low Lower Byte</description>
-              <bitOffset>0</bitOffset>
-              <bitWidth>8</bitWidth>
-              <access>read-write</access>
-            </field>
-            <field>
-              <name>LU</name>
-              <description>CRC Low Upper Byte</description>
-              <bitOffset>8</bitOffset>
-              <bitWidth>8</bitWidth>
-              <access>read-write</access>
-            </field>
-            <field>
-              <name>HL</name>
-              <description>CRC High Lower Byte</description>
-              <bitOffset>16</bitOffset>
-              <bitWidth>8</bitWidth>
-              <access>read-write</access>
-            </field>
-            <field>
-              <name>HU</name>
-              <description>CRC High Upper Byte</description>
-              <bitOffset>24</bitOffset>
-              <bitWidth>8</bitWidth>
-              <access>read-write</access>
-            </field>
-          </fields>
-        </register>
-        <register>
-          <name>CRCLU</name>
-          <description>CRC_CRCLU register.</description>
-          <addressOffset>0x1</addressOffset>
-          <size>8</size>
-          <resetValue>0xFF</resetValue>
-          <resetMask>0xFF</resetMask>
-          <fields>
-            <field>
-              <name>CRCLU</name>
-              <description>CRCLL stores the second 8 bits of the 32 bit CRC</description>
-              <bitOffset>0</bitOffset>
-              <bitWidth>8</bitWidth>
-              <access>read-write</access>
-            </field>
-          </fields>
-        </register>
-        <register>
-          <name>CRCHL</name>
-          <description>CRC_CRCHL register.</description>
-          <alternateGroup>CRC</alternateGroup>
-          <addressOffset>0x2</addressOffset>
-          <size>8</size>
-          <resetValue>0xFF</resetValue>
-          <resetMask>0xFF</resetMask>
-          <fields>
-            <field>
-              <name>CRCHL</name>
-              <description>CRCHL stores the third 8 bits of the 32 bit CRC</description>
-              <bitOffset>0</bitOffset>
-              <bitWidth>8</bitWidth>
-              <access>read-write</access>
-            </field>
-          </fields>
-        </register>
-        <register>
-          <name>CRCH</name>
-          <description>CRC_CRCH register.</description>
-          <alternateGroup>CRC</alternateGroup>
-          <addressOffset>0x2</addressOffset>
-          <size>16</size>
-          <resetValue>0xFFFF</resetValue>
-          <resetMask>0xFFFF</resetMask>
-          <fields>
-            <field>
-              <name>CRCH</name>
-              <description>CRCL stores the high 16 bits of the 16/32 bit CRC</description>
-              <bitOffset>0</bitOffset>
-              <bitWidth>16</bitWidth>
-              <access>read-write</access>
-            </field>
-          </fields>
-        </register>
-        <register>
-          <name>CRCHU</name>
-          <description>CRC_CRCHU register.</description>
-          <addressOffset>0x3</addressOffset>
-          <size>8</size>
-          <resetValue>0xFF</resetValue>
-          <resetMask>0xFF</resetMask>
-          <fields>
-            <field>
-              <name>CRCHU</name>
-              <description>CRCHU stores the fourth 8 bits of the 32 bit CRC</description>
-              <bitOffset>0</bitOffset>
-              <bitWidth>8</bitWidth>
-              <access>read-write</access>
-            </field>
-          </fields>
-        </register>
-        <register>
-          <name>GPOLYLL</name>
-          <description>CRC_GPOLYLL register.</description>
-          <alternateGroup>CRC</alternateGroup>
-          <addressOffset>0x4</addressOffset>
-          <size>8</size>
-          <resetValue>0xFF</resetValue>
-          <resetMask>0xFF</resetMask>
-          <fields>
-            <field>
-              <name>GPOLYLL</name>
-              <description>POLYLL stores the first 8 bits of the 32 bit CRC</description>
-              <bitOffset>0</bitOffset>
-              <bitWidth>8</bitWidth>
-              <access>read-write</access>
-            </field>
-          </fields>
-        </register>
-        <register>
-          <name>GPOLYL</name>
-          <description>CRC_GPOLYL register.</description>
-          <alternateGroup>CRC</alternateGroup>
-          <addressOffset>0x4</addressOffset>
-          <size>16</size>
-          <resetValue>0xFFFF</resetValue>
-          <resetMask>0xFFFF</resetMask>
-          <fields>
-            <field>
-              <name>GPOLYL</name>
-              <description>POLYL stores the lower 16 bits of the 16/32 bit CRC polynomial value</description>
-              <bitOffset>0</bitOffset>
-              <bitWidth>16</bitWidth>
-              <access>read-write</access>
-            </field>
-          </fields>
-        </register>
-        <register>
-          <name>GPOLY</name>
-          <description>CRC Polynomial Register</description>
-          <alternateGroup>CRC</alternateGroup>
-          <addressOffset>0x4</addressOffset>
-          <size>32</size>
-          <resetValue>0x1021</resetValue>
-          <resetMask>0xFFFFFFFF</resetMask>
-          <fields>
-            <field>
-              <name>LOW</name>
-              <description>Low polynominal half-word</description>
-              <bitOffset>0</bitOffset>
-              <bitWidth>16</bitWidth>
-              <access>read-write</access>
-            </field>
-            <field>
-              <name>HIGH</name>
-              <description>High polynominal half-word</description>
-              <bitOffset>16</bitOffset>
-              <bitWidth>16</bitWidth>
-              <access>read-write</access>
-            </field>
-          </fields>
-        </register>
-        <register>
-          <name>GPOLYLU</name>
-          <description>CRC_GPOLYLU register.</description>
-          <addressOffset>0x5</addressOffset>
-          <size>8</size>
-          <resetValue>0xFF</resetValue>
-          <resetMask>0xFF</resetMask>
-          <fields>
-            <field>
-              <name>GPOLYLU</name>
-              <description>POLYLL stores the second 8 bits of the 32 bit CRC</description>
-              <bitOffset>0</bitOffset>
-              <bitWidth>8</bitWidth>
-              <access>read-write</access>
-            </field>
-          </fields>
-        </register>
-        <register>
-          <name>GPOLYHL</name>
-          <description>CRC_GPOLYHL register.</description>
-          <alternateGroup>CRC</alternateGroup>
-          <addressOffset>0x6</addressOffset>
-          <size>8</size>
-          <resetValue>0xFF</resetValue>
-          <resetMask>0xFF</resetMask>
-          <fields>
-            <field>
-              <name>GPOLYHL</name>
-              <description>POLYHL stores the third 8 bits of the 32 bit CRC</description>
-              <bitOffset>0</bitOffset>
-              <bitWidth>8</bitWidth>
-              <access>read-write</access>
-            </field>
-          </fields>
-        </register>
-        <register>
-          <name>GPOLYH</name>
-          <description>CRC_GPOLYH register.</description>
-          <alternateGroup>CRC</alternateGroup>
-          <addressOffset>0x6</addressOffset>
-          <size>16</size>
-          <resetValue>0xFFFF</resetValue>
-          <resetMask>0xFFFF</resetMask>
-          <fields>
-            <field>
-              <name>GPOLYH</name>
-              <description>POLYH stores the high 16 bits of the 16/32 bit CRC polynomial value</description>
-              <bitOffset>0</bitOffset>
-              <bitWidth>16</bitWidth>
-              <access>read-write</access>
-            </field>
-          </fields>
-        </register>
-        <register>
-          <name>GPOLYHU</name>
-          <description>CRC_GPOLYHU register.</description>
-          <addressOffset>0x7</addressOffset>
-          <size>8</size>
-          <resetValue>0xFF</resetValue>
-          <resetMask>0xFF</resetMask>
-          <fields>
-            <field>
-              <name>GPOLYHU</name>
-              <description>POLYHU stores the fourth 8 bits of the 32 bit CRC</description>
-              <bitOffset>0</bitOffset>
-              <bitWidth>8</bitWidth>
-              <access>read-write</access>
-            </field>
-          </fields>
-        </register>
-        <register>
-          <name>CTRL</name>
-          <description>CRC Control Register</description>
-          <addressOffset>0x8</addressOffset>
-          <size>32</size>
-          <resetValue>0</resetValue>
-          <resetMask>0xFFFFFFFF</resetMask>
-          <fields>
-            <field>
-              <name>RESERVED</name>
-              <description>no description available</description>
-              <bitOffset>0</bitOffset>
-              <bitWidth>24</bitWidth>
-              <access>read-only</access>
-            </field>
-            <field>
-              <name>TCRC</name>
-              <description>no description available</description>
-              <bitOffset>24</bitOffset>
-              <bitWidth>1</bitWidth>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>0</name>
-                  <description>16-bit CRC protocol.</description>
-                  <value>#0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>1</name>
-                  <description>32-bit CRC protocol.</description>
-                  <value>#1</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-            <field>
-              <name>WAS</name>
-              <description>Write CRC data register as seed</description>
-              <bitOffset>25</bitOffset>
-              <bitWidth>1</bitWidth>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>0</name>
-                  <description>Writes to the CRC data register are data values.</description>
-                  <value>#0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>1</name>
-                  <description>Writes to the CRC data register are seed values.</description>
-                  <value>#1</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-            <field>
-              <name>FXOR</name>
-              <description>Complement Read of CRC data register</description>
-              <bitOffset>26</bitOffset>
-              <bitWidth>1</bitWidth>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>0</name>
-                  <description>No XOR on reading.</description>
-                  <value>#0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>1</name>
-                  <description>Invert or complement the read value of the CRC data register.</description>
-                  <value>#1</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-            <field>
-              <name>RESERVED</name>
-              <description>no description available</description>
-              <bitOffset>27</bitOffset>
-              <bitWidth>1</bitWidth>
-              <access>read-only</access>
-            </field>
-            <field>
-              <name>TOTR</name>
-              <description>Type of Transpose for Read</description>
-              <bitOffset>28</bitOffset>
-              <bitWidth>2</bitWidth>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>00</name>
-                  <description>No transposition.</description>
-                  <value>#00</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>01</name>
-                  <description>Bits in bytes are transposed; bytes are not transposed.</description>
-                  <value>#01</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>10</name>
-                  <description>Both bits in bytes and bytes are transposed.</description>
-                  <value>#10</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>11</name>
-                  <description>Only bytes are transposed; no bits in a byte are transposed. </description>
-                  <value>#11</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-            <field>
-              <name>TOT</name>
-              <description>Type of Transpose for Writes</description>
-              <bitOffset>30</bitOffset>
-              <bitWidth>2</bitWidth>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>00</name>
-                  <description>No transposition.</description>
-                  <value>#00</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>01</name>
-                  <description>Bits in bytes are transposed; bytes are not transposed.</description>
-                  <value>#01</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>10</name>
-                  <description>Both bits in bytes and bytes are transposed.</description>
-                  <value>#10</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>11</name>
-                  <description>Only bytes are transposed; no bits in a byte are transposed.</description>
-                  <value>#11</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-          </fields>
-        </register>
-      </registers>
-    </peripheral>
-
-	<peripheral>
-	<name>PERI</name>
-	<description>test</description>
-	<groupName>G0</groupName>
-	<baseAddress>0x40050000</baseAddress>
-	<addressBlock>
-	  <offset>0</offset>
-		<size>0x80</size>
-		<usage>register</usage>
-	</addressBlock>
-	<registers>
-	<!--  ================= REG0W Information =================  -->
-	<register>
-	<name>REG0W</name>
-	<description>reg0</description>
-	<addressOffset>0x00000010</addressOffset>
-	<size>32</size>
-
-	<fields>
-		<!-- ============= [31:0] ============= -->
-		<field>
-		<name>BIT0W</name> <bitRange>[31:0]</bitRange> <access>read-write</access>
-		<description>test</description>
-		</field>
-	</fields> 
-	</register>
-	<!--  ================= REG0W End =================  -->
-
-	<!--  ================= REG0 Information =================  -->
-	<register>
-	<name>REG0</name>
-	<alternateRegister>REG0W</alternateRegister>
-	<description>reg0</description>
-	<addressOffset>0x00000010</addressOffset>
-	<size>8</size>
-
-	<fields>
-		<!-- ============= [7:0] ============= -->
-		<field>
-		<name>BIT0</name> <bitRange>[7:0]</bitRange> <access>read-write</access>
-		<description>test</description>
-		</field>
-	</fields> 
-	</register>
-	<!--  ================= REG0 End =================  -->
-
-	<!--  ================= REG1W Information =================  -->
-	<register>
-	<name>REG1W</name>
-	<description>reg1</description>
-	<addressOffset>0x00000040</addressOffset>
-	<size>32</size>
-
-	<fields>
-		<!-- ============= [31:0] ============= -->
-		<field>
-		<name>BIT1W</name> <bitRange>[31:0]</bitRange> <access>read-write</access>
-		<description>test</description>
-		</field>
-	</fields> 
-	</register>
-	<!--  ================= REG1W End =================  -->
-
-	<!--  ================= REG1H Information =================  -->
-	<register>
-	<name>REG1H</name>
-	<alternateRegister>REG1W</alternateRegister>
-	<description>reg1</description>
-	<addressOffset>0x00000040</addressOffset>
-	<size>16</size>
-
-	<fields>
-		<!-- ============= [15:0] ============= -->
-		<field>
-		<name>BIT1H</name> <bitRange>[15:0]</bitRange> <access>read-write</access>
-		<description>test</description>
-		</field>
-	</fields> 
-	</register>
-	<!--  ================= REG1H End =================  -->
-
-	<!--  ================= REG1 Information =================  -->
-	<register>
-	<name>REG1</name>
-	<alternateRegister>REG1W</alternateRegister>
-	<description>reg1</description>
-	<addressOffset>0x00000040</addressOffset>
-	<size>8</size>
-
-	<fields>
-		<!-- ============= [7:0] ============= -->
-		<field>
-		<name>BIT1</name> <bitRange>[7:0]</bitRange> <access>read-write</access>
-		<description>test</description>
-		</field>
-	</fields> 
-	</register>
-	<!--  ================= REG1 End =================  -->
-
-	</registers>
-</peripheral>
-  </peripherals>
-</device>
-

+ 0 - 640
CMSIS/DoxyGen/SVD/src/CMSIS-SVD.xsd

@@ -1,640 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!-- 
- 
-  Copyright (c) 2013-2016 ARM Limited. All rights reserved.
- 
-  SPDX-License-Identifier: Apache-2.0
- 
-  Licensed under the Apache License, Version 2.0 (the License); you may
-  not use this file except in compliance with the License.
-  You may obtain a copy of the License at
- 
-  www.apache.org/licenses/LICENSE-2.0
- 
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an AS IS BASIS, WITHOUT
-  WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
- 
-  $Date:         23. September 2016
-  $Revision:     1.3.3
-
-  Version 1.3.3:
-  - update file header to Apache 2.0 License
-  - add dimableIdentifierType, as a copy of previous identifierType adding "%s",
-  - update identifierType to only allow names without %s included.
-  - remove enumerationNameType.
-  - add headerEnumName to enumerationType and to dimArrayIndexType for peripheral arrays 
-    overwriting hierarchically generated names
-  - add dimName to dimElementGroup. Only valid in <cluster> context, ignored otherwise.
-  
-  Version 1.3.2:
-  adding dimIndexArray to peripheral-, cluster- and register-array to describe
-  enumeration of array indices.
-
-  Version 1.3.1:
-  fixed peripheral name element type to identifierType to support %s for peripheral arrays
-  added optional protection element to addressBlockType and added p=privileged 
-
-  Version 1.3:
-  added dim to peripherals to describe an array of peripherals.
-  added nesting of clusters to support hierarchical register structures.
-  added protection element as part of the registerPropertiesGroup indicating
-  special permissions are required for accessing a register.
-  CPU Section extended with description of the Secure Attribution Unit.
-  
-  Version 1.2:
-  Cortex-M7 support items have been added as optional tags for the device header file generation:
-  fpuDP, icachePresent, dcachePresent, itcmPresent, dtcmPresent
-  
-  Version 1.1:
-  For backward compatibility all additional tags have been made optional.
-  Extensions may be mandatory for successful device header file generation
-  Other changes are related to some restructuring of the schema.
-  
-  Note that the memory section has been removed since this would limit the
-  reuse of descriptions for a series of devices.
- -->
-
-<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="qualified" version="1.3">
-  <!-- stringType requires a none empty string of a least one character length -->
-  <xs:simpleType name="stringType">
-    <xs:restriction base="xs:string">
-      <xs:minLength value="1"/>
-    </xs:restriction>
-  </xs:simpleType>
-  <!-- cpuType specifies a selection of Cortex-M and Secure-Cores. This list will get extended as new processors are released -->
-  <xs:simpleType name="cpuNameType">
-    <xs:restriction base="xs:token">
-      <xs:enumeration value="CM0"/>
-      <xs:enumeration value="CM0PLUS"/>
-      <xs:enumeration value="CM0+"/>
-      <xs:enumeration value="CM1"/>
-      <xs:enumeration value="SC000"/>
-      <xs:enumeration value="CM3"/>
-      <xs:enumeration value="SC300"/>
-      <xs:enumeration value="CM4"/>
-      <xs:enumeration value="CM7"/>
-      <xs:enumeration value="ARMV8MML"/>
-      <xs:enumeration value="ARMV8MBL"/>
-      <xs:enumeration value="CA5"/>
-      <xs:enumeration value="CA7"/>
-      <xs:enumeration value="CA8"/>
-      <xs:enumeration value="CA9"/>
-      <xs:enumeration value="CA15"/>
-      <xs:enumeration value="CA17"/>
-      <xs:enumeration value="CA53"/>
-      <xs:enumeration value="CA57"/>
-      <xs:enumeration value="CA72"/>
-      <xs:enumeration value="other"/>
-    </xs:restriction>
-  </xs:simpleType>
-  <!-- revisionType specifies the CPU revision format as defined by ARM (rNpM) -->
-  <xs:simpleType name="revisionType">
-    <xs:restriction base="xs:string">
-      <xs:pattern value="r[0-9]*p[0-9]*"/>
-    </xs:restriction>
-  </xs:simpleType>
-  <!-- EndianType pre-defines the tokens for specifying the endianess of the device -->
-  <xs:simpleType name="endianType">
-    <xs:restriction base="xs:token">
-      <xs:enumeration value="little"/>
-      <xs:enumeration value="big"/>
-      <xs:enumeration value="selectable"/>
-      <xs:enumeration value="other"/>
-    </xs:restriction>
-  </xs:simpleType>
-  <!-- dataType pre-defines the tokens in line with CMSIS data type definitions -->
-  <xs:simpleType name="dataTypeType">
-    <xs:restriction base="xs:token">
-      <xs:enumeration value="uint8_t"/>
-      <xs:enumeration value="uint16_t"/>
-      <xs:enumeration value="uint32_t"/>
-      <xs:enumeration value="uint64_t"/>
-      <xs:enumeration value="int8_t"/>
-      <xs:enumeration value="int16_t"/>
-      <xs:enumeration value="int32_t"/>
-      <xs:enumeration value="int64_t"/>
-      <xs:enumeration value="uint8_t *"/>
-      <xs:enumeration value="uint16_t *"/>
-      <xs:enumeration value="uint32_t *"/>
-      <xs:enumeration value="uint64_t *"/>
-      <xs:enumeration value="int8_t *"/>
-      <xs:enumeration value="int16_t *"/>
-      <xs:enumeration value="int32_t *"/>
-      <xs:enumeration value="int64_t *"/>
-    </xs:restriction>
-  </xs:simpleType>
-  <!-- nvicPrioBitsType specifies the integer value range for the number of bits used in NVIC to encode priority levels -->
-  <xs:simpleType name="nvicPrioBitsType">
-    <xs:restriction base="xs:integer">
-      <xs:minInclusive value="2"/>
-      <xs:maxInclusive value="8"/>
-    </xs:restriction>
-  </xs:simpleType>
-  <!-- dimableIdentifierType specifies the subset and sequence of characters used for specifying identifiers that may contain %s from dim. -->
-  <!-- this is particularly important as these are used in ANSI C Structures during the device header file generation -->
-  <xs:simpleType name="dimableIdentifierType">
-    <xs:restriction base="xs:string">
-      <xs:pattern value="((%s)|(%s)[_A-Za-z]{1}[_A-Za-z0-9]*)|([_A-Za-z]{1}[_A-Za-z0-9]*(\[%s\])?)|([_A-Za-z]{1}[_A-Za-z0-9]*(%s)?[_A-Za-z0-9]*)"/>
-    </xs:restriction>
-  </xs:simpleType>
-  <!-- identifierType specifies the subset and sequence of characters used for specifying identifiers that must not contain %s from dim. -->
-  <!-- this is particularly important as these are used in ANSI C Structures during the device header file generation -->
-  <xs:simpleType name="identifierType">
-    <xs:restriction base="xs:string">
-      <xs:pattern value="[_A-Za-z0-9]*"/>
-    </xs:restriction>
-  </xs:simpleType>
-  <!-- V1.3: Protection Access Attribute Strings -->
-  <xs:simpleType name="protectionStringType">
-    <xs:restriction base="xs:string">
-      <!-- s = Secure                      -->
-      <!-- n = Non-secure                  -->
-      <!-- p = Privileged                  -->
-      <xs:pattern value="[snp]"/>
-    </xs:restriction>
-  </xs:simpleType>
-  <!-- V1.3: SAU Access Type -->
-  <xs:simpleType name="sauAccessType">
-    <xs:restriction base="xs:string">
-      <!-- c = non-secure Callable / Secure -->
-      <!-- n = Non-secure                   -->
-      <xs:pattern value="[cn]"/>
-    </xs:restriction>
-  </xs:simpleType>
-
-  <!-- dimIndexType specifies the subset and sequence of characters used for specifying the sequence of indices in register arrays -->
-  <xs:simpleType name="dimIndexType">
-    <xs:restriction base="xs:string">
-      <xs:pattern value="[0-9]+\-[0-9]+|[A-Z]-[A-Z]|[_0-9a-zA-Z]+(,\s*[_0-9a-zA-Z]+)+"/>
-    </xs:restriction>
-  </xs:simpleType>
-  <!-- scaledNonNegativeInteger specifies the format in which numbers are represented in hexadecimal or decimar format -->
-  <xs:simpleType name="scaledNonNegativeInteger">
-    <xs:restriction base="xs:string">
-      <xs:pattern value="[+]?(0x|0X|#)?[0-9a-fA-F]+[kmgtKMGT]?"/>
-    </xs:restriction>
-  </xs:simpleType>
-  <!-- enumeratedValueDataType specifies the number formats for the values in enumeratedValues -->
-  <xs:simpleType name="enumeratedValueDataType">
-    <xs:restriction base="xs:string">
-      <xs:pattern value="[+]?(0x|0X|#)?[0-9a-fxA-FX]+"/>
-    </xs:restriction>
-  </xs:simpleType>
-  <!-- accessType specfies the pre-defined tokens for the available accesses -->
-  <xs:simpleType name="accessType">
-    <xs:restriction base="xs:token">
-      <xs:enumeration value="read-only"/>
-      <xs:enumeration value="write-only"/>
-      <xs:enumeration value="read-write"/>
-      <xs:enumeration value="writeOnce"/>
-      <xs:enumeration value="read-writeOnce"/>
-    </xs:restriction>
-  </xs:simpleType>
-  <!-- modifiedWriteValuesType specifies the pre-defined tokens for the write side effects -->
-  <xs:simpleType name="modifiedWriteValuesType">
-    <xs:restriction base="xs:token">
-      <xs:enumeration value="oneToClear"/>
-      <xs:enumeration value="oneToSet"/>
-      <xs:enumeration value="oneToToggle"/>
-      <xs:enumeration value="zeroToClear"/>
-      <xs:enumeration value="zeroToSet"/>
-      <xs:enumeration value="zeroToToggle"/>
-      <xs:enumeration value="clear"/>
-      <xs:enumeration value="set"/>
-      <xs:enumeration value="modify"/>
-    </xs:restriction>
-  </xs:simpleType>
-  <!-- readAction type specifies the pre-defined tokens for read side effects -->
-  <xs:simpleType name="readActionType">
-    <xs:restriction base="xs:token">
-      <xs:enumeration value="clear"/>
-      <xs:enumeration value="set"/>
-      <xs:enumeration value="modify"/>
-      <xs:enumeration value="modifyExternal"/>
-    </xs:restriction>
-  </xs:simpleType>
-  <!-- enumUsageType specifies the pre-defined tokens for selecting what access types an enumeratedValues set is associated with -->
-  <xs:simpleType name="enumUsageType">
-    <xs:restriction base="xs:token">
-      <xs:enumeration value="read"/>
-      <xs:enumeration value="write"/>
-      <xs:enumeration value="read-write"/>
-    </xs:restriction>
-  </xs:simpleType>
-  <!-- bitRangeType specifies the bit numbers to be restricted values from 0 - 69 -->
-  <xs:simpleType name="bitRangeType">
-    <xs:restriction base="xs:token">
-      <xs:pattern value="\[([0-4])?[0-9]:([0-4])?[0-9]\]"/>
-    </xs:restriction>
-  </xs:simpleType>
-  <!-- writeContraintType specifies how to describe the restriction of the allowed values that can be written to a resource -->
-  <xs:complexType name="writeConstraintType">
-    <xs:choice>
-      <xs:element name="writeAsRead" type="xs:boolean"/>
-      <xs:element name="useEnumeratedValues" type="xs:boolean"/>
-      <xs:element name="range">
-        <xs:complexType>
-          <xs:sequence>
-            <xs:element name="minimum" type="scaledNonNegativeInteger"/>
-            <xs:element name="maximum" type="scaledNonNegativeInteger"/>
-          </xs:sequence>
-        </xs:complexType>
-      </xs:element>
-    </xs:choice>
-  </xs:complexType>
-  <!-- addressBlockType specifies the elements to describe an address block -->
-  <xs:complexType name="addressBlockType">
-    <xs:sequence>
-      <xs:element name="offset" type="scaledNonNegativeInteger"/>
-      <xs:element name="size" type="scaledNonNegativeInteger"/>
-      <xs:element name="usage">
-        <xs:simpleType>
-          <xs:restriction base="xs:token">
-            <xs:enumeration value="registers"/>
-            <xs:enumeration value="buffer"/>
-            <xs:enumeration value="reserved"/>
-          </xs:restriction>
-        </xs:simpleType>
-      </xs:element>
-      <!-- Version 1.3.2: optional access protection for an address block s=secure n=non-secure p=privileged -->
-      <xs:element name="protection" type="protectionStringType" minOccurs="0"/>
-    </xs:sequence>
-  </xs:complexType>
-  <!-- interruptType specifies how to describe an interrupt associated with a peripheral -->
-  <xs:complexType name="interruptType">
-    <xs:sequence>
-      <xs:element name="name" type="stringType"/>
-      <xs:element name="description" type="xs:string" minOccurs="0"/>
-      <xs:element name="value" type="xs:integer"/>
-    </xs:sequence>
-  </xs:complexType>
-  <!-- register properties group specifies register size, access permission and reset value 
-       this is used in multiple locations. Settings are inherited downstream. -->  
-  <xs:group name="registerPropertiesGroup">
-    <xs:sequence>
-      <xs:element name="size" type="scaledNonNegativeInteger" minOccurs="0"/>
-      <xs:element name="access" type="accessType" minOccurs="0"/>
-      <!-- V 1.3: extended register access protection -->
-      <xs:element name="protection" type="protectionStringType" minOccurs="0"/>
-      <xs:element name="resetValue" type="scaledNonNegativeInteger" minOccurs="0"/>
-      <xs:element name="resetMask" type="scaledNonNegativeInteger" minOccurs="0"/>
-    </xs:sequence>
-  </xs:group>
-  <!-- bitRangeLsbMsbStyle specifies the bit position of a field within a register 
-       by specifying the least significant and the most significant bit position -->
-  <xs:group name="bitRangeLsbMsbStyle">
-    <xs:sequence>
-      <xs:element name="lsb"  type="scaledNonNegativeInteger"/>
-      <xs:element name="msb"  type="scaledNonNegativeInteger"/>
-    </xs:sequence>
-  </xs:group>
-  <!-- bitRangeOffsetWidthStyle specifies the bit position of a field within a register
-       by specifying the least significant bit position and the bitWidth of the field -->
-  <xs:group name="bitRangeOffsetWidthStyle">
-    <xs:sequence>
-      <xs:element name="bitOffset" type="scaledNonNegativeInteger"/>
-      <xs:element name="bitWidth" type="scaledNonNegativeInteger" minOccurs="0"/>   
-    </xs:sequence> 
-  </xs:group>
-  
-  <!-- dimElementGroup specifies the number of array elements (dim), the address offset
-       between to consecutive array elements and an a comma seperated list of strings 
-       being used for identifying each element in the array -->
-  <xs:group name="dimElementGroup">
-    <xs:sequence>
-      <xs:element name="dim" type="scaledNonNegativeInteger"/>
-      <xs:element name="dimIncrement" type="scaledNonNegativeInteger"/>
-      <xs:element name="dimIndex" type="dimIndexType" minOccurs="0"/>
-      <xs:element name="dimName" type="identifierType" minOccurs="0"/>
-      <xs:element name="dimArrayIndex" type="dimArrayIndexType" minOccurs="0"/>
-    </xs:sequence>
-  </xs:group>
-
-  <xs:complexType name="cpuType">
-    <xs:sequence>
-      <!-- V1.1: ARM processor name: Cortex-Mx / SCxxx -->
-      <xs:element name="name" type="cpuNameType"/>
-      <!-- V1.1: ARM defined revision of the cpu -->
-      <xs:element name="revision" type="revisionType"/>
-      <!-- V1.1: Endian specifies the endianess of the processor/device -->
-      <xs:element name="endian" type="endianType"/>
-      <!-- V1.1: mpuPresent specifies whether or not a memory protection unit is physically present -->
-      <xs:element name="mpuPresent" type="xs:boolean"/>
-      <!-- V1.1: fpuPresent specifies whether or not a floating point hardware unit is physically present -->
-      <xs:element name="fpuPresent" type="xs:boolean"/>
-      <!-- V1.2: fpuDP specifies a double precision floating point hardware unit is physically present-->
-      <xs:element name="fpuDP" type="xs:boolean" minOccurs="0"/>
-      <!-- V1.2: icachePresent specifies that an instruction cache is physically present-->
-      <xs:element name="icachePresent" type="xs:boolean" minOccurs="0"/>
-      <!-- V1.2: dcachePresent specifies that a data cache is physically present-->
-      <xs:element name="dcachePresent" type="xs:boolean" minOccurs="0"/>
-      <!-- V1.2: itcmPresent specifies that an instruction tightly coupled memory is physically present-->
-      <xs:element name="itcmPresent" type="xs:boolean" minOccurs="0"/>
-      <!-- V1.2: dtcmPresent specifies that an data tightly coupled memory is physically present-->
-      <xs:element name="dtcmPresent" type="xs:boolean" minOccurs="0"/>
-      <!-- V1.1: vtorPresent is used for Cortex-M0+ based devices only. It indicates whether the Vector -->
-      <!--       Table Offset Register is implemented in the device or not                              -->
-      <xs:element name="vtorPresent" type="xs:boolean" minOccurs="0"/>
-      <!-- V1.1: nvicPrioBits specifies the number of bits used by the Nested Vectored Interrupt Controller -->
-      <!--       for defining the priority level = # priority levels                                        -->
-      <xs:element name="nvicPrioBits" type="scaledNonNegativeInteger"/>
-      <!-- V1.1: vendorSystickConfig is set true if a custom system timer is implemented in the device -->
-      <!--       instead of the ARM specified SysTickTimer                                             -->
-      <xs:element name="vendorSystickConfig" type="xs:boolean"/>
-      <!-- V1.3: reports the total number of interrupts implemented by the device (optional) -->
-      <xs:element name="deviceNumInterrupts" type="scaledNonNegativeInteger" minOccurs="0"/>
-      <!-- V1.3: sauRegions specifies the available number of address regions -->
-      <!--       if not specified a value of zero is assumed                  -->
-      <xs:element name="sauNumRegions" type="scaledNonNegativeInteger" minOccurs="0"/>
-      <!-- V1.3: SAU Regions Configuration (if fully or partially predefined) -->
-      <xs:element name="sauRegionsConfig" minOccurs="0">
-        <xs:complexType>
-          <xs:sequence>
-            <xs:element name="region" minOccurs="0" maxOccurs="unbounded">
-              <!-- addressBlockType specifies the elements to describe an address block -->
-              <xs:complexType>
-                <xs:sequence minOccurs="1"   maxOccurs="unbounded">
-                  <xs:element name="base"    type="scaledNonNegativeInteger"/>
-                  <xs:element name="limit"   type="scaledNonNegativeInteger"/>
-                  <xs:element name="access"  type="sauAccessType"/>
-                </xs:sequence>
-                <xs:attribute name="enabled" type="xs:boolean" use="optional" default="true"/>
-                <xs:attribute name="name"    type="xs:string"  use="optional"/>
-              </xs:complexType>
-            </xs:element>
-          </xs:sequence>
-          <xs:attribute name="enabled" type="xs:boolean" use="optional" default="true"/>
-          <xs:attribute name="protectionWhenDisabled" type="protectionStringType" use="optional" default="s"/>
-        </xs:complexType>
-      </xs:element>
-     </xs:sequence>
-  </xs:complexType>
-
-  <xs:complexType name="enumeratedValueType">
-    <xs:sequence>
-      <!-- name is a ANSI C indentifier representing the value (C Enumeration) -->
-      <xs:element name="name" type="identifierType"/>
-      <!-- description contains the details about the semantics/behavior specified by this value -->
-      <xs:element name="description" type="stringType" minOccurs="0"/>
-      <xs:choice>
-        <xs:element name="value" type="enumeratedValueDataType"/>
-        <!-- isDefault specifies the name and description for all values that are not
-             specifically described individually -->
-        <xs:element name="isDefault" type="xs:boolean"/>
-      </xs:choice>
-    </xs:sequence>
-  </xs:complexType>
-  
-  <xs:complexType name="enumerationType">
-    <xs:sequence>
-      <!-- name specfies a reference to this enumeratedValues section for reuse purposes
-           this name does not appear in the System Viewer nor the Header File. -->
-      <xs:element name="name" type="identifierType" minOccurs="0"/>
-      <!-- overrides the hierarchical enumeration type in the device header file. User is responsible for uniqueness across description -->
-      <xs:element name="headerEnumName" type="identifierType" minOccurs="0"/>
-      <!-- usage specifies whether this enumeration is to be used for read or write or 
-                                                       (read and write) accesses -->
-      <xs:element name="usage" type="enumUsageType" minOccurs="0"/>
-      <!-- enumeratedValue derivedFrom=<identifierType> -->
-      <xs:element name="enumeratedValue" type="enumeratedValueType" minOccurs="1" maxOccurs="unbounded"/>
-    </xs:sequence>
-    <xs:attribute name="derivedFrom" type="identifierType" use="optional"/>
-  </xs:complexType>
-
-  <xs:complexType name="dimArrayIndexType">
-    <xs:sequence>
-      <xs:element name="headerEnumName" type="identifierType" minOccurs="0"/>
-      <xs:element name="enumeratedValue" type="enumeratedValueType" minOccurs="1" maxOccurs="unbounded"/>
-    </xs:sequence>
-  </xs:complexType>
-
-  <xs:complexType name="fieldType">
-    <xs:sequence>
-      <xs:group    ref="dimElementGroup" minOccurs="0"/>
-      <!-- name specifies a field's name. The System Viewer and the device header file will
-           use the name of the field as identifier -->
-      <xs:element name="name" type="dimableIdentifierType"/>
-      <!-- description contains reference manual level information about the function and 
-           options of a field -->
-      <xs:element name="description" type="stringType" minOccurs="0"/>
-      <!-- alternative specifications of the bit position of the field within the register -->
-      <xs:choice minOccurs="1" maxOccurs="1">
-        <!-- bit field described by lsb followed by msb tag -->
-        <xs:group ref="bitRangeLsbMsbStyle"/>
-        <!-- bit field described by bit offset relative to Bit0 + bit width of field -->
-        <xs:group ref="bitRangeOffsetWidthStyle"/>
-        <!-- bit field described by [<msb>:<lsb>] -->
-        <xs:element name="bitRange" type="bitRangeType"/>
-      </xs:choice>
-      <!-- access describes the predefined permissions for the field. -->
-      <xs:element name="access" type="accessType" minOccurs="0"/>
-      <!-- predefined description of write side effects -->
-      <xs:element name="modifiedWriteValues" type="modifiedWriteValuesType" minOccurs="0"/>
-      <!-- writeContstraint specifies the subrange of allowed values -->
-      <xs:element name="writeConstraint" type="writeConstraintType" minOccurs="0"/>
-      <!-- readAction specifies the read side effects. -->
-      <xs:element name="readAction" type="readActionType" minOccurs="0"/>
-      <!-- enumeratedValues derivedFrom=<identifierType> -->
-      <xs:element name="enumeratedValues" type="enumerationType" minOccurs="0" maxOccurs="2">
-      </xs:element>
-    </xs:sequence>
-    <xs:attribute name="derivedFrom" type="dimableIdentifierType" use="optional"/>
-  </xs:complexType>
-
-  <xs:complexType name="fieldsType">
-    <xs:sequence>
-      <!-- field derivedFrom=<identifierType> -->
-      <xs:element name="field" type="fieldType" minOccurs="1" maxOccurs="unbounded"/>
-    </xs:sequence>
-  </xs:complexType>
-
-  <xs:complexType name="registerType">
-    <xs:sequence>
-      <xs:group    ref="dimElementGroup" minOccurs="0"/>
-      <!-- name specifies the name of the register. The register name is used by System Viewer and
-                                     device header file generator to represent a register -->
-      <xs:element name="name" type="dimableIdentifierType"/>
-      <!-- display name specifies a register name without the restritions of an ANSIS C identifier.
-                                     The use of this tag is discouraged because it does not allow consistency between
-                                     the System View and the device header file. -->
-      <xs:element name="displayName" type="stringType" minOccurs="0"/>
-      <!-- description contains a reference manual level description about the register and it's purpose -->
-      <xs:element name="description" type="stringType" minOccurs="0"/>
-      <xs:choice>
-        <!-- alternateGroup specifies the identifier of the subgroup a register belongs to.
-                                       This is useful if a register has a different description per mode but a single name -->
-        <xs:element name="alternateGroup" type="identifierType" minOccurs="0"/>
-        <!-- V1.1: alternateRegister specifies an alternate register description for an address that is
-                                       already fully described. In this case the register name must be unique within the peripheral -->
-        <xs:element name="alternateRegister" type="dimableIdentifierType" minOccurs="0"/>
-      </xs:choice>
-      <!-- addressOffset describes the address of the register relative to the baseOffset of the peripheral -->
-      <xs:element name="addressOffset" type="scaledNonNegativeInteger"/>
-      <!-- registerPropertiesGroup elements specify the default values for register size, access permission and
-                                     reset value. These default values are inherited to all fields contained in this register -->
-      <xs:group    ref="registerPropertiesGroup" minOccurs="0"/>
-      <!-- V1.1: dataType specifies a CMSIS compliant native dataType for a register (i.e. signed, unsigned, pointer) -->
-      <xs:element name="dataType" type="dataTypeType" minOccurs="0"/>
-      <!-- modifiedWriteValues specifies the write side effects -->
-      <xs:element name="modifiedWriteValues" type="modifiedWriteValuesType" minOccurs="0"/>
-      <!-- writeConstraint specifies the subset of allowed write values -->
-      <xs:element name="writeConstraint" type="writeConstraintType" minOccurs="0"/>
-      <!-- readAcction specifies the read side effects -->
-      <xs:element name="readAction" type="readActionType" minOccurs="0"/>
-      <!-- fields section contains all fields that belong to this register -->
-      <xs:element name="fields" type="fieldsType" minOccurs="0" maxOccurs="1"/>
-    </xs:sequence>
-    <xs:attribute name="derivedFrom" type="dimableIdentifierType" use="optional"/>
-  </xs:complexType>
-
-  <!-- V1.1: A cluster is a set of registers that are composed into a C data structure in the device header file -->
-  <xs:complexType name="clusterType">
-    <xs:sequence>
-      <xs:group   ref="dimElementGroup" minOccurs="0"/>
-      <xs:element name="name" type="dimableIdentifierType"/>
-      <xs:element name="description" type="xs:string"/>
-      <!-- V1.1: alternateCluster specifies an alternative description for a cluster address range that is
-                 already fully described. In this case the cluster name must be unique within the peripheral -->
-      <xs:element name="alternateCluster" type="dimableIdentifierType" minOccurs="0"/>
-      <!-- V1.1: headerStructName specifies the name for the cluster structure typedef
-                 used in the device header generation instead of the cluster name -->
-      <xs:element name="headerStructName" type="identifierType" minOccurs="0"/>
-      <xs:element name="addressOffset" type="scaledNonNegativeInteger"/>
-      <!-- registerPropertiesGroup elements specify the default values for register size, access permission and
-                 reset value. These default values are inherited to all registers contained in this peripheral -->
-      <xs:group ref="registerPropertiesGroup" minOccurs="0"/>
-      <xs:sequence>
-        <xs:choice minOccurs="1" maxOccurs="unbounded">
-          <xs:element name="register" type="registerType" minOccurs="0" maxOccurs="unbounded"/>
-          <!-- 1.3: nesting of cluster is supported -->
-          <xs:element name="cluster" type="clusterType" minOccurs="0" maxOccurs="unbounded"/>
-        </xs:choice>
-      </xs:sequence>
-    </xs:sequence>
-    <xs:attribute name="derivedFrom" type="dimableIdentifierType" use="optional"/>
-  </xs:complexType>
-
-  <!-- the registers section can have an arbitrary list of cluster and register sections -->
-  <xs:complexType name="registersType">
-    <xs:choice minOccurs="1" maxOccurs="unbounded">
-      <xs:element name="cluster" type="clusterType"/>
-      <xs:element name="register" type="registerType"/>
-    </xs:choice>
-  </xs:complexType>
-
-  <xs:complexType name="peripheralType">
-    <xs:sequence>
-      <!-- 1.3: specify uni-dimensional array of peripheral - requires name="<name>[%s]" -->
-      <xs:group    ref="dimElementGroup" minOccurs="0"/>
-      <!-- name specifies the name of a peripheral. This name is used for the System View and device header file -->
-      <xs:element name="name" type="dimableIdentifierType"/>
-      <!-- version specifies the version of the peripheral descriptions -->
-      <xs:element name="version" type="stringType" minOccurs="0"/>
-      <!-- description provides a high level functional description of the peripheral -->
-      <xs:element name="description" type="stringType" minOccurs="0"/>
-      <!-- V1.1: alternatePeripheral specifies an alternative description for an address range that is
-           already fully by a peripheral described. In this case the peripheral name must be unique within the device description -->
-      <xs:element name="alternatePeripheral" type="dimableIdentifierType" minOccurs="0"/>
-      <!-- groupName assigns this peripheral to a group of peripherals. This is only used bye the System View -->
-      <xs:element name="groupName" type="xs:Name" minOccurs="0"/>
-      <!-- prependToName specifies a prefix that is placed in front of each register name of this peripheral. 
-                         The device header file will show the registers in a C-Struct of the peripheral without the prefix. -->
-      <xs:element name="prependToName" type="identifierType" minOccurs="0"/>
-      <!-- appendToName is a postfix that is appended to each register name of this peripheral. The device header 
-                         file will sho the registers in a C-Struct of the peripheral without the postfix -->
-      <xs:element name="appendToName" type="identifierType" minOccurs="0"/>
-      <!-- V1.1: headerStructName specifies the name for the peripheral structure typedef
-                         used in the device header generation instead of the peripheral name -->
-      <xs:element name="headerStructName" type="dimableIdentifierType" minOccurs="0"/>
-      <!-- disableCondition contains a logical expression based on constants and register or bit-field values 
-                         if the condition is evaluated to true, the peripheral display will be disabled -->
-      <xs:element name="disableCondition" type="stringType" minOccurs="0"/>
-      <!-- baseAddress specifies the absolute base address of a peripheral. For derived peripherals it is mandatory
-                         to specify a baseAddress. -->
-      <xs:element name="baseAddress" type="scaledNonNegativeInteger"/>
-      <!-- registerPropertiesGroup elements specify the default values for register size, access permission and
-                         reset value. These default values are inherited to all registers contained in this peripheral -->
-      <xs:group ref="registerPropertiesGroup" minOccurs="0"/>
-      <!-- addressBlock specifies one or more address ranges that are assigned exclusively to this peripheral. 
-                         derived peripherals may have no addressBlock, however none-derived peripherals are required to specify
-                         at least one address block -->
-      <xs:element name="addressBlock" type="addressBlockType" minOccurs="0" maxOccurs="unbounded"/>
-      <!-- interrupt specifies can specify one or more interrtupts by name, description and value -->
-      <xs:element name="interrupt" type="interruptType" minOccurs="0" maxOccurs="unbounded"/>
-      <!-- registers section contains all registers owned by the peripheral. In case a peripheral gets derived it does
-                        not have its own registers section, hence this section is optional. A unique peripheral without a 
-                        registers section is not allowed -->
-      <xs:element name="registers" type="registersType" minOccurs="0" maxOccurs="1">
-      </xs:element>
-    </xs:sequence>
-    <xs:attribute name="derivedFrom" type="dimableIdentifierType" use="optional"/>
-  </xs:complexType>
-  
-  <!-- ==================================================== -->
-  <!-- The top level element of a description is the device -->
-  <!-- ==================================================== -->
-  <xs:element name="device" nillable="true">
-    <xs:complexType>
-      <xs:sequence>
-        <!-- V1.1: Vendor Name -->
-        <xs:element name="vendor" type="stringType" minOccurs="0"/>
-        <!-- V1.1: Vendor ID - a short name for referring to the vendor (e.g. Texas Instruments = TI) -->
-        <xs:element name="vendorID" type="identifierType" minOccurs="0"/>
-        <!-- name specifies the device name being described -->
-        <xs:element name="name" type="identifierType"/>
-        <!-- V1.1: series specifies the device series or family name -->
-        <xs:element name="series" type="stringType" minOccurs="0"/>
-        <!-- version specifies the version of the device description -->
-        <xs:element name="version" type="stringType"/>
-        <!-- description is a string describing the device features (e.g. memory size, peripherals, etc.) -->
-        <xs:element name="description" type="stringType"/>
-        <!-- V1.1: licenseText specifies the file header section to be included in any derived file -->
-        <xs:element name="licenseText" type="stringType" minOccurs="0"/>
-        <!-- V1.1: cpu specifies the details of the processor included in the device -->
-        <xs:element name="cpu" type="cpuType" minOccurs="0"/>
-        <!-- V1.1: the tag specifies the filename without extension of the CMSIS System Device include file.
-             This tag is used by the header file generator for customizing the include statement referencing the
-             CMSIS system file within the CMSIS device header file. By default the filename is "system_<device.name>"
-             In cases a device series shares a single system header file, the name of the series shall be used 
-             instead of the individual device name. -->
-        <xs:element name="headerSystemFilename" type="identifierType" minOccurs="0"/>
-        <!-- V1.1: headerDefinitionPrefix specifies the string being prepended to all names of types defined in
-             generated device header file -->
-        <xs:element name="headerDefinitionsPrefix" type="identifierType" minOccurs="0"/>
-        <!-- addressUnitBits specifies the size of the minimal addressable unit in bits -->
-        <xs:element name="addressUnitBits" type="scaledNonNegativeInteger"/>
-        <!-- width specifies the number of bits for the maximum single transfer size allowed by the bus interface.
-             This sets the maximum size of a single register that can be defined for an address space -->
-        <xs:element name="width" type="scaledNonNegativeInteger"/>
-        <!-- registerPropertiesGroup elements specify the default values for register size, access permission and
-             reset value -->
-        <xs:group ref="registerPropertiesGroup" minOccurs="0"/>
-
-        <!-- peripherals is containing all peripherals -->
-        <xs:element name="peripherals">
-          <xs:complexType>
-            <xs:sequence>
-              <xs:element name="peripheral" type="peripheralType" minOccurs="1" maxOccurs="unbounded"/>
-            </xs:sequence>
-          </xs:complexType>
-        </xs:element>
-
-        <!-- Vendor Extensions: this section captures custom extensions. This section will be ignored by default -->
-        <xs:element name="vendorExtensions" minOccurs="0" maxOccurs="1">
-          <xs:complexType>
-            <xs:sequence>
-              <xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded">
-              </xs:any>
-            </xs:sequence>
-          </xs:complexType>
-        </xs:element>
-      </xs:sequence>
-      <xs:attribute name="schemaVersion" type="xs:decimal" use="required"/>
-    </xs:complexType>
-  </xs:element>
-</xs:schema>
-
-<!-- END OF FILE -->

+ 0 - 268
CMSIS/DoxyGen/SVD/src/My_ARM_Example.h

@@ -1,268 +0,0 @@
-/*
- * ARM Limited (ARM) is supplying this software for use with Cortex-M
- * 
-    processor based microcontroller, but can be equally used for other
- * 
-    suitable  processor architectures. This file can be freely distributed.
- * 
-    Modifications to this file shall be clearly marked.
- * 
-    
- * 
-    THIS SOFTWARE IS PROVIDED "AS IS".  NO WARRANTIES, WHETHER EXPRESS, IMPLIED
- * 
-    OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF
- * 
-    MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.
- * 
-    ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR
- * 
-    CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
- *
- * @file     My_ARM_Example.h
- * @brief    CMSIS HeaderFile
- * @version  1.0
- * @date     21. September 2016
- * @note     Generated by SVDConv V3.2.47 on Wednesday, 21.09.2016 14:57:02
- *           from File 'My_ARM_Example.svd',
- *           last modified on Wednesday, 21.09.2016 12:56:53
- */
-
-
-
-/** @addtogroup ARM Ltd.
-  * @{
-  */
-
-
-/** @addtogroup My_ARM_Example
-  * @{
-  */
-
-
-#ifndef MY_ARM_EXAMPLE_H
-#define MY_ARM_EXAMPLE_H
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-/** @addtogroup Configuration_of_CMSIS
-  * @{
-  */
-
-
-
-/* =========================================================================================================================== */
-/* ================                                Interrupt Number Definition                                ================ */
-/* =========================================================================================================================== */
-
-typedef enum {
-/* =======================================  ARM Cortex-M3 Specific Interrupt Numbers  ======================================== */
-  Reset_IRQn                = -15,              /*!< -15  Reset Vector, invoked on Power up and warm reset                     */
-  NonMaskableInt_IRQn       = -14,              /*!< -14  Non maskable Interrupt, cannot be stopped or preempted               */
-  HardFault_IRQn            = -13,              /*!< -13  Hard Fault, all classes of Fault                                     */
-  MemoryManagement_IRQn     = -12,              /*!< -12  Memory Management, MPU mismatch, including Access Violation
-                                                      and No Match                                                             */
-  BusFault_IRQn             = -11,              /*!< -11  Bus Fault, Pre-Fetch-, Memory Access Fault, other address/memory
-                                                      related Fault                                                            */
-  UsageFault_IRQn           = -10,              /*!< -10  Usage Fault, i.e. Undef Instruction, Illegal State Transition        */
-  SVCall_IRQn               =  -5,              /*!< -5 System Service Call via SVC instruction                                */
-  DebugMonitor_IRQn         =  -4,              /*!< -4 Debug Monitor                                                          */
-  PendSV_IRQn               =  -2,              /*!< -2 Pendable request for system service                                    */
-  SysTick_IRQn              =  -1,              /*!< -1 System Tick Timer                                                      */
-/* =======================================  My_ARM_Example Specific Interrupt Numbers  ======================================= */
-  TIMER0_IRQn               =   0,              /*!< 0  Imterrupt Timer0                                                       */
-  TIMER1_IRQn               =   4,              /*!< 4  Interrupt TIMER1                                                       */
-  TIMER2_IRQn               =   6               /*!< 6  Interrupt TIMER2                                                       */
-} IRQn_Type;
-
-
-
-/* =========================================================================================================================== */
-/* ================                           Processor and Core Peripheral Section                           ================ */
-/* =========================================================================================================================== */
-
-/* ===========================  Configuration of the ARM Cortex-M3 Processor and Core Peripherals  =========================== */
-#define __CM3_REV                 0x0100U       /*!< CM3 Core Revision                                                         */
-#define __NVIC_PRIO_BITS               3        /*!< Number of Bits used for Priority Levels                                   */
-#define __Vendor_SysTickConfig         0        /*!< Set to 1 if different SysTick Config is used                              */
-#define __MPU_PRESENT                  1        /*!< MPU present or not                                                        */
-
-
-/** @} */ /* End of group Configuration_of_CMSIS */
-
-#include "core_cm3.h"                           /*!< ARM Cortex-M3 processor and core peripherals                              */
-#include "system_My_ARM_Example.h"              /*!< My_ARM_Example System                                                     */
-
-
-/* ========================================  Start of section using anonymous unions  ======================================== */
-#if defined (__CC_ARM)
-  #pragma push
-  #pragma anon_unions
-#elif defined (__ICCARM__)
-  #pragma language=extended
-#elif defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)
-  #pragma clang diagnostic push
-  #pragma clang diagnostic ignored "-Wc11-extensions"
-  #pragma clang diagnostic ignored "-Wreserved-id-macro"
-#elif defined (__GNUC__)
-  /* anonymous unions are enabled by default */
-#elif defined (__TMS470__)
-  /* anonymous unions are enabled by default */
-#elif defined (__TASKING__)
-  #pragma warning 586
-#elif defined (__CSMC__)
-  /* anonymous unions are enabled by default */
-#else
-  #warning Not supported compiler type
-#endif
-
-
-/* =========================================================================================================================== */
-/* ================                              Device Specific Cluster Section                              ================ */
-/* =========================================================================================================================== */
-
-
-/** @addtogroup Device_Peripheral_clusters
-  * @{
-  */
-
-
-/**
-  * @brief TIMER0_TX [TX] (Grouping of Transfer data and address)
-  */
-typedef struct {
-  __IOM uint32_t  TX_DATA;                      /*!< (@ 0x00000000) TX_DATA                                                    */
-  __IOM uint32_t  TX_ADDR;                      /*!< (@ 0x00000004) TX_ADDR                                                    */
-} TIMER0_TX_Type;                               /*!< Size = 8 (0x8)                                                            */
-
-
-/** @} */ /* End of group Device_Peripheral_clusters */
-
-
-/* =========================================================================================================================== */
-/* ================                            Device Specific Peripheral Section                             ================ */
-/* =========================================================================================================================== */
-
-
-/** @addtogroup Device_Peripheral_peripherals
-  * @{
-  */
-
-
-
-/* =========================================================================================================================== */
-/* ================                                          TIMER0                                           ================ */
-/* =========================================================================================================================== */
-
-
-/**
-  * @brief 32 Timer / Counter, counting up or down from different sources (TIMER0)
-  */
-
-typedef struct {                                /*!< (@ 0x40010000) TIMER0 Structure                                           */
-  __IOM uint32_t  CR;                           /*!< (@ 0x00000000) Control Register                                           */
-  __IOM uint16_t  SR;                           /*!< (@ 0x00000004) Status Register                                            */
-  __IM  uint16_t  RESERVED[5];
-  __IOM uint16_t  INT;                          /*!< (@ 0x00000010) Interrupt Register                                         */
-  __IM  uint16_t  RESERVED1[7];
-  __IOM uint32_t  COUNT;                        /*!< (@ 0x00000020) The Counter Register reflects the actual Value
-                                                                    of the Timer/Counter                                       */
-  __IOM uint32_t  MATCH;                        /*!< (@ 0x00000024) The Match Register stores the compare Value for
-                                                                    the MATCH condition                                        */
-  
-  union {
-    __IM  uint32_t PRESCALE_RD;                 /*!< (@ 0x00000028) The Prescale Register stores the Value for the
-                                                                    prescaler. The cont event gets divided
-                                                                    by this value                                              */
-    __OM  uint32_t PRESCALE_WR;                 /*!< (@ 0x00000028) The Prescale Register stores the Value for the
-                                                                    prescaler. The cont event gets divided
-                                                                    by this value                                              */
-  };
-  __IM  uint32_t  RESERVED2[9];
-  __IOM uint32_t  RELOAD0;                      /*!< (@ 0x00000050) The Reload Register stores the Value the COUNT
-                                                                    Register gets reloaded on a when a condition
-                                                                    was met.                                                   */
-  __IOM uint32_t  RELOAD1;                      /*!< (@ 0x00000054) The Reload Register stores the Value the COUNT
-                                                                    Register gets reloaded on a when a condition
-                                                                    was met.                                                   */
-  __IOM uint32_t  RELOAD2;                      /*!< (@ 0x00000058) The Reload Register stores the Value the COUNT
-                                                                    Register gets reloaded on a when a condition
-                                                                    was met.                                                   */
-  __IOM uint32_t  RELOAD3;                      /*!< (@ 0x0000005C) The Reload Register stores the Value the COUNT
-                                                                    Register gets reloaded on a when a condition
-                                                                    was met.                                                   */
-  __IOM TIMER0_TX_Type TX[4];                   /*!< (@ 0x00000060) Grouping of Transfer data and address                      */
-  __IOM uint32_t  IRQ3;                         /*!< (@ 0x00000080) 3                                                          */
-  __IOM uint32_t  IRQ4;                         /*!< (@ 0x00000084) 4                                                          */
-  __IOM uint32_t  IRQ5;                         /*!< (@ 0x00000088) 5                                                          */
-  __IOM uint32_t  IRQ6;                         /*!< (@ 0x0000008C) 6                                                          */
-  __IOM uint32_t  IRQA[4];                      /*!< (@ 0x00000090) [0..3]                                                     */
-} TIMER0_Type;                                  /*!< Size = 160 (0xa0)                                                         */
-
-
-/** @} */ /* End of group Device_Peripheral_peripherals */
-
-
-/* =========================================  End of section using anonymous unions  ========================================= */
-#if defined (__CC_ARM)
-  #pragma pop
-#elif defined (__ICCARM__)
-  /* leave anonymous unions enabled */
-#elif (__ARMCC_VERSION >= 6010050)
-  #pragma clang diagnostic pop
-#elif defined (__GNUC__)
-  /* anonymous unions are enabled by default */
-#elif defined (__TMS470__)
-  /* anonymous unions are enabled by default */
-#elif defined (__TASKING__)
-  #pragma warning restore
-#elif defined (__CSMC__)
-  /* anonymous unions are enabled by default */
-#endif
-
-
-/* =========================================================================================================================== */
-/* ================                          Device Specific Peripheral Address Map                           ================ */
-/* =========================================================================================================================== */
-
-
-/** @addtogroup Device_Peripheral_peripheralAddr
-  * @{
-  */
-
-#define TIMER0_BASE                 0x40010000UL
-#define TIMER1_BASE                 0x40010100UL
-#define TIMER2_BASE                 0x40010200UL
-
-/** @} */ /* End of group Device_Peripheral_peripheralAddr */
-
-
-/* =========================================================================================================================== */
-/* ================                                  Peripheral declaration                                   ================ */
-/* =========================================================================================================================== */
-
-
-/** @addtogroup Device_Peripheral_declaration
-  * @{
-  */
-
-#define TIMER0                      ((TIMER0_Type*)            TIMER0_BASE)
-#define TIMER1                      ((TIMER0_Type*)            TIMER1_BASE)
-#define TIMER2                      ((TIMER0_Type*)            TIMER2_BASE)
-
-/** @} */ /* End of group Device_Peripheral_declaration */
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* MY_ARM_EXAMPLE_H */
-
-
-/** @} */ /* End of group My_ARM_Example */
-
-/** @} */ /* End of group ARM Ltd. */

+ 0 - 830
CMSIS/DoxyGen/SVD/src/My_ARM_Example.svd.x

@@ -1,830 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-
-<!-- File naming: <part/series name>.svd -->
-
-<!--
-  Copyright (C) 2012-2014 ARM Limited. All rights reserved.
-
-  Purpose: System Viewer Description (SVD) Example (Schema Version 1.1)
-           This is a description of a none-existent and incomplete device
-		   for demonstration purposes only.
-		   
-  Redistribution and use in source and binary forms, with or without
-  modification, are permitted provided that the following conditions are met:
-   - Redistributions of source code must retain the above copyright
-     notice, this list of conditions and the following disclaimer.
-   - Redistributions in binary form must reproduce the above copyright
-     notice, this list of conditions and the following disclaimer in the
-     documentation and/or other materials provided with the distribution.
-   - Neither the name of ARM nor the names of its contributors may be used 
-     to endorse or promote products derived from this software without 
-     specific prior written permission.
-
-  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 
-  AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 
-  IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-  ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS AND CONTRIBUTORS BE
-  LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-  CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF 
-  SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
-  INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
-  CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
-  ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
-  POSSIBILITY OF SUCH DAMAGE.
- -->
- 
-<device schemaVersion="1.1" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="CMSIS-SVD.xsd" >
-  <vendor>ARM Ltd.</vendor>                                       <!-- device vendor name -->
-  <vendorID>ARM</vendorID>                                        <!-- device vendor short name -->
-  <name>My_ARM_Example</name>                                        <!-- name of part-->
-  <series>ARMCM3</series>                                         <!-- device series the device belongs to -->
-  <version>1.2</version>                                          <!-- version of this description, adding CMSIS-SVD 1.1 tags -->
-  <description>ARM 32-bit Cortex-M3 Microcontroller based device, CPU clock up to 80MHz, etc. </description>
-  <licenseText>                                                   <!-- this license text will appear in header file. \n force line breaks -->
-    ARM Limited (ARM) is supplying this software for use with Cortex-M\n
-    processor based microcontroller, but can be equally used for other\n
-    suitable  processor architectures. This file can be freely distributed.\n
-    Modifications to this file shall be clearly marked.\n
-    \n
-    THIS SOFTWARE IS PROVIDED "AS IS".  NO WARRANTIES, WHETHER EXPRESS, IMPLIED\n
-    OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF\n
-    MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE.\n
-    ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR\n
-    CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
-  </licenseText>
-  <cpu>                                                           <!-- details about the cpu embedded in the device -->
-    <name>CM3</name>
-    <revision>r1p0</revision>
-    <endian>little</endian>
-    <mpuPresent>true</mpuPresent>
-    <fpuPresent>false</fpuPresent>
-    <nvicPrioBits>3</nvicPrioBits>
-    <vendorSystickConfig>false</vendorSystickConfig>
-  </cpu>
-  <addressUnitBits>8</addressUnitBits>                            <!-- byte addressable memory -->
-  <width>32</width>                                               <!-- bus width is 32 bits -->
-  <!-- default settings implicitly inherited by subsequent sections -->
-  <size>32</size>                                                 <!-- this is the default size (number of bits) of all peripherals
-                                                                       and register that do not define "size" themselves -->
-  <access>read-write</access>                                     <!-- default access permission for all subsequent registers -->
-  <resetValue>0x00000000</resetValue>                             <!-- by default all bits of the registers are initialized to 0 on reset -->
-  <resetMask>0xFFFFFFFF</resetMask>                               <!-- by default all 32Bits of the registers are used -->
-
-  <peripherals>
-    <!-- Timer 0 -->
-    <peripheral>
-      <name>TIMER0</name>
-      <version>1.0</version>
-      <description>32 Timer / Counter, counting up or down from different sources</description>
-      <groupName>TIMER</groupName>
-      <baseAddress>0x40010000</baseAddress>
-      <size>32</size>
-      <access>read-write</access>
-
-      <addressBlock>
-        <offset>0</offset>
-        <size>0x100</size>
-        <usage>registers</usage>
-      </addressBlock>
-
-      <interrupt>
-        <name>TIMER0</name>
-        <description>Imterrupt Timer0</description>
-        <value>0</value>
-      </interrupt>
-
-      <registers>
-      <!-- CR: Control Register -->
-        <register>
-          <name>CR</name>
-          <description>Control Register</description>
-          <addressOffset>0x00</addressOffset>
-          <size>32</size>
-          <access>read-write</access>
-          <resetValue>0x00000000</resetValue>
-          <resetMask>0x1337F7F</resetMask>
-
-          <fields>
-            <!-- EN: Enable -->
-            <field>
-              <name>EN</name>
-              <description>Enable</description>
-              <bitRange>[0:0]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>Disable</name>
-                  <description>Timer is disabled and does not operate</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Enable</name>
-                  <description>Timer is enabled and can operate</description>
-                  <value>1</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <!-- RST: Reset -->
-            <field>
-              <name>RST</name>
-              <description>Reset Timer</description>
-              <bitRange>[1:1]</bitRange>
-              <access>write-only</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>No_Action</name>
-                  <description>Write as ZERO if necessary</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Reset_Timer</name>
-                  <description>Reset the Timer</description>
-                  <value>1</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <!-- CNT: Counting Direction -->
-            <field>
-              <name>CNT</name>
-              <description>Counting direction</description>
-              <bitRange>[3:2]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>Count_UP</name>
-                  <description>Timer Counts UO and wraps, if no STOP condition is set</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Count_DOWN</name>
-                  <description>Timer Counts DOWN and wraps, if no STOP condition is set</description>
-                  <value>1</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Toggle</name>
-                  <description>Timer Counts up to MAX, then DOWN to ZERO, if no STOP condition is set</description>
-                  <value>2</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <!-- MODE: Operation Mode -->
-            <field>
-              <name>MODE</name>
-              <description>Operation Mode</description>
-              <bitRange>[6:4]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>Continous</name>
-                  <description>Timer runs continously</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Single_ZERO_MAX</name>
-                  <description>Timer counts to 0x00 or 0xFFFFFFFF (depending on CNT) and stops</description>
-                  <value>1</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Single_MATCH</name>
-                  <description>Timer counts to the Value of MATCH Register and stops</description>
-                  <value>2</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Reload_ZERO_MAX</name>
-                  <description>Timer counts to 0x00 or 0xFFFFFFFF (depending on CNT), loads the RELOAD Value and continues</description>
-                  <value>3</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Reload_MATCH</name>
-                  <description>Timer counts to the Value of MATCH Register, loads the RELOAD Value and continues</description>
-                  <value>4</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <!-- PSC: Use Prescaler -->
-            <field>
-              <name>PSC</name>
-              <description>Use Prescaler</description>
-              <bitRange>[7:7]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>Disabled</name>
-                  <description>Prescaler is not used</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Enabled</name>
-                  <description>Prescaler is used as divider</description>
-                  <value>1</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <!-- CNTSRC: Timer / Counter Soruce Divider -->
-            <field>
-              <name>CNTSRC</name>
-              <description>Timer / Counter Source Divider</description>
-              <bitRange>[11:8]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>CAP_SRC</name>
-                  <description>Capture Source is used directly</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>CAP_SRC_div2</name>
-                  <description>Capture Source is divided by 2</description>
-                  <value>1</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>CAP_SRC_div4</name>
-                  <description>Capture Source is divided by 4</description>
-                  <value>2</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>CAP_SRC_div8</name>
-                  <description>Capture Source is divided by 8</description>
-                  <value>3</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>CAP_SRC_div16</name>
-                  <description>Capture Source is divided by 16</description>
-                  <value>4</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>CAP_SRC_div32</name>
-                  <description>Capture Source is divided by 32</description>
-                  <value>5</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>CAP_SRC_div64</name>
-                  <description>Capture Source is divided by 64</description>
-                  <value>6</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>CAP_SRC_div128</name>
-                  <description>Capture Source is divided by 128</description>
-                  <value>7</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>CAP_SRC_div256</name>
-                  <description>Capture Source is divided by 256</description>
-                  <value>8</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <!-- CAPSRC: Timer / COunter Capture Source -->
-            <field>
-              <name>CAPSRC</name>
-              <description>Timer / Counter Capture Source</description>
-              <bitRange>[15:12]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>CClk</name>
-                  <description>Core Clock</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOA_0</name>
-                  <description>GPIO A, PIN 0</description>
-                  <value>1</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOA_1</name>
-                  <description>GPIO A, PIN 1</description>
-                  <value>2</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOA_2</name>
-                  <description>GPIO A, PIN 2</description>
-                  <value>3</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOA_3</name>
-                  <description>GPIO A, PIN 3</description>
-                  <value>4</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOA_4</name>
-                  <description>GPIO A, PIN 4</description>
-                  <value>5</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOA_5</name>
-                  <description>GPIO A, PIN 5</description>
-                  <value>6</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOA_6</name>
-                  <description>GPIO A, PIN 6</description>
-                  <value>7</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOA_7</name>
-                  <description>GPIO A, PIN 7</description>
-                  <value>8</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOB_0</name>
-                  <description>GPIO B, PIN 0</description>
-                  <value>9</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOB_1</name>
-                  <description>GPIO B, PIN 1</description>
-                  <value>10</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOB_2</name>
-                  <description>GPIO B, PIN 2</description>
-                  <value>11</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOB_3</name>
-                  <description>GPIO B, PIN 3</description>
-                  <value>12</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOC_0</name>
-                  <description>GPIO C, PIN 0</description>
-                  <value>13</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOC_5</name>
-                  <description>GPIO C, PIN 1</description>
-                  <value>14</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>GPIOC_6</name>
-                  <description>GPIO C, PIN 2</description>
-                  <value>15</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <!-- CAPEDGE: Capture Edge -->
-            <field>
-              <name>CAPEDGE</name>
-              <description>Capture Edge, select which Edge should result in a counter increment or decrement</description>
-              <bitRange>[17:16]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>RISING</name>
-                  <description>Only rising edges result in a counter increment or decrement</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>FALLING</name>
-                  <description>Only falling edges  result in a counter increment or decrement</description>
-                  <value>1</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>BOTH</name>
-                  <description>Rising and falling edges result in a counter increment or decrement</description>
-                  <value>2</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <!-- TRGEXT: Triggers an other Peripheral -->
-            <field>
-              <name>TRGEXT</name>
-              <description>Triggers an other Peripheral</description>
-              <bitRange>[21:20]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>NONE</name>
-                  <description>No Trigger is emitted</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>DMA1</name>
-                  <description>DMA Controller 1 is triggered, dependant on MODE</description>
-                  <value>1</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>DMA2</name>
-                  <description>DMA Controller 2 is triggered, dependant on MODE</description>
-                  <value>2</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>UART</name>
-                  <description>UART is triggered, dependant on MODE</description>
-                  <value>3</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <!-- Reload: Selects Reload Register n -->
-            <field>
-              <name>RELOAD</name>
-              <description>Select RELOAD Register n to reload Timer on condition</description>
-              <bitRange>[25:24]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>RELOAD0</name>
-                  <description>Selects Reload Register number 0</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>RELOAD1</name>
-                  <description>Selects Reload Register number 1</description>
-                  <value>1</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>RELOAD2</name>
-                  <description>Selects Reload Register number 2</description>
-                  <value>2</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>RELOAD3</name>
-                  <description>Selects Reload Register number 3</description>
-                  <value>3</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <!-- IDR: Inc or dec Reload Register Selection -->
-            <field>
-              <name>IDR</name>
-              <description>Selects, if Reload Register number is incremented, decremented or not modified</description>
-              <bitRange>[27:26]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>KEEP</name>
-                  <description>Reload Register number does not change automatically</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>INCREMENT</name>
-                  <description>Reload Register number is incremented on each match</description>
-                  <value>1</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>DECREMENT</name>
-                  <description>Reload Register number is decremented on each match</description>
-                  <value>2</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <!-- START: Starts / Stops the Timer/Counter -->
-            <field>
-              <name>S</name>
-              <description>Starts and Stops the Timer / Counter</description>
-              <bitRange>[31:31]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>STOP</name>
-                  <description>Timer / Counter is stopped</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>START</name>
-                  <description>Timer / Counter is started</description>
-                  <value>1</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-          </fields>
-        </register>
-
-        <!-- SR: Status Register -->
-        <register>
-          <name>SR</name>
-          <description>Status Register</description>
-          <addressOffset>0x04</addressOffset>
-          <size>16</size>
-          <access>read-write</access>
-          <resetValue>0x00000000</resetValue>
-          <resetMask>0xD701</resetMask>
-
-          <fields>
-            <!-- RUN: Shows if Timer is running -->
-            <field>
-              <name>RUN</name>
-              <description>Shows if Timer is running or not</description>
-              <bitRange>[0:0]</bitRange>
-              <access>read-only</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>Stopped</name>
-                  <description>Timer is not running</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Running</name>
-                  <description>Timer is running</description>
-                  <value>1</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <!-- MATCH: Shows if a Match was hit -->
-            <field>
-              <name>MATCH</name>
-              <description>Shows if the MATCH was hit</description>
-              <bitRange>[8:8]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>No_Match</name>
-                  <description>The MATCH condition was not hit</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Match_Hit</name>
-                  <description>The MATCH condition was hit</description>
-                  <value>1</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <!-- UN: Shows if an underflow occured -->
-            <field>
-              <name>UN</name>
-              <description>Shows if an underflow occured. This flag is sticky</description>
-              <bitRange>[9:9]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>No_Underflow</name>
-                  <description>No underflow occured since last clear</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Underflow</name>
-                  <description>A minimum of one underflow occured since last clear</description>
-                  <value>1</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <!-- OV: Shows if an overflow occured -->
-            <field>
-              <name>OV</name>
-              <description>Shows if an overflow occured. This flag is sticky</description>
-              <bitRange>[10:10]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>No_Overflow</name>
-                  <description>No overflow occured since last clear</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Overflow_occured</name>
-                  <description>A minimum of one overflow occured since last clear</description>
-                  <value>1</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <!-- RST: Shows if Timer is in RESET state -->
-            <field>
-              <name>RST</name>
-              <description>Shows if Timer is in RESET state</description>
-              <bitRange>[12:12]</bitRange>
-              <access>read-only</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>Ready</name>
-                  <description>Timer is not in RESET state and can operate</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>In_Reset</name>
-                  <description>Timer is in RESET state and can not operate</description>
-                  <value>1</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <!-- RELOAD: Shows the currently active Reload Register -->
-            <field>
-              <name>RELOAD</name>
-              <description>Shows the currently active RELOAD Register</description>
-              <bitRange>[15:14]</bitRange>
-              <access>read-only</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>RELOAD0</name>
-                  <description>Reload Register number 0 is active</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>RELOAD1</name>
-                  <description>Reload Register number 1 is active</description>
-                  <value>1</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>RELOAD2</name>
-                  <description>Reload Register number 2 is active</description>
-                  <value>2</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>RELOAD3</name>
-                  <description>Reload Register number 3 is active</description>
-                  <value>3</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-          </fields>
-        </register>
-
-        <!-- INT: Interrupt Register -->
-        <register>
-          <name>INT</name>
-          <description>Interrupt Register</description>
-          <addressOffset>0x10</addressOffset>
-          <size>16</size>
-          <access>read-write</access>
-          <resetValue>0x00000000</resetValue>
-          <resetMask>0x0771</resetMask>
-
-          <fields>
-            <!-- EN: Interrupt Enable -->
-            <field>
-              <name>EN</name>
-              <description>Interrupt Enable</description>
-              <bitRange>[0:0]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>Disabled</name>
-                  <description>Timer does not generate Interrupts</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Enable</name>
-                  <description>Timer triggers the TIMERn Interrupt</description>
-                  <value>1</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-
-            <!-- MODE: Interrupt Mode -->
-            <field>
-              <name>MODE</name>
-              <description>Interrupt Mode, selects on which condition the Timer should generate an Interrupt</description>
-              <bitRange>[6:4]</bitRange>
-              <access>read-write</access>
-              <enumeratedValues>
-                <enumeratedValue>
-                  <name>Match</name>
-                  <description>Timer generates an Interrupt when the MATCH condition is hit</description>
-                  <value>0</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Underflow</name>
-                  <description>Timer generates an Interrupt when it underflows</description>
-                  <value>1</value>
-                </enumeratedValue>
-                <enumeratedValue>
-                  <name>Overflow</name>
-                  <description>Timer generates an Interrupt when it overflows</description>
-                  <value>2</value>
-                </enumeratedValue>
-              </enumeratedValues>
-            </field>
-          </fields>
-        </register>
-
-        <!-- COUNT: Counter Register -->
-        <register>
-          <name>COUNT</name>
-          <description>The Counter Register reflects the actual Value of the Timer/Counter</description>
-          <addressOffset>0x20</addressOffset>
-          <size>32</size>
-          <access>read-write</access>
-          <resetValue>0x00000000</resetValue>
-          <resetMask>0xFFFFFFFF</resetMask>
-        </register>
-
-        <!-- MATCH: Match Register -->
-        <register>
-          <name>MATCH</name>
-          <description>The Match Register stores the compare Value for the MATCH condition</description>
-          <addressOffset>0x24</addressOffset>
-          <size>32</size>
-          <access>read-write</access>
-          <resetValue>0x00000000</resetValue>
-          <resetMask>0xFFFFFFFF</resetMask>
-        </register>
-        
-        <!-- PRESCALE: Prescale Read Register -->
-        <register>
-          <name>PRESCALE_RD</name>
-          <description>The Prescale Register stores the Value for the prescaler. The cont event gets divided by this value</description>
-          <addressOffset>0x28</addressOffset>
-          <size>32</size>
-          <access>read-only</access>
-          <resetValue>0x00000000</resetValue>
-          <resetMask>0xFFFFFFFF</resetMask>
-        </register>
-        
-        <!-- PRESCALE: Prescale Write Register -->
-        <register>
-          <name>PRESCALE_WR</name>
-          <description>The Prescale Register stores the Value for the prescaler. The cont event gets divided by this value</description>
-          <addressOffset>0x28</addressOffset>
-          <size>32</size>
-          <access>write-only</access>
-          <resetValue>0x00000000</resetValue>
-          <resetMask>0xFFFFFFFF</resetMask>
-        </register>
-
-
-        <!-- RELOAD: Array of Reload Register with 4 elements-->
-        <register>
-          <dim>4</dim>
-          <dimIncrement>4</dimIncrement>
-          <dimIndex>0,1,2,3</dimIndex>
-          <name>RELOAD%s</name>
-          <description>The Reload Register stores the Value the COUNT Register gets reloaded on a when a condition was met.</description>
-          <addressOffset>0x50</addressOffset>
-          <size>32</size>
-          <access>read-write</access>
-          <resetValue>0x00000000</resetValue>
-          <resetMask>0xFFFFFFFF</resetMask>
-        </register>
-<!--
-<register>
-    <dim>6</dim> 
-    <dimIncrement>4</dimIncrement> 
-    <dimIndex>A,B,C,D,E,Z</dimIndex> 
-    <name>GPIO_%s_CTRL</name> 
-    <addressOffset>0x60</addressOffset>
-</register>
--->
-<register>
-    <dim>4</dim> 
-    <dimIncrement>4</dimIncrement> 
-    <dimIndex>3-6</dimIndex> 
-    <name>IRQ%s</name> 
-    <addressOffset>0x80</addressOffset>
-</register>
-
-<register>
-    <dim>4</dim> 
-    <dimIncrement>4</dimIncrement> 
-    <name>IRQA[%s]</name> 
-    <addressOffset>0x90</addressOffset>
-</register>
-
-<cluster>
-    <dim>4</dim>
-    <dimIncrement>8</dimIncrement>
-    <name>TX[%s]</name>
-    <description>Grouping of Transfer data and address</description>
-    <addressOffset>0x60</addressOffset>
-    <register>
-       <name>TX_DATA</name>
-       <addressOffset>0x0</addressOffset>
-    </register>
-    <register>
-        <name>TX_ADDR</name>
-        <addressOffset>0x4</addressOffset>
-    </register>
-</cluster>
-
-      </registers>
-    </peripheral>
-
-    <!-- Timer 1 -->
-    <peripheral derivedFrom="TIMER0">
-      <name>TIMER1</name>
-      <description>Peripheral TIMER1</description>
-      <baseAddress>0x40010100</baseAddress>
-      <interrupt>
-        <name>TIMER1</name>
-        <description>Interrupt TIMER1</description>
-        <value>4</value>
-      </interrupt>
-    </peripheral>
-
-    <!-- Timer 2 -->
-    <peripheral derivedFrom="TIMER0">
-      <name>TIMER2</name>
-      <baseAddress>0x40010200</baseAddress>
-      <interrupt>
-        <name>TIMER2</name>
-        <description>Interrupt TIMER2</description>
-        <value>6</value>
-      </interrupt>
-    </peripheral>
-  </peripherals>
-</device>