<?xml version="1.0" encoding="UTF-8"?>
<device schemaVersion="1.1" xmlns:xs="http://www.w3.org/2001/XMLSchema-instance" xs:noNamespaceSchemaLocation="CMSIS-SVD_Schema_1_1.xsd">
  <name>STM32H750</name>
  <version>2.7</version>
  <description>STM32H750</description>
  <cpu>
    <name>CM7</name>
    <revision>r0p1</revision>
    <endian>little</endian>
    <mpuPresent>true</mpuPresent>
    <fpuPresent>true</fpuPresent>
    <nvicPrioBits>4</nvicPrioBits>
    <vendorSystickConfig>false</vendorSystickConfig>
  </cpu>
  <addressUnitBits>8</addressUnitBits>
  <width>32</width>
  <size>0x20</size>
  <resetValue>0x00000000</resetValue>
  <resetMask>0xFFFFFFFF</resetMask>
  <peripherals>
    <peripheral>
      <name>COMP1</name>
      <description>COMP1</description>
      <groupName>COMP</groupName>
      <baseAddress>0x58003800</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>COMP</name>
        <description>COMP1 and COMP2</description>
        <value>137</value>
      </interrupt>
      <registers>
        <register>
          <name>COMP1_SR</name>
          <displayName>COMP1_SR</displayName>
          <description>Comparator status register</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>C1VAL</name>
              <description>COMP channel 1 output status
              bit</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>C2VAL</name>
              <description>COMP channel 2 output status
              bit</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>C1IF</name>
              <description>COMP channel 1 Interrupt
              Flag</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>C2IF</name>
              <description>COMP channel 2 Interrupt
              Flag</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>COMP1_ICFR</name>
          <displayName>COMP1_ICFR</displayName>
          <description>Comparator interrupt clear flag
          register</description>
          <addressOffset>0x4</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CC1IF</name>
              <description>Clear COMP channel 1 Interrupt
              Flag</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CC2IF</name>
              <description>Clear COMP channel 2 Interrupt
              Flag</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>COMP1_OR</name>
          <displayName>COMP1_OR</displayName>
          <description>Comparator option register</description>
          <addressOffset>0x8</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>AFOP</name>
              <description>Selection of source for alternate
              function of output ports</description>
              <bitOffset>0</bitOffset>
              <bitWidth>11</bitWidth>
            </field>
            <field>
              <name>OR</name>
              <description>Option Register</description>
              <bitOffset>11</bitOffset>
              <bitWidth>21</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>COMP1_CFGR1</name>
          <displayName>COMP1_CFGR1</displayName>
          <description>Comparator configuration register
          1</description>
          <addressOffset>0xC</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>EN</name>
              <description>COMP channel 1 enable bit</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>BRGEN</name>
              <description>Scaler bridge enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SCALEN</name>
              <description>Voltage scaler enable bit</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>POLARITY</name>
              <description>COMP channel 1 polarity selection
              bit</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ITEN</name>
              <description>COMP channel 1 interrupt
              enable</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>HYST</name>
              <description>COMP channel 1 hysteresis selection
              bits</description>
              <bitOffset>8</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>PWRMODE</name>
              <description>Power Mode of the COMP channel
              1</description>
              <bitOffset>12</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>INMSEL</name>
              <description>COMP channel 1 inverting input selection
              field</description>
              <bitOffset>16</bitOffset>
              <bitWidth>3</bitWidth>
            </field>
            <field>
              <name>INPSEL</name>
              <description>COMP channel 1 non-inverting input
              selection bit</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>BLANKING</name>
              <description>COMP channel 1 blanking source selection
              bits</description>
              <bitOffset>24</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>LOCK</name>
              <description>Lock bit</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>COMP1_CFGR2</name>
          <displayName>COMP1_CFGR2</displayName>
          <description>Comparator configuration register
          2</description>
          <addressOffset>0x10</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>EN</name>
              <description>COMP channel 1 enable bit</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>BRGEN</name>
              <description>Scaler bridge enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SCALEN</name>
              <description>Voltage scaler enable bit</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>POLARITY</name>
              <description>COMP channel 1 polarity selection
              bit</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>WINMODE</name>
              <description>Window comparator mode selection
              bit</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ITEN</name>
              <description>COMP channel 1 interrupt
              enable</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>HYST</name>
              <description>COMP channel 1 hysteresis selection
              bits</description>
              <bitOffset>8</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>PWRMODE</name>
              <description>Power Mode of the COMP channel
              1</description>
              <bitOffset>12</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>INMSEL</name>
              <description>COMP channel 1 inverting input selection
              field</description>
              <bitOffset>16</bitOffset>
              <bitWidth>3</bitWidth>
            </field>
            <field>
              <name>INPSEL</name>
              <description>COMP channel 1 non-inverting input
              selection bit</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>BLANKING</name>
              <description>COMP channel 1 blanking source selection
              bits</description>
              <bitOffset>24</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>LOCK</name>
              <description>Lock bit</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>CRS</name>
      <description>CRS</description>
      <groupName>CRS</groupName>
      <baseAddress>0x40008400</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>CRS</name>
        <description>Clock Recovery System globa</description>
        <value>144</value>
      </interrupt>
      <registers>
        <register>
          <name>CR</name>
          <displayName>CR</displayName>
          <description>CRS control register</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <resetValue>0x00002000</resetValue>
          <fields>
            <field>
              <name>SYNCOKIE</name>
              <description>SYNC event OK interrupt
              enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>SYNCOKIE</name>
                <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>
            </field>
            <field>
              <name>SYNCWARNIE</name>
              <description>SYNC warning interrupt
              enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="SYNCOKIE"/>
            </field>
            <field>
              <name>ERRIE</name>
              <description>Synchronization or trimming error
              interrupt enable</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="SYNCOKIE"/>
            </field>
            <field>
              <name>ESYNCIE</name>
              <description>Expected SYNC interrupt
              enable</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="SYNCOKIE"/>
            </field>
            <field>
              <name>CEN</name>
              <description>Frequency error counter enable This bit
              enables the oscillator clock for the frequency error
              counter. When this bit is set, the CRS_CFGR register
              is write-protected and cannot be
              modified.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>CEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Frequency error counter disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Frequency error counter enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>AUTOTRIMEN</name>
              <description>Automatic trimming enable This bit
              enables the automatic hardware adjustment of TRIM
              bits according to the measured frequency error
              between two SYNC events. If this bit is set, the TRIM
              bits are read-only. The TRIM value can be adjusted by
              hardware by one or two steps at a time, depending on
              the measured frequency error value. Refer to
              Section7.3.4: Frequency error evaluation and
              automatic trimming for more details.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>AUTOTRIMEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Automatic trimming disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Automatic trimming enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SWSYNC</name>
              <description>Generate software SYNC event This bit is
              set by software in order to generate a software SYNC
              event. It is automatically cleared by
              hardware.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>SWSYNC</name>
                <enumeratedValue>
                  <name>Sync</name>
                  <description>A software sync is generated</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TRIM</name>
              <description>HSI48 oscillator smooth trimming These
              bits provide a user-programmable trimming value to
              the HSI48 oscillator. They can be programmed to
              adjust to variations in voltage and temperature that
              influence the frequency of the HSI48. The default
              value is 32, which corresponds to the middle of the
              trimming interval. The trimming step is around 67 kHz
              between two consecutive TRIM steps. A higher TRIM
              value corresponds to a higher output frequency. When
              the AUTOTRIMEN bit is set, this field is controlled
              by hardware and is read-only.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>6</bitWidth>
              <access>read-write</access>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>63</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>CFGR</name>
          <displayName>CFGR</displayName>
          <description>This register can be written only when the
          frequency error counter is disabled (CEN bit is cleared
          in CRS_CR). When the counter is enabled, this register is
          write-protected.</description>
          <addressOffset>0x4</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x2022BB7F</resetValue>
          <fields>
            <field>
              <name>RELOAD</name>
              <description>Counter reload value RELOAD is the value
              to be loaded in the frequency error counter with each
              SYNC event. Refer to Section7.3.3: Frequency error
              measurement for more details about counter
              behavior.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>FELIM</name>
              <description>Frequency error limit FELIM contains the
              value to be used to evaluate the captured frequency
              error value latched in the FECAP[15:0] bits of the
              CRS_ISR register. Refer to Section7.3.4: Frequency
              error evaluation and automatic trimming for more
              details about FECAP evaluation.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>SYNCDIV</name>
              <description>SYNC divider These bits are set and
              cleared by software to control the division factor of
              the SYNC signal.</description>
              <bitOffset>24</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>SYNCDIV</name>
                <enumeratedValue>
                  <name>Div1</name>
                  <description>SYNC not divided</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div2</name>
                  <description>SYNC divided by 2</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div4</name>
                  <description>SYNC divided by 4</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div8</name>
                  <description>SYNC divided by 8</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div16</name>
                  <description>SYNC divided by 16</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div32</name>
                  <description>SYNC divided by 32</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div64</name>
                  <description>SYNC divided by 64</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div128</name>
                  <description>SYNC divided by 128</description>
                  <value>7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SYNCSRC</name>
              <description>SYNC signal source selection These bits
              are set and cleared by software to select the SYNC
              signal source. Note: When using USB LPM (Link Power
              Management) and the device is in Sleep mode, the
              periodic USB SOF will not be generated by the host.
              No SYNC signal will therefore be provided to the CRS
              to calibrate the HSI48 on the run. To guarantee the
              required clock precision after waking up from Sleep
              mode, the LSE or reference clock on the GPIOs should
              be used as SYNC signal.</description>
              <bitOffset>28</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>SYNCSRC</name>
                <enumeratedValue>
                  <name>GPIO_AF</name>
                  <description>GPIO AF (crs_sync_in_1) selected as SYNC signal source</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LSE</name>
                  <description>LSE (crs_sync_in_2) selected as SYNC signal source</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>USB_SOF</name>
                  <description>USB SOF (crs_sync_in_3) selected as SYNC signal source</description>
                  <value>2</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SYNCPOL</name>
              <description>SYNC polarity selection This bit is set
              and cleared by software to select the input polarity
              for the SYNC signal source.</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SYNCPOL</name>
                <enumeratedValue>
                  <name>RisingEdge</name>
                  <description>SYNC active on rising edge</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FallingEdge</name>
                  <description>SYNC active on falling edge</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>ISR</name>
          <displayName>ISR</displayName>
          <description>CRS interrupt and status
          register</description>
          <addressOffset>0x8</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>SYNCOKF</name>
              <description>SYNC event OK flag This flag is set by
              hardware when the measured frequency error is smaller
              than FELIM * 3. This means that either no adjustment
              of the TRIM value is needed or that an adjustment by
              one trimming step is enough to compensate the
              frequency error. An interrupt is generated if the
              SYNCOKIE bit is set in the CRS_CR register. It is
              cleared by software by setting the SYNCOKC bit in the
              CRS_ICR register.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SYNCOKF</name>
                <enumeratedValue>
                  <name>NotSignaled</name>
                  <description>Signal not set</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Signaled</name>
                  <description>Signal set</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SYNCWARNF</name>
              <description>SYNC warning flag This flag is set by
              hardware when the measured frequency error is greater
              than or equal to FELIM * 3, but smaller than FELIM *
              128. This means that to compensate the frequency
              error, the TRIM value must be adjusted by two steps
              or more. An interrupt is generated if the SYNCWARNIE
              bit is set in the CRS_CR register. It is cleared by
              software by setting the SYNCWARNC bit in the CRS_ICR
              register.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SYNCOKF"/>
            </field>
            <field>
              <name>ERRF</name>
              <description>Error flag This flag is set by hardware
              in case of any synchronization or trimming error. It
              is the logical OR of the TRIMOVF, SYNCMISS and
              SYNCERR bits. An interrupt is generated if the ERRIE
              bit is set in the CRS_CR register. It is cleared by
              software in reaction to setting the ERRC bit in the
              CRS_ICR register, which clears the TRIMOVF, SYNCMISS
              and SYNCERR bits.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SYNCOKF"/>
            </field>
            <field>
              <name>ESYNCF</name>
              <description>Expected SYNC flag This flag is set by
              hardware when the frequency error counter reached a
              zero value. An interrupt is generated if the ESYNCIE
              bit is set in the CRS_CR register. It is cleared by
              software by setting the ESYNCC bit in the CRS_ICR
              register.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SYNCOKF"/>
            </field>
            <field>
              <name>SYNCERR</name>
              <description>SYNC error This flag is set by hardware
              when the SYNC pulse arrives before the ESYNC event
              and the measured frequency error is greater than or
              equal to FELIM * 128. This means that the frequency
              error is too big (internal frequency too low) to be
              compensated by adjusting the TRIM value, and that
              some other action should be taken. An interrupt is
              generated if the ERRIE bit is set in the CRS_CR
              register. It is cleared by software by setting the
              ERRC bit in the CRS_ICR register.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SYNCOKF"/>
            </field>
            <field>
              <name>SYNCMISS</name>
              <description>SYNC missed This flag is set by hardware
              when the frequency error counter reached value FELIM
              * 128 and no SYNC was detected, meaning either that a
              SYNC pulse was missed or that the frequency error is
              too big (internal frequency too high) to be
              compensated by adjusting the TRIM value, and that
              some other action should be taken. At this point, the
              frequency error counter is stopped (waiting for a
              next SYNC) and an interrupt is generated if the ERRIE
              bit is set in the CRS_CR register. It is cleared by
              software by setting the ERRC bit in the CRS_ICR
              register.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SYNCOKF"/>
            </field>
            <field>
              <name>TRIMOVF</name>
              <description>Trimming overflow or underflow This flag
              is set by hardware when the automatic trimming tries
              to over- or under-flow the TRIM value. An interrupt
              is generated if the ERRIE bit is set in the CRS_CR
              register. It is cleared by software by setting the
              ERRC bit in the CRS_ICR register.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SYNCOKF"/>
            </field>
            <field>
              <name>FEDIR</name>
              <description>Frequency error direction FEDIR is the
              counting direction of the frequency error counter
              latched in the time of the last SYNC event. It shows
              whether the actual frequency is below or above the
              target.</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>FEDIR</name>
                <enumeratedValue>
                  <name>UpCounting</name>
                  <description>Error in up-counting direction</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DownCounting</name>
                  <description>Error in down-counting direction</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FECAP</name>
              <description>Frequency error capture FECAP is the
              frequency error counter value latched in the time of
              the last SYNC event. Refer to Section7.3.4: Frequency
              error evaluation and automatic trimming for more
              details about FECAP usage.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>16</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>ICR</name>
          <displayName>ICR</displayName>
          <description>CRS interrupt flag clear
          register</description>
          <addressOffset>0xC</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>SYNCOKC</name>
              <description>SYNC event OK clear flag Writing 1 to
              this bit clears the SYNCOKF flag in the CRS_ISR
              register.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SYNCOKC</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SYNCWARNC</name>
              <description>SYNC warning clear flag Writing 1 to
              this bit clears the SYNCWARNF flag in the CRS_ISR
              register.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SYNCOKC"/>
            </field>
            <field>
              <name>ERRC</name>
              <description>Error clear flag Writing 1 to this bit
              clears TRIMOVF, SYNCMISS and SYNCERR bits and
              consequently also the ERRF flag in the CRS_ISR
              register.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SYNCOKC"/>
            </field>
            <field>
              <name>ESYNCC</name>
              <description>Expected SYNC clear flag Writing 1 to
              this bit clears the ESYNCF flag in the CRS_ISR
              register.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SYNCOKC"/>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>DAC</name>
      <description>DAC</description>
      <groupName>DAC</groupName>
      <baseAddress>0x40007400</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <registers>
        <register>
          <name>CR</name>
          <displayName>CR</displayName>
          <description>DAC control register</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>2</dim>
              <dimIncrement>0x10</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>EN%s</name>
              <description>DAC channel%s enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>EN1</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>DAC Channel X disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>DAC Channel X enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>2</dim>
              <dimIncrement>0x10</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>TEN%s</name>
              <description>DAC channel%s trigger enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TEN1</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>DAC Channel X trigger disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>DAC Channel X trigger enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TSEL1</name>
              <description>DAC channel1 trigger selection These
              bits select the external event used to trigger DAC
              channel1. Note: Only used if bit TEN1 = 1 (DAC
              channel1 trigger enabled).</description>
              <bitOffset>2</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues>
                <name>TSEL1</name>
                <enumeratedValue>
                  <name>Swtrig</name>
                  <description>Software trigger</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Tim1Trgo</name>
                  <description>Timer 1 TRGO event</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Tim2Trgo</name>
                  <description>Timer 2 TRGO event</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Tim4Trgo</name>
                  <description>Timer 4 TRGO event</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Tim5Trgo</name>
                  <description>Timer 5 TRGO event</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Tim6Trgo</name>
                  <description>Timer 6 TRGO event</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Tim7Trgo</name>
                  <description>Timer 7 TRGO event</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Tim8Trgo</name>
                  <description>Timer 8 TRGO event</description>
                  <value>7</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Tim15Trgo</name>
                  <description>Timer 15 TRGO event</description>
                  <value>8</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Hrtim1Dac1</name>
                  <description>hrtim1_dactrg1</description>
                  <value>9</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Hrtim1Dac2</name>
                  <description>hrtim1_dactrg2</description>
                  <value>10</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Lptim1Out</name>
                  <description>LPTIM1 OUT event</description>
                  <value>11</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Lptim2Out</name>
                  <description>LPTIM2 OUT event</description>
                  <value>12</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Exti9</name>
                  <description>EXTI line 9</description>
                  <value>13</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>2</dim>
              <dimIncrement>0x10</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>WAVE%s</name>
              <description>DAC channel%s noise/triangle wave generation enable</description>
              <bitOffset>6</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>WAVE1</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Wave generation disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Noise</name>
                  <description>Noise wave generation enabled</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Triangle</name>
                  <description>Triangle wave generation enabled</description>
                  <isDefault>true</isDefault>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>2</dim>
              <dimIncrement>0x10</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>MAMP%s</name>
              <description>DAC channel%s mask/amplitude selector</description>
              <bitOffset>8</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues>
                <name>MAMP1</name>
                <enumeratedValue>
                  <name>Amp1</name>
                  <description>Unmask bit0 of LFSR/ triangle amplitude equal to 1</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Amp3</name>
                  <description>Unmask bits[1:0] of LFSR/ triangle amplitude equal to 3</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Amp7</name>
                  <description>Unmask bits[2:0] of LFSR/ triangle amplitude equal to 7</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Amp15</name>
                  <description>Unmask bits[3:0] of LFSR/ triangle amplitude equal to 15</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Amp31</name>
                  <description>Unmask bits[4:0] of LFSR/ triangle amplitude equal to 31</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Amp63</name>
                  <description>Unmask bits[5:0] of LFSR/ triangle amplitude equal 63</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Amp127</name>
                  <description>Unmask bits[6:0] of LFSR/ triangle amplitude equal to 127</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Amp255</name>
                  <description>Unmask bits[7:0] of LFSR/ triangle amplitude equal to 255</description>
                  <value>7</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Amp511</name>
                  <description>Unmask bits[8:0] of LFSR/ triangle amplitude equal to 511</description>
                  <value>8</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Amp1023</name>
                  <description>Unmask bits[9:0] of LFSR/ triangle amplitude equal to 1023</description>
                  <value>9</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Amp2047</name>
                  <description>Unmask bits[10:0] of LFSR/ triangle amplitude equal to 2047</description>
                  <value>10</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Amp4095</name>
                  <description>Unmask bits[11:0] of LFSR/ triangle amplitude equal to 4095</description>
                  <isDefault>true</isDefault>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>2</dim>
              <dimIncrement>0x10</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>DMAEN%s</name>
              <description>DAC channel%s DMA enable</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DMAEN1</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>DAC Channel X DMA mode disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>DAC Channel X DMA mode enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>2</dim>
              <dimIncrement>0x10</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>DMAUDRIE%s</name>
              <description>DAC channel%s DMA Underrun Interrupt enable</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DMAUDRIE1</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>DAC channel X DMA Underrun Interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>DAC channel X DMA Underrun Interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>2</dim>
              <dimIncrement>0x10</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>CEN%s</name>
              <description>DAC channel%s calibration enable</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CEN1</name>
                <enumeratedValue>
                  <name>Normal</name>
                  <description>DAC Channel X Normal operating mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Calibration</name>
                  <description>DAC Channel X calibration mode</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TSEL2</name>
              <description>DAC channel2 trigger selection These
              bits select the external event used to trigger DAC
              channel2 Note: Only used if bit TEN2 = 1 (DAC
              channel2 trigger enabled).</description>
              <bitOffset>18</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues derivedFrom="TSEL1"/>
            </field>
          </fields>
        </register>
        <register>
          <name>SWTRGR</name>
          <displayName>SWTRGR</displayName>
          <description>DAC software trigger register</description>
          <addressOffset>0x4</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>2</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>SWTRIG%s</name>
              <description>DAC channel%s software trigger</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SWTRIG1</name>
                <enumeratedValue>
                  <name>NoTrigger</name>
                  <description>No trigger</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Trigger</name>
                  <description>Trigger</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <dim>2</dim>
          <dimIncrement>0xC</dimIncrement>
          <dimIndex>1-2</dimIndex>
          <name>DHR12R%s</name>
          <displayName>DHR12R%s</displayName>
          <description>channel%s 12-bit right-aligned data holding register</description>
          <addressOffset>0x8</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DACCDHR</name>
              <description>DAC channel1 12-bit right-aligned data
              These bits are written by software which specifies
              12-bit data for DAC channel1.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>12</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4095</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <dim>2</dim>
          <dimIncrement>0xC</dimIncrement>
          <dimIndex>1-2</dimIndex>
          <name>DHR12L%s</name>
          <displayName>DHR12L%s</displayName>
          <description>channel%s 12-bit left aligned data holding register</description>
          <addressOffset>0xC</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DACCDHR</name>
              <description>DAC channel1 12-bit left-aligned data
              These bits are written by software which specifies
              12-bit data for DAC channel1.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>12</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4095</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <dim>2</dim>
          <dimIncrement>0xC</dimIncrement>
          <dimIndex>1-2</dimIndex>
          <name>DHR8R%s</name>
          <displayName>DHR8R%s</displayName>
          <description>channel%s 8-bit right aligned data holding register</description>
          <addressOffset>0x10</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DACCDHR</name>
              <description>DAC channel1 8-bit right-aligned data
              These bits are written by software which specifies
              8-bit data for DAC channel1.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>DHR12RD</name>
          <displayName>DHR12RD</displayName>
          <description>Dual DAC 12-bit right-aligned data holding
          register</description>
          <addressOffset>0x20</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>2</dim>
              <dimIncrement>0x10</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>DACC%sDHR</name>
              <description>DAC channel%s 12-bit right-aligned data</description>
              <bitOffset>0</bitOffset>
              <bitWidth>12</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4095</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>DHR12LD</name>
          <displayName>DHR12LD</displayName>
          <description>DUAL DAC 12-bit left aligned data holding
          register</description>
          <addressOffset>0x24</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>2</dim>
              <dimIncrement>0x10</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>DACC%sDHR</name>
              <description>DAC channel%s 12-bit left-aligned data</description>
              <bitOffset>4</bitOffset>
              <bitWidth>12</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4095</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>DHR8RD</name>
          <displayName>DHR8RD</displayName>
          <description>DUAL DAC 8-bit right aligned data holding
          register</description>
          <addressOffset>0x28</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>2</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>DACC%sDHR</name>
              <description>DAC channel%s 8-bit right-aligned data</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <dim>2</dim>
          <dimIncrement>0x4</dimIncrement>
          <dimIndex>1-2</dimIndex>
          <name>DOR%s</name>
          <displayName>DOR%s</displayName>
          <description>channel%s data output register</description>
          <addressOffset>0x2C</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DACCDOR</name>
              <description>DAC channel1 data output These bits are
              read-only, they contain data output for DAC
              channel1.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>12</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4095</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>SR</name>
          <displayName>SR</displayName>
          <description>DAC status register</description>
          <addressOffset>0x34</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>2</dim>
              <dimIncrement>0x10</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>DMAUDR%s</name>
              <description>DAC channel%s DMA underrun flag</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>DMAUDR1</name>
                <enumeratedValue>
                  <name>NoUnderrun</name>
                  <description>No DMA underrun error condition occurred for DAC channel x</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Underrun</name>
                  <description>DMA underrun error condition occurred for DAC channel x (the currently selected trigger is driving DAC channel1 conversion at a frequency higher than the DMA service capability rate)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>2</dim>
              <dimIncrement>0x10</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>CAL_FLAG%s</name>
              <description>DAC channel%s calibration offset status</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>CAL_FLAG1</name>
                <enumeratedValue>
                  <name>Lower</name>
                  <description>Calibration trimming value is lower than the offset correction value</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Equal_Higher</name>
                  <description>Calibration trimming value is equal or greater than the offset correction value</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>2</dim>
              <dimIncrement>0x10</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>BWST%s</name>
              <description>DAC channel%s busy writing sample time flag</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>BWST1</name>
                <enumeratedValue>
                  <name>Idle</name>
                  <description>There is no write operation of DAC_SHSR1 ongoing: DAC_SHSR1 can be written</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Busy</name>
                  <description>There is a write operation of DAC_SHSR1 ongoing: DAC_SHSR1 cannot be written</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CCR</name>
          <displayName>CCR</displayName>
          <description>DAC calibration control
          register</description>
          <addressOffset>0x38</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>2</dim>
              <dimIncrement>0x10</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>OTRIM%s</name>
              <description>DAC channel%s offset trimming value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>5</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>31</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>MCR</name>
          <displayName>MCR</displayName>
          <description>DAC mode control register</description>
          <addressOffset>0x3C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>2</dim>
              <dimIncrement>0x10</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>MODE%s</name>
              <description>DAC channel%s mode</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>MODE1</name>
                <enumeratedValue>
                  <name>NormalPinBuffer</name>
                  <description>Normal mode - DAC channelx is connected to external pin with Buffer enabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>NormalPinChipBuffer</name>
                  <description>Normal mode - DAC channelx is connected to external pin and to on chip peripherals with Buffer enabled</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>NormalPinNoBuffer</name>
                  <description>Normal mode - DAC channelx is connected to external pin with Buffer disabled</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>NormalChipNoBuffer</name>
                  <description>Normal mode - DAC channelx is connected to on chip peripherals with Buffer disabled</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SHPinBuffer</name>
                  <description>S&amp;H mode - DAC channelx is connected to external pin with Buffer enabled</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SHPinChipBuffer</name>
                  <description>S&amp;H mode - DAC channelx is connected to external pin and to on chip peripherals with Buffer enabled</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SHPinNoBuffer</name>
                  <description>S&amp;H mode - DAC channelx is connected to external pin and to on chip peripherals with Buffer disabled</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SHChipNoBuffer</name>
                  <description>S&amp;H mode - DAC channelx is connected to on chip peripherals with Buffer disabled</description>
                  <value>7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <dim>2</dim>
          <dimIncrement>0x4</dimIncrement>
          <dimIndex>1-2</dimIndex>
          <name>SHSR%s</name>
          <displayName>SHSR%s</displayName>
          <description>DAC channel%s sample and hold sample time register</description>
          <addressOffset>0x40</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TSAMPLE</name>
              <description>DAC Channel 1 sample Time (only valid in
              sample &amp;amp; hold mode) These bits can be written
              when the DAC channel1 is disabled or also during
              normal operation. in the latter case, the write can
              be done only when BWSTx of DAC_SR register is low, If
              BWSTx=1, the write operation is
              ignored.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>10</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>1023</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>SHHR</name>
          <displayName>SHHR</displayName>
          <description>DAC Sample and Hold hold time
          register</description>
          <addressOffset>0x48</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00010001</resetValue>
          <fields>
            <field>
              <dim>2</dim>
              <dimIncrement>0x10</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>THOLD%s</name>
              <description>DAC channel%s hold time (only valid in Sample and hold mode)</description>
              <bitOffset>0</bitOffset>
              <bitWidth>10</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>1023</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>SHRR</name>
          <displayName>SHRR</displayName>
          <description>DAC Sample and Hold refresh time
          register</description>
          <addressOffset>0x4C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00010001</resetValue>
          <fields>
            <field>
              <dim>2</dim>
              <dimIncrement>0x10</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>TREFRESH%s</name>
              <description>DAC channel%s refresh time (only valid in Sample and hold mode)</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>BDMA</name>
      <description>BDMA</description>
      <groupName>BDMA</groupName>
      <baseAddress>0x58025400</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>BDMA_CH0</name>
        <description>BDMA channel 0 interrupt</description>
        <value>129</value>
      </interrupt>
      <interrupt>
        <name>BDMA_CH1</name>
        <description>BDMA channel 1 interrupt</description>
        <value>130</value>
      </interrupt>
      <interrupt>
        <name>BDMA_CH2</name>
        <description>BDMA channel 2 interrupt</description>
        <value>131</value>
      </interrupt>
      <interrupt>
        <name>BDMA_CH3</name>
        <description>BDMA channel 3 interrupt</description>
        <value>132</value>
      </interrupt>
      <interrupt>
        <name>BDMA_CH4</name>
        <description>BDMA channel 4 interrupt</description>
        <value>133</value>
      </interrupt>
      <interrupt>
        <name>BDMA_CH5</name>
        <description>BDMA channel 5 interrupt</description>
        <value>134</value>
      </interrupt>
      <interrupt>
        <name>BDMA_CH6</name>
        <description>BDMA channel 6 interrupt</description>
        <value>135</value>
      </interrupt>
      <interrupt>
        <name>BDMA_CH7</name>
        <description>BDMA channel 7 interrupt</description>
        <value>136</value>
      </interrupt>
      <registers>
        <register>
          <name>ISR</name>
          <displayName>ISR</displayName>
          <description>BDMA interrupt status register</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <dim>8</dim>
              <dimIncrement>0x4</dimIncrement>
              <dimIndex>0-7</dimIndex>
              <name>GIF%s</name>
              <description>Channel %s Global interrupt flag</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>GIF0</name>
                <enumeratedValue>
                  <name>NoEvent</name>
                  <description>No TE, HT or TC event on channel x</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Event</name>
                  <description>A TE, HT or TC event occurred on channel x</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>8</dim>
              <dimIncrement>0x4</dimIncrement>
              <dimIndex>0-7</dimIndex>
              <name>TCIF%s</name>
              <description>Channel %s Transfer Complete flag</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>TCIF0</name>
                <enumeratedValue>
                  <name>NotComplete</name>
                  <description>No transfer complete event on channel x</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Complete</name>
                  <description>A transfer complete event occurred on channel x</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>8</dim>
              <dimIncrement>0x4</dimIncrement>
              <dimIndex>0-7</dimIndex>
              <name>HTIF%s</name>
              <description>Channel %s Half Transfer Complete flag</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>HTIF0</name>
                <enumeratedValue>
                  <name>NotHalf</name>
                  <description>No half transfer event on channel x</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Half</name>
                  <description>A half transfer event occurred on channel x</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>8</dim>
              <dimIncrement>0x4</dimIncrement>
              <dimIndex>0-7</dimIndex>
              <name>TEIF%s</name>
              <description>Channel %s Transfer Error flag</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>TEIF0</name>
                <enumeratedValue>
                  <name>NoError</name>
                  <description>No transfer error on channel x</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Error</name>
                  <description>A transfer error occurred on channel x</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>IFCR</name>
          <displayName>IFCR</displayName>
          <description>BDMA interrupt flag clear register</description>
          <addressOffset>0x4</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <dim>8</dim>
              <dimIncrement>0x4</dimIncrement>
              <dimIndex>0-7</dimIndex>
              <name>CGIF%s</name>
              <description>Channel %s Global interrupt clear</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
              <enumeratedValues>
                <name>CGIF0</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear the corresponding CGIFx flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>8</dim>
              <dimIncrement>0x4</dimIncrement>
              <dimIndex>0-7</dimIndex>
              <name>CTCIF%s</name>
              <description>Channel %s Transfer Complete clear</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
              <enumeratedValues>
                <name>CTCIF0</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear the corresponding TCIFx flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>8</dim>
              <dimIncrement>0x4</dimIncrement>
              <dimIndex>0-7</dimIndex>
              <name>CHTIF%s</name>
              <description>Channel %s Half Transfer clear</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
              <enumeratedValues>
                <name>CHTIF0</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear the corresponding HTIFx flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>8</dim>
              <dimIncrement>0x4</dimIncrement>
              <dimIndex>0-7</dimIndex>
              <name>CTEIF%s</name>
              <description>Channel %s Transfer Error clear</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
              <enumeratedValues>
                <name>CTEIF0</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear the corresponding TEIFx flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <cluster>
          <dim>8</dim>
          <dimIncrement>0x14</dimIncrement>
          <dimIndex>0-7</dimIndex>
          <name>CH%s</name>
          <description>Channel cluster: CCR?, CNDTR?, CPAR?, CM0AR? and CM1AR? registers</description>
          <addressOffset>0x8</addressOffset>
          <register>
            <name>CR</name>
            <displayName>CCR0</displayName>
            <description>BDMA channel 0 configuration register</description>
            <addressOffset>0x0</addressOffset>
            <size>0x20</size>
            <resetValue>0x00000000</resetValue>
            <resetMask>0xFFFFFFFF</resetMask>
            <fields>
              <field>
                <name>EN</name>
                <description>channel enable
When a channel transfer error occurs, this bit is cleared by hardware. It can not be set again by software (channel x re-activated) until the TEIFx bit of the BDMA_ISR register is cleared (by setting the CTEIFx bit of the BDMA_IFCR register).
Note: this bit is set and cleared by software.</description>
                <bitOffset>0</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
                <enumeratedValues>
                  <name>EN</name>
                  <enumeratedValue>
                    <name>Disabled</name>
                    <description>Channel disabled</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Enabled</name>
                    <description>Channel enabled</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>TCIE</name>
                <description>transfer complete interrupt enable
Note: this bit is set and cleared by software.
It must not be written when the channel is enabled (EN = 1).
It is not read-only when the channel is enabled (EN = 1).</description>
                <bitOffset>1</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
                <enumeratedValues>
                  <name>TCIE</name>
                  <enumeratedValue>
                    <name>Disabled</name>
                    <description>TC interrupt disabled</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Enabled</name>
                    <description>TC interrupt enabled</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>HTIE</name>
                <description>half transfer interrupt enable
Note: this bit is set and cleared by software.
It must not be written when the channel is enabled (EN = 1).
It is not read-only when the channel is enabled (EN = 1).</description>
                <bitOffset>2</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
                <enumeratedValues>
                  <name>HTIE</name>
                  <enumeratedValue>
                    <name>Disabled</name>
                    <description>HT interrupt disabled</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Enabled</name>
                    <description>HT interrupt enabled</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>TEIE</name>
                <description>transfer error interrupt enable
Note: this bit is set and cleared by software.
It must not be written when the channel is enabled (EN = 1).
It is not read-only when the channel is enabled (EN = 1).</description>
                <bitOffset>3</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
                <enumeratedValues>
                  <name>TEIE</name>
                  <enumeratedValue>
                    <name>Disabled</name>
                    <description>TE interrupt disabled</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Enabled</name>
                    <description>TE interrupt enabled</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>DIR</name>
                <description>data transfer direction
This bit must be set only in memory-to-peripheral and peripheral-to-memory modes.
Source attributes are defined by PSIZE and PINC, plus the BDMA_CPARx register. This is still valid in a memory-to-memory mode.
Destination attributes are defined by MSIZE and MINC, plus the BDMA_CM0/1ARx register. This is still valid in a peripheral-to-peripheral mode.
Destination attributes are defined by PSIZE and PINC, plus the BDMA_CPARx register. This is still valid in a memory-to-memory mode.
Source attributes are defined by MSIZE and MINC, plus the BDMA_CM0/1ARx register. This is still valid in a peripheral-to-peripheral mode.
Note: this bit is set and cleared by software.
It must not be written when the channel is enabled (EN = 1).
It is read-only when the channel is enabled (EN = 1).</description>
                <bitOffset>4</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
                <enumeratedValues>
                  <name>DIR</name>
                  <enumeratedValue>
                    <name>PeripheralToMemory</name>
                    <description>Peripheral-to-memory</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>MemoryToPeripheral</name>
                    <description>Memory-to-peripheral</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>CIRC</name>
                <description>circular mode
Note: this bit is set and cleared by software.
It must not be written when the channel is enabled (EN = 1).
It is not read-only when the channel is enabled (EN = 1).</description>
                <bitOffset>5</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
                <enumeratedValues>
                  <name>CIRC</name>
                  <enumeratedValue>
                    <name>Disabled</name>
                    <description>Circular mode disabled</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Enabled</name>
                    <description>Circular mode enabled</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>PINC</name>
                <description>peripheral increment mode
Defines the increment mode for each DMA transfer to the identified peripheral.
n memory-to-memory mode, this field identifies the memory destination if DIR = 1 and the memory source if DIR = 0.
In peripheral-to-peripheral mode, this field identifies the peripheral destination if DIR = 1 and the peripheral source if DIR = 0.
Note: this bit is set and cleared by software.
It must not be written when the channel is enabled (EN = 1).
It is read-only when the channel is enabled (EN = 1).</description>
                <bitOffset>6</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
                <enumeratedValues>
                  <name>PINC</name>
                  <enumeratedValue>
                    <name>Fixed</name>
                    <description>Address pointer is fixed</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Incremented</name>
                    <description>Address pointer is incremented after each data transfer</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>MINC</name>
                <description>memory increment mode
Defines the increment mode for each DMA transfer to the identified memory.
In memory-to-memory mode, this field identifies the memory source if DIR = 1 and the memory destination if DIR = 0.
In peripheral-to-peripheral mode, this field identifies the peripheral source if DIR = 1 and the peripheral destination if DIR = 0.
Note: this bit is set and cleared by software.
It must not be written when the channel is enabled (EN = 1).
It is read-only when the channel is enabled (EN = 1).</description>
                <bitOffset>7</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
                <enumeratedValues derivedFrom="PINC"/>
              </field>
              <field>
                <name>PSIZE</name>
                <description>peripheral size
Defines the data size of each DMA transfer to the identified peripheral.
In memory-to-memory mode, this field identifies the memory destination if DIR = 1 and the memory source if DIR = 0.
In peripheral-to-peripheral mode, this field identifies the peripheral destination if DIR = 1 and the peripheral source if DIR = 0.
Note: this field is set and cleared by software.
It must not be written when the channel is enabled (EN = 1).
It is read-only when the channel is enabled (EN = 1).</description>
                <bitOffset>8</bitOffset>
                <bitWidth>2</bitWidth>
                <access>read-write</access>
                <enumeratedValues>
                  <name>PSIZE</name>
                  <enumeratedValue>
                    <name>Bits8</name>
                    <description>Byte (8-bit)</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Bits16</name>
                    <description>Half-word (16-bit)</description>
                    <value>1</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Bits32</name>
                    <description>Word (32-bit)</description>
                    <value>2</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>MSIZE</name>
                <description>memory size
Defines the data size of each DMA transfer to the identified memory.
In memory-to-memory mode, this field identifies the memory source if DIR = 1 and the memory destination if DIR = 0.
In peripheral-to-peripheral mode, this field identifies the peripheral source if DIR = 1 and the peripheral destination if DIR = 0.
Note: this field is set and cleared by software.
It must not be written when the channel is enabled (EN = 1).
It is read-only when the channel is enabled (EN = 1).</description>
                <bitOffset>10</bitOffset>
                <bitWidth>2</bitWidth>
                <access>read-write</access>
                <enumeratedValues derivedFrom="PSIZE"/>
              </field>
              <field>
                <name>PL</name>
                <description>priority level
Note: this field is set and cleared by software.
It must not be written when the channel is enabled (EN = 1).
It is read-only when the channel is enabled (EN = 1).</description>
                <bitOffset>12</bitOffset>
                <bitWidth>2</bitWidth>
                <access>read-write</access>
                <enumeratedValues>
                  <name>PL</name>
                  <enumeratedValue>
                    <name>Low</name>
                    <description>Low</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Medium</name>
                    <description>Medium</description>
                    <value>1</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>High</name>
                    <description>High</description>
                    <value>2</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>VeryHigh</name>
                    <description>Very high</description>
                    <value>3</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>MEM2MEM</name>
                <description>memory-to-memory mode
Note: this bit is set and cleared by software.
It must not be written when the channel is enabled (EN = 1).
It is read-only when the channel is enabled (EN = 1).</description>
                <bitOffset>14</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
                <enumeratedValues>
                  <name>MEM2MEM</name>
                  <enumeratedValue>
                    <name>Disabled</name>
                    <description>Memory-to-memory mode disabled</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Enabled</name>
                    <description>Memory-to-memory mode enabled</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>DBM</name>
                <description>double-buffer mode
This bit must be set only in memory-to-peripheral and peripheral-to-memory transfers (MEM2MEM=0). The CIRC bit must also be set in double buffer mode.
Note: this bit is set and cleared by software.
It must not be written when the channel is enabled (EN = 1).
It is not read-only when the channel is enabled (EN = 1).</description>
                <bitOffset>15</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
                <enumeratedValues>
                  <name>DBM</name>
                  <enumeratedValue>
                    <name>Disabled</name>
                    <description>No buffer switching at the end of transfer</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Enabled</name>
                    <description>Memory target switched at the end of the DMA transfer</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>CT</name>
                <description>current target memory of DMA transfer in double-buffer mode
This bit is toggled by hardware at the end of each channel transfer in double-buffer mode.
Note: this bit is set and cleared by software.
It must not be written when the channel is enabled (EN = 1).
It is read-only when the channel is enabled (EN = 1).</description>
                <bitOffset>16</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
                <enumeratedValues>
                  <name>CT</name>
                  <enumeratedValue>
                    <name>Memory0</name>
                    <description>The current target memory is Memory 0</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Memory1</name>
                    <description>The current target memory is Memory 1</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
            </fields>
          </register>
          <register>
            <name>NDTR</name>
            <displayName>CNDTR0</displayName>
            <addressOffset>0x4</addressOffset>
            <size>0x20</size>
            <resetValue>0x00000000</resetValue>
            <resetMask>0xFFFFFFFF</resetMask>
            <fields>
              <field>
                <name>NDT</name>
                <description>number of data to transfer (0 to 216 - 1)
This field is updated by hardware when the channel is enabled:
It is decremented after each single BDMA read followed by write transfer, indicating the remaining amount of data items to transfer.
It is kept at zero when the programmed amount of data to transfer is reached, if the channel is not in circular mode (CIRC = 0 in the BDMA_CCRx register).
It is reloaded automatically by the previously programmed value, when the transfer is complete, if the channel is in circular mode (CIRC = 1).
If this field is zero, no transfer can be served whatever the channel status (enabled or not).
Note: this field is set and cleared by software.
It must not be written when the channel is enabled (EN = 1).
It is read-only when the channel is enabled (EN = 1).</description>
                <bitOffset>0</bitOffset>
                <bitWidth>16</bitWidth>
                <access>read-write</access>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>65535</maximum>
                  </range>
                </writeConstraint>
              </field>
            </fields>
          </register>
          <register>
            <name>PAR</name>
            <displayName>CPAR0</displayName>
            <addressOffset>0x8</addressOffset>
            <size>0x20</size>
            <resetValue>0x00000000</resetValue>
            <resetMask>0xFFFFFFFF</resetMask>
            <fields>
              <field>
                <name>PA</name>
                <description>peripheral address
It contains the base address of the peripheral data register from/to which the data is read/written.
When PSIZE[1:0] = 01 (16 bits), bit 0 of PA[31:0] is ignored. Access is automatically aligned to a half-word address.
When PSIZE = 10 (32 bits), bits 1 and 0 of PA[31:0] are ignored. Access is automatically aligned to a word address.
In memory-to-memory mode, this register identifies the memory destination address if DIR = 1 and the memory source address if DIR = 0.
In peripheral-to-peripheral mode, this register identifies the peripheral destination address DIR = 1 and the peripheral source address if DIR = 0.
Note: this register is set and cleared by software.
It must not be written when the channel is enabled (EN = 1).
It is not read-only when the channel is enabled (EN = 1).</description>
                <bitOffset>0</bitOffset>
                <bitWidth>32</bitWidth>
                <access>read-write</access>
              </field>
            </fields>
          </register>
          <register>
            <name>M0AR</name>
            <displayName>CM0AR0</displayName>
            <addressOffset>0xC</addressOffset>
            <size>0x20</size>
            <resetValue>0x00000000</resetValue>
            <resetMask>0xFFFFFFFF</resetMask>
            <fields>
              <field>
                <name>MA</name>
                <description>peripheral address
It contains the base address of the memory from/to which the data is read/written.
When MSIZE[1:0] = 01 (16 bits), bit 0 of MA[31:0] is ignored. Access is automatically aligned to a half-word address.
When MSIZE = 10 (32 bits), bits 1 and 0 of MA[31:0] are ignored. Access is automatically aligned to a word address.
In memory-to-memory mode, this register identifies the memory source address if DIR = 1 and the memory destination address if DIR = 0.
In peripheral-to-peripheral mode, this register identifies the peripheral source address DIR = 1 and the peripheral destination address if DIR = 0.
Note: this register is set and cleared by software.
It must not be written when the channel is enabled (EN = 1).
It is not read-only when the channel is enabled (EN = 1).</description>
                <bitOffset>0</bitOffset>
                <bitWidth>32</bitWidth>
                <access>read-write</access>
              </field>
            </fields>
          </register>
          <register>
            <name>M1AR</name>
            <displayName>CM1AR0</displayName>
            <addressOffset>0x10</addressOffset>
            <size>0x20</size>
            <resetValue>0x00000000</resetValue>
            <resetMask>0xFFFFFFFF</resetMask>
            <fields>
              <field>
                <name>MA</name>
                <description>peripheral address
It contains the base address of the memory from/to which the data is read/written.
When MSIZE[1:0] = 01 (16 bits), bit 0 of MA[31:0] is ignored. Access is automatically aligned to a half-word address.
When MSIZE = 10 (32 bits), bits 1 and 0 of MA[31:0] are ignored. Access is automatically aligned to a word address.
In memory-to-memory mode, this register identifies the memory source address if DIR = 1 and the memory destination address if DIR = 0.
In peripheral-to-peripheral mode, this register identifies the peripheral source address DIR = 1 and the peripheral destination address if DIR = 0.
Note: this register is set and cleared by software.
It must not be written when the channel is enabled (EN = 1).
It is not read-only when the channel is enabled (EN = 1).</description>
                <bitOffset>0</bitOffset>
                <bitWidth>32</bitWidth>
                <access>read-write</access>
              </field>
            </fields>
          </register>
        </cluster>
      </registers>
    </peripheral>
    <peripheral>
      <name>DMA2D</name>
      <description>DMA2D</description>
      <groupName>DMA2D</groupName>
      <baseAddress>0x52001000</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>DMA2D</name>
        <description>DMA2D global interrupt</description>
        <value>90</value>
      </interrupt>
      <registers>
        <register>
          <name>CR</name>
          <displayName>CR</displayName>
          <description>DMA2D control register</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>START</name>
              <description>Start This bit can be used to launch the
              DMA2D according to the parameters loaded in the
              various configuration registers</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>START</name>
                <enumeratedValue>
                  <name>Start</name>
                  <description>Launch the DMA2D</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SUSP</name>
              <description>Suspend This bit can be used to suspend
              the current transfer. This bit is set and reset by
              software. It is automatically reset by hardware when
              the START bit is reset.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SUSP</name>
                <enumeratedValue>
                  <name>NotSuspended</name>
                  <description>Transfer not suspended</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Suspended</name>
                  <description>Transfer suspended</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ABORT</name>
              <description>Abort This bit can be used to abort the
              current transfer. This bit is set by software and is
              automatically reset by hardware when the START bit is
              reset.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ABORT</name>
                <enumeratedValue>
                  <name>AbortRequest</name>
                  <description>Transfer abort requested</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TEIE</name>
              <description>Transfer error interrupt enable This bit
              is set and cleared by software.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TEIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>TE interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>TE interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TCIE</name>
              <description>Transfer complete interrupt enable This
              bit is set and cleared by software.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TCIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>TC interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>TC interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TWIE</name>
              <description>Transfer watermark interrupt enable This
              bit is set and cleared by software.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TWIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>TW interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>TW interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CAEIE</name>
              <description>CLUT access error interrupt enable This
              bit is set and cleared by software.</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CAEIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>CAE interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>CAE interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CTCIE</name>
              <description>CLUT transfer complete interrupt enable
              This bit is set and cleared by
              software.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CTCIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>CTC interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>CTC interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CEIE</name>
              <description>Configuration Error Interrupt Enable
              This bit is set and cleared by
              software.</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CEIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>CE interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>CE interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODE</name>
              <description>DMA2D mode This bit is set and cleared
              by software. It cannot be modified while a transfer
              is ongoing.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>MODE</name>
                <enumeratedValue>
                  <name>MemoryToMemory</name>
                  <description>Memory-to-memory (FG fetch only)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>MemoryToMemoryPFC</name>
                  <description>Memory-to-memory with PFC (FG fetch only with FG PFC active)</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>MemoryToMemoryPFCBlending</name>
                  <description>Memory-to-memory with blending (FG and BG fetch with PFC and blending)</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>RegisterToMemory</name>
                  <description>Register-to-memory</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>ISR</name>
          <displayName>ISR</displayName>
          <description>DMA2D Interrupt Status
          Register</description>
          <addressOffset>0x4</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TEIF</name>
              <description>Transfer error interrupt flag This bit
              is set when an error occurs during a DMA transfer
              (data transfer or automatic CLUT
              loading).</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TCIF</name>
              <description>Transfer complete interrupt flag This
              bit is set when a DMA2D transfer operation is
              complete (data transfer only).</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TWIF</name>
              <description>Transfer watermark interrupt flag This
              bit is set when the last pixel of the watermarked
              line has been transferred.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CAEIF</name>
              <description>CLUT access error interrupt flag This
              bit is set when the CPU accesses the CLUT while the
              CLUT is being automatically copied from a system
              memory to the internal DMA2D.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CTCIF</name>
              <description>CLUT transfer complete interrupt flag
              This bit is set when the CLUT copy from a system
              memory area to the internal DMA2D memory is
              complete.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CEIF</name>
              <description>Configuration error interrupt flag This
              bit is set when the START bit of DMA2D_CR,
              DMA2DFGPFCCR or DMA2D_BGPFCCR is set and a wrong
              configuration has been programmed.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>IFCR</name>
          <displayName>IFCR</displayName>
          <description>DMA2D interrupt flag clear
          register</description>
          <addressOffset>0x8</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CTEIF</name>
              <description>Clear Transfer error interrupt flag
              Programming this bit to 1 clears the TEIF flag in the
              DMA2D_ISR register</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CTEIF</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear the TEIF flag in the ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CTCIF</name>
              <description>Clear transfer complete interrupt flag
              Programming this bit to 1 clears the TCIF flag in the
              DMA2D_ISR register</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CTCIF</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear the TCIF flag in the ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CTWIF</name>
              <description>Clear transfer watermark interrupt flag
              Programming this bit to 1 clears the TWIF flag in the
              DMA2D_ISR register</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CTWIF</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear the TWIF flag in the ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CAECIF</name>
              <description>Clear CLUT access error interrupt flag
              Programming this bit to 1 clears the CAEIF flag in
              the DMA2D_ISR register</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CAECIF</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear the CAEIF flag in the ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CCTCIF</name>
              <description>Clear CLUT transfer complete interrupt
              flag Programming this bit to 1 clears the CTCIF flag
              in the DMA2D_ISR register</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CCTCIF</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear the CTCIF flag in the ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CCEIF</name>
              <description>Clear configuration error interrupt flag
              Programming this bit to 1 clears the CEIF flag in the
              DMA2D_ISR register</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CCEIF</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear the CEIF flag in the ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>FGMAR</name>
          <displayName>FGMAR</displayName>
          <description>DMA2D foreground memory address
          register</description>
          <addressOffset>0xC</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>MA</name>
              <description>Memory address Address of the data used
              for the foreground image. This register can only be
              written when data transfers are disabled. Once the
              data transfer has started, this register is
              read-only. The address alignment must match the image
              format selected e.g. a 32-bit per pixel format must
              be 32-bit aligned, a 16-bit per pixel format must be
              16-bit aligned and a 4-bit per pixel format must be
              8-bit aligned.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>FGOR</name>
          <displayName>FGOR</displayName>
          <description>DMA2D foreground offset
          register</description>
          <addressOffset>0x10</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>LO</name>
              <description>Line offset Line offset used for the
              foreground expressed in pixel. This value is used to
              generate the address. It is added at the end of each
              line to determine the starting address of the next
              line. These bits can only be written when data
              transfers are disabled. Once a data transfer has
              started, they become read-only. If the image format
              is 4-bit per pixel, the line offset must be
              even.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>BGMAR</name>
          <displayName>BGMAR</displayName>
          <description>DMA2D background memory address
          register</description>
          <addressOffset>0x14</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>MA</name>
              <description>Memory address Address of the data used
              for the background image. This register can only be
              written when data transfers are disabled. Once a data
              transfer has started, this register is read-only. The
              address alignment must match the image format
              selected e.g. a 32-bit per pixel format must be
              32-bit aligned, a 16-bit per pixel format must be
              16-bit aligned and a 4-bit per pixel format must be
              8-bit aligned.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>BGOR</name>
          <displayName>BGOR</displayName>
          <description>DMA2D background offset
          register</description>
          <addressOffset>0x18</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>LO</name>
              <description>Line offset Line offset used for the
              background image (expressed in pixel). This value is
              used for the address generation. It is added at the
              end of each line to determine the starting address of
              the next line. These bits can only be written when
              data transfers are disabled. Once data transfer has
              started, they become read-only. If the image format
              is 4-bit per pixel, the line offset must be
              even.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>FGPFCCR</name>
          <displayName>FGPFCCR</displayName>
          <description>DMA2D foreground PFC control
          register</description>
          <addressOffset>0x1C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CM</name>
              <description>Color mode These bits defines the color
              format of the foreground image. They can only be
              written when data transfers are disabled. Once the
              transfer has started, they are read-only. others:
              meaningless</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues>
                <name>CM</name>
                <enumeratedValue>
                  <name>ARGB8888</name>
                  <description>Color mode ARGB8888</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>RGB888</name>
                  <description>Color mode RGB888</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>RGB565</name>
                  <description>Color mode RGB565</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ARGB1555</name>
                  <description>Color mode ARGB1555</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ARGB4444</name>
                  <description>Color mode ARGB4444</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>L8</name>
                  <description>Color mode L8</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>AL44</name>
                  <description>Color mode AL44</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>AL88</name>
                  <description>Color mode AL88</description>
                  <value>7</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>L4</name>
                  <description>Color mode L4</description>
                  <value>8</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>A8</name>
                  <description>Color mode A8</description>
                  <value>9</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>A4</name>
                  <description>Color mode A4</description>
                  <value>10</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>YCbCr</name>
                  <description>Color mode YCbCr</description>
                  <value>11</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CCM</name>
              <description>CLUT color mode This bit defines the
              color format of the CLUT. It can only be written when
              the transfer is disabled. Once the CLUT transfer has
              started, this bit is read-only.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CCM</name>
                <enumeratedValue>
                  <name>ARGB8888</name>
                  <description>CLUT color format ARGB8888</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>RGB888</name>
                  <description>CLUT color format RGB888</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>START</name>
              <description>Start This bit can be set to start the
              automatic loading of the CLUT. It is automatically
              reset: ** at the end of the transfer ** when the
              transfer is aborted by the user application by
              setting the ABORT bit in DMA2D_CR ** when a transfer
              error occurs ** when the transfer has not started due
              to a configuration error or another transfer
              operation already ongoing (data transfer or automatic
              background CLUT transfer).</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>START</name>
                <enumeratedValue>
                  <name>Start</name>
                  <description>Start the automatic loading of the CLUT</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CS</name>
              <description>CLUT size These bits define the size of
              the CLUT used for the foreground image. Once the CLUT
              transfer has started, this field is read-only. The
              number of CLUT entries is equal to CS[7:0] +
              1.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>AM</name>
              <description>Alpha mode These bits select the alpha
              channel value to be used for the foreground image.
              They can only be written data the transfer are
              disabled. Once the transfer has started, they become
              read-only. other configurations are
              meaningless</description>
              <bitOffset>16</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>AM</name>
                <enumeratedValue>
                  <name>NoModify</name>
                  <description>No modification of alpha channel</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Replace</name>
                  <description>Replace with value in ALPHA[7:0]</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Multiply</name>
                  <description>Multiply with value in ALPHA[7:0]</description>
                  <value>2</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CSS</name>
              <description>Chroma Sub-Sampling These bits define
              the chroma sub-sampling mode for YCbCr color mode.
              Once the transfer has started, these bits are
              read-only. others: meaningless</description>
              <bitOffset>18</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>AI</name>
              <description>Alpha Inverted This bit inverts the
              alpha value. Once the transfer has started, this bit
              is read-only.</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>AI</name>
                <enumeratedValue>
                  <name>RegularAlpha</name>
                  <description>Regular alpha</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>InvertedAlpha</name>
                  <description>Inverted alpha</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RBS</name>
              <description>Red Blue Swap This bit allows to swap
              the R &amp;amp; B to support BGR or ABGR color
              formats. Once the transfer has started, this bit is
              read-only.</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RBS</name>
                <enumeratedValue>
                  <name>Regular</name>
                  <description>No Red Blue Swap (RGB or ARGB)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Swap</name>
                  <description>Red Blue Swap (BGR or ABGR)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ALPHA</name>
              <description>Alpha value These bits define a fixed
              alpha channel value which can replace the original
              alpha value or be multiplied by the original alpha
              value according to the alpha mode selected through
              the AM[1:0] bits. These bits can only be written when
              data transfers are disabled. Once a transfer has
              started, they become read-only.</description>
              <bitOffset>24</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>FGCOLR</name>
          <displayName>FGCOLR</displayName>
          <description>DMA2D foreground color
          register</description>
          <addressOffset>0x20</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>BLUE</name>
              <description>Blue Value These bits defines the blue
              value for the A4 or A8 mode of the foreground image.
              They can only be written when data transfers are
              disabled. Once the transfer has started, They are
              read-only.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>GREEN</name>
              <description>Green Value These bits defines the green
              value for the A4 or A8 mode of the foreground image.
              They can only be written when data transfers are
              disabled. Once the transfer has started, They are
              read-only.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>RED</name>
              <description>Red Value These bits defines the red
              value for the A4 or A8 mode of the foreground image.
              They can only be written when data transfers are
              disabled. Once the transfer has started, they are
              read-only.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>BGPFCCR</name>
          <displayName>BGPFCCR</displayName>
          <description>DMA2D background PFC control
          register</description>
          <addressOffset>0x24</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CM</name>
              <description>Color mode These bits define the color
              format of the foreground image. These bits can only
              be written when data transfers are disabled. Once the
              transfer has started, they are read-only. others:
              meaningless</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues>
                <name>CM</name>
                <enumeratedValue>
                  <name>ARGB8888</name>
                  <description>Color mode ARGB8888</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>RGB888</name>
                  <description>Color mode RGB888</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>RGB565</name>
                  <description>Color mode RGB565</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ARGB1555</name>
                  <description>Color mode ARGB1555</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ARGB4444</name>
                  <description>Color mode ARGB4444</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>L8</name>
                  <description>Color mode L8</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>AL44</name>
                  <description>Color mode AL44</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>AL88</name>
                  <description>Color mode AL88</description>
                  <value>7</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>L4</name>
                  <description>Color mode L4</description>
                  <value>8</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>A8</name>
                  <description>Color mode A8</description>
                  <value>9</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>A4</name>
                  <description>Color mode A4</description>
                  <value>10</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CCM</name>
              <description>CLUT Color mode These bits define the
              color format of the CLUT. This register can only be
              written when the transfer is disabled. Once the CLUT
              transfer has started, this bit is
              read-only.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CCM</name>
                <enumeratedValue>
                  <name>ARGB8888</name>
                  <description>CLUT color format ARGB8888</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>RGB888</name>
                  <description>CLUT color format RGB888</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>START</name>
              <description>Start This bit is set to start the
              automatic loading of the CLUT. This bit is
              automatically reset: ** at the end of the transfer **
              when the transfer is aborted by the user application
              by setting the ABORT bit in the DMA2D_CR ** when a
              transfer error occurs ** when the transfer has not
              started due to a configuration error or another
              transfer operation already on going (data transfer or
              automatic BackGround CLUT transfer).</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>START</name>
                <enumeratedValue>
                  <name>Start</name>
                  <description>Start the automatic loading of the CLUT</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CS</name>
              <description>CLUT size These bits define the size of
              the CLUT used for the BG. Once the CLUT transfer has
              started, this field is read-only. The number of CLUT
              entries is equal to CS[7:0] + 1.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>AM</name>
              <description>Alpha mode These bits define which alpha
              channel value to be used for the background image.
              These bits can only be written when data transfers
              are disabled. Once the transfer has started, they are
              read-only. others: meaningless</description>
              <bitOffset>16</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>AM</name>
                <enumeratedValue>
                  <name>NoModify</name>
                  <description>No modification of alpha channel</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Replace</name>
                  <description>Replace with value in ALPHA[7:0]</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Multiply</name>
                  <description>Multiply with value in ALPHA[7:0]</description>
                  <value>2</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>AI</name>
              <description>Alpha Inverted This bit inverts the
              alpha value. Once the transfer has started, this bit
              is read-only.</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>AI</name>
                <enumeratedValue>
                  <name>RegularAlpha</name>
                  <description>Regular alpha</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>InvertedAlpha</name>
                  <description>Inverted alpha</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RBS</name>
              <description>Red Blue Swap This bit allows to swap
              the R &amp;amp; B to support BGR or ABGR color
              formats. Once the transfer has started, this bit is
              read-only.</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RBS</name>
                <enumeratedValue>
                  <name>Regular</name>
                  <description>No Red Blue Swap (RGB or ARGB)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Swap</name>
                  <description>Red Blue Swap (BGR or ABGR)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ALPHA</name>
              <description>Alpha value These bits define a fixed
              alpha channel value which can replace the original
              alpha value or be multiplied with the original alpha
              value according to the alpha mode selected with bits
              AM[1: 0]. These bits can only be written when data
              transfers are disabled. Once the transfer has
              started, they are read-only.</description>
              <bitOffset>24</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>BGCOLR</name>
          <displayName>BGCOLR</displayName>
          <description>DMA2D background color
          register</description>
          <addressOffset>0x28</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>BLUE</name>
              <description>Blue Value These bits define the blue
              value for the A4 or A8 mode of the background. These
              bits can only be written when data transfers are
              disabled. Once the transfer has started, they are
              read-only.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>GREEN</name>
              <description>Green Value These bits define the green
              value for the A4 or A8 mode of the background. These
              bits can only be written when data transfers are
              disabled. Once the transfer has started, they are
              read-only.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>RED</name>
              <description>Red Value These bits define the red
              value for the A4 or A8 mode of the background. These
              bits can only be written when data transfers are
              disabled. Once the transfer has started, they are
              read-only.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>FGCMAR</name>
          <displayName>FGCMAR</displayName>
          <description>DMA2D foreground CLUT memory address
          register</description>
          <addressOffset>0x2C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>MA</name>
              <description>Memory Address Address of the data used
              for the CLUT address dedicated to the foreground
              image. This register can only be written when no
              transfer is ongoing. Once the CLUT transfer has
              started, this register is read-only. If the
              foreground CLUT format is 32-bit, the address must be
              32-bit aligned.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>BGCMAR</name>
          <displayName>BGCMAR</displayName>
          <description>DMA2D background CLUT memory address
          register</description>
          <addressOffset>0x30</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>MA</name>
              <description>Memory address Address of the data used
              for the CLUT address dedicated to the background
              image. This register can only be written when no
              transfer is on going. Once the CLUT transfer has
              started, this register is read-only. If the
              background CLUT format is 32-bit, the address must be
              32-bit aligned.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>OPFCCR</name>
          <displayName>OPFCCR</displayName>
          <description>DMA2D output PFC control
          register</description>
          <addressOffset>0x34</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CM</name>
              <description>Color mode These bits define the color
              format of the output image. These bits can only be
              written when data transfers are disabled. Once the
              transfer has started, they are read-only. others:
              meaningless</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>CM</name>
                <enumeratedValue>
                  <name>ARGB8888</name>
                  <description>ARGB8888</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>RGB888</name>
                  <description>RGB888</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>RGB565</name>
                  <description>RGB565</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ARGB1555</name>
                  <description>ARGB1555</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ARGB4444</name>
                  <description>ARGB4444</description>
                  <value>4</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>AI</name>
              <description>Alpha Inverted This bit inverts the
              alpha value. Once the transfer has started, this bit
              is read-only.</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>AI</name>
                <enumeratedValue>
                  <name>RegularAlpha</name>
                  <description>Regular alpha</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>InvertedAlpha</name>
                  <description>Inverted alpha</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RBS</name>
              <description>Red Blue Swap This bit allows to swap
              the R &amp;amp; B to support BGR or ABGR color
              formats. Once the transfer has started, this bit is
              read-only.</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RBS</name>
                <enumeratedValue>
                  <name>Regular</name>
                  <description>No Red Blue Swap (RGB or ARGB)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Swap</name>
                  <description>Red Blue Swap (BGR or ABGR)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SB</name>
              <description>Swap Bytes</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SB</name>
                <enumeratedValue>
                  <name>Regular</name>
                  <description>Regular byte order</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SwapBytes</name>
                  <description>Bytes are swapped two by two</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>OCOLR</name>
          <displayName>OCOLR</displayName>
          <description>DMA2D output color register</description>
          <addressOffset>0x38</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>BLUE</name>
              <description>Blue Value These bits define the blue
              value of the output image. These bits can only be
              written when data transfers are disabled. Once the
              transfer has started, they are
              read-only.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
            </field>
            <field>
              <name>GREEN</name>
              <description>Green Value These bits define the green
              value of the output image. These bits can only be
              written when data transfers are disabled. Once the
              transfer has started, they are
              read-only.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>8</bitWidth>
            </field>
            <field>
              <name>RED</name>
              <description>Red Value These bits define the red
              value of the output image. These bits can only be
              written when data transfers are disabled. Once the
              transfer has started, they are
              read-only.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>8</bitWidth>
            </field>
            <field>
              <name>ALPHA</name>
              <description>Alpha Channel Value These bits define
              the alpha channel of the output color. These bits can
              only be written when data transfers are disabled.
              Once the transfer has started, they are
              read-only.</description>
              <bitOffset>24</bitOffset>
              <bitWidth>8</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>OMAR</name>
          <displayName>OMAR</displayName>
          <description>DMA2D output memory address
          register</description>
          <addressOffset>0x3C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>MA</name>
              <description>Memory Address Address of the data used
              for the output FIFO. These bits can only be written
              when data transfers are disabled. Once the transfer
              has started, they are read-only. The address
              alignment must match the image format selected e.g. a
              32-bit per pixel format must be 32-bit aligned and a
              16-bit per pixel format must be 16-bit
              aligned.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>OOR</name>
          <displayName>OOR</displayName>
          <description>DMA2D output offset register</description>
          <addressOffset>0x40</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>LO</name>
              <description>Line Offset Line offset used for the
              output (expressed in pixels). This value is used for
              the address generation. It is added at the end of
              each line to determine the starting address of the
              next line. These bits can only be written when data
              transfers are disabled. Once the transfer has
              started, they are read-only.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>NLR</name>
          <displayName>NLR</displayName>
          <description>DMA2D number of line register</description>
          <addressOffset>0x44</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>NL</name>
              <description>Number of lines Number of lines of the
              area to be transferred. These bits can only be
              written when data transfers are disabled. Once the
              transfer has started, they are
              read-only.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>PL</name>
              <description>Pixel per lines Number of pixels per
              lines of the area to be transferred. These bits can
              only be written when data transfers are disabled.
              Once the transfer has started, they are read-only. If
              any of the input image format is 4-bit per pixel,
              pixel per lines must be even.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>14</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>16383</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>LWR</name>
          <displayName>LWR</displayName>
          <description>DMA2D line watermark register</description>
          <addressOffset>0x48</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>LW</name>
              <description>Line watermark These bits allow to
              configure the line watermark for interrupt
              generation. An interrupt is raised when the last
              pixel of the watermarked line has been transferred.
              These bits can only be written when data transfers
              are disabled. Once the transfer has started, they are
              read-only.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>AMTCR</name>
          <displayName>AMTCR</displayName>
          <description>DMA2D AXI master timer configuration
          register</description>
          <addressOffset>0x4C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>EN</name>
              <description>Enable Enables the dead time
              functionality.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>EN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Disabled AHB/AXI dead-time functionality</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Enabled AHB/AXI dead-time functionality</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DT</name>
              <description>Dead Time Dead time value in the AXI
              clock cycle inserted between two consecutive accesses
              on the AXI master port. These bits represent the
              minimum guaranteed number of cycles between two
              consecutive AXI accesses.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>DMAMUX1</name>
      <description>DMAMUX</description>
      <groupName>DMAMUX</groupName>
      <baseAddress>0x40020800</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>DMAMUX1_OV</name>
        <description>DMAMUX1 overrun interrupt</description>
        <value>102</value>
      </interrupt>
      <registers>
        <register>
          <dim>16</dim>
          <dimIncrement>0x4</dimIncrement>
          <dimIndex>0-15</dimIndex>
          <name>C%sCR</name>
          <displayName>C%sCR</displayName>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>DMAREQ_ID</name>
              <description>DMA request identification
Selects the input DMA request. See the DMAMUX table about assignments of multiplexer inputs to resources.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>7</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>DMAREQ_ID</name>
                <enumeratedValue>
                  <name>none</name>
                  <description>No signal selected as request input</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>dmamux1_req_gen0</name>
                  <description>Signal `dmamux1_req_gen0` selected as request input</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>dmamux1_req_gen1</name>
                  <description>Signal `dmamux1_req_gen1` selected as request input</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>dmamux1_req_gen2</name>
                  <description>Signal `dmamux1_req_gen2` selected as request input</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>dmamux1_req_gen3</name>
                  <description>Signal `dmamux1_req_gen3` selected as request input</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>dmamux1_req_gen4</name>
                  <description>Signal `dmamux1_req_gen4` selected as request input</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>dmamux1_req_gen5</name>
                  <description>Signal `dmamux1_req_gen5` selected as request input</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>dmamux1_req_gen6</name>
                  <description>Signal `dmamux1_req_gen6` selected as request input</description>
                  <value>7</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>dmamux1_req_gen7</name>
                  <description>Signal `dmamux1_req_gen7` selected as request input</description>
                  <value>8</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>adc1_dma</name>
                  <description>Signal `adc1_dma` selected as request input</description>
                  <value>9</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>adc2_dma</name>
                  <description>Signal `adc2_dma` selected as request input</description>
                  <value>10</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>tim1_ch1</name>
                  <description>Signal `tim1_ch1` selected as request input</description>
                  <value>11</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>tim1_ch2</name>
                  <description>Signal `tim1_ch2` selected as request input</description>
                  <value>12</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>tim1_ch3</name>
                  <description>Signal `tim1_ch3` selected as request input</description>
                  <value>13</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>tim1_ch4</name>
                  <description>Signal `tim1_ch4` selected as request input</description>
                  <value>14</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>tim1_up</name>
                  <description>Signal `tim1_up` selected as request input</description>
                  <value>15</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>tim1_trig</name>
                  <description>Signal `tim1_trig` selected as request input</description>
                  <value>16</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>tim1_com</name>
                  <description>Signal `tim1_com` selected as request input</description>
                  <value>17</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>tim2_ch1</name>
                  <description>Signal `tim2_ch1` selected as request input</description>
                  <value>18</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>tim2_ch2</name>
                  <description>Signal `tim2_ch2` selected as request input</description>
                  <value>19</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>tim2_ch3</name>
                  <description>Signal `tim2_ch3` selected as request input</description>
                  <value>20</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>tim2_ch4</name>
                  <description>Signal `tim2_ch4` selected as request input</description>
                  <value>21</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>tim2_up</name>
                  <description>Signal `tim2_up` selected as request input</description>
                  <value>22</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>tim3_ch1</name>
                  <description>Signal `tim3_ch1` selected as request input</description>
                  <value>23</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>tim3_ch2</name>
                  <description>Signal `tim3_ch2` selected as request input</description>
                  <value>24</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>tim3_ch3</name>
                  <description>Signal `tim3_ch3` selected as request input</description>
                  <value>25</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>tim3_ch4</name>
                  <description>Signal `tim3_ch4` selected as request input</description>
                  <value>26</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>tim3_up</name>
                  <description>Signal `tim3_up` selected as request input</description>
                  <value>27</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>tim3_trig</name>
                  <description>Signal `tim3_trig` selected as request input</description>
                  <value>28</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>tim4_ch1</name>
                  <description>Signal `tim4_ch1` selected as request input</description>
                  <value>29</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>tim4_ch2</name>
                  <description>Signal `tim4_ch2` selected as request input</description>
                  <value>30</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>tim4_ch3</name>
                  <description>Signal `tim4_ch3` selected as request input</description>
                  <value>31</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>tim4_up</name>
                  <description>Signal `tim4_up` selected as request input</description>
                  <value>32</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>i2c1_rx_dma</name>
                  <description>Signal `i2c1_rx_dma` selected as request input</description>
                  <value>33</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>i2c1_tx_dma</name>
                  <description>Signal `i2c1_tx_dma` selected as request input</description>
                  <value>34</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>i2c2_rx_dma</name>
                  <description>Signal `i2c2_rx_dma` selected as request input</description>
                  <value>35</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>i2c2_tx_dma</name>
                  <description>Signal `i2c2_tx_dma` selected as request input</description>
                  <value>36</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>spi1_rx_dma</name>
                  <description>Signal `spi1_rx_dma` selected as request input</description>
                  <value>37</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>spi1_tx_dma</name>
                  <description>Signal `spi1_tx_dma` selected as request input</description>
                  <value>38</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>spi2_rx_dma</name>
                  <description>Signal `spi2_rx_dma` selected as request input</description>
                  <value>39</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>spi2_tx_dma</name>
                  <description>Signal `spi2_tx_dma` selected as request input</description>
                  <value>40</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>usart1_rx_dma</name>
                  <description>Signal `usart1_rx_dma` selected as request input</description>
                  <value>41</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>usart1_tx_dma</name>
                  <description>Signal `usart1_tx_dma` selected as request input</description>
                  <value>42</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>usart2_rx_dma</name>
                  <description>Signal `usart2_rx_dma` selected as request input</description>
                  <value>43</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>usart2_tx_dma</name>
                  <description>Signal `usart2_tx_dma` selected as request input</description>
                  <value>44</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>usart3_rx_dma</name>
                  <description>Signal `usart3_rx_dma` selected as request input</description>
                  <value>45</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>usart3_tx_dma</name>
                  <description>Signal `usart3_tx_dma` selected as request input</description>
                  <value>46</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>tim8_ch1</name>
                  <description>Signal `tim8_ch1` selected as request input</description>
                  <value>47</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>tim8_ch2</name>
                  <description>Signal `tim8_ch2` selected as request input</description>
                  <value>48</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>tim8_ch3</name>
                  <description>Signal `tim8_ch3` selected as request input</description>
                  <value>49</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>tim8_ch4</name>
                  <description>Signal `tim8_ch4` selected as request input</description>
                  <value>50</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>tim8_up</name>
                  <description>Signal `tim8_up` selected as request input</description>
                  <value>51</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>tim8_trig</name>
                  <description>Signal `tim8_trig` selected as request input</description>
                  <value>52</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>tim8_com</name>
                  <description>Signal `tim8_com` selected as request input</description>
                  <value>53</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>tim5_ch1</name>
                  <description>Signal `tim5_ch1` selected as request input</description>
                  <value>55</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>tim5_ch2</name>
                  <description>Signal `tim5_ch2` selected as request input</description>
                  <value>56</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>tim5_ch3</name>
                  <description>Signal `tim5_ch3` selected as request input</description>
                  <value>57</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>tim5_ch4</name>
                  <description>Signal `tim5_ch4` selected as request input</description>
                  <value>58</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>tim5_up</name>
                  <description>Signal `tim5_up` selected as request input</description>
                  <value>59</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>tim5_trig</name>
                  <description>Signal `tim5_trig` selected as request input</description>
                  <value>60</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>spi3_rx_dma</name>
                  <description>Signal `spi3_rx_dma` selected as request input</description>
                  <value>61</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>spi3_tx_dma</name>
                  <description>Signal `spi3_tx_dma` selected as request input</description>
                  <value>62</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>uart4_rx_dma</name>
                  <description>Signal `uart4_rx_dma` selected as request input</description>
                  <value>63</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>uart4_tx_dma</name>
                  <description>Signal `uart4_tx_dma` selected as request input</description>
                  <value>64</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>uart5_rx_dma</name>
                  <description>Signal `uart5_rx_dma` selected as request input</description>
                  <value>65</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>uart5_tx_dma</name>
                  <description>Signal `uart5_tx_dma` selected as request input</description>
                  <value>66</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>dac_ch1_dma</name>
                  <description>Signal `dac_ch1_dma` selected as request input</description>
                  <value>67</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>dac_ch2_dma</name>
                  <description>Signal `dac_ch2_dma` selected as request input</description>
                  <value>68</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>tim6_up</name>
                  <description>Signal `tim6_up` selected as request input</description>
                  <value>69</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>tim7_up</name>
                  <description>Signal `tim7_up` selected as request input</description>
                  <value>70</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>usart6_rx_dma</name>
                  <description>Signal `usart6_rx_dma` selected as request input</description>
                  <value>71</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>usart6_tx_dma</name>
                  <description>Signal `usart6_tx_dma` selected as request input</description>
                  <value>72</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>i2c3_rx_dma</name>
                  <description>Signal `i2c3_rx_dma` selected as request input</description>
                  <value>73</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>i2c3_tx_dma</name>
                  <description>Signal `i2c3_tx_dma` selected as request input</description>
                  <value>74</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>dcmi_dma</name>
                  <description>Signal `dcmi_dma` selected as request input</description>
                  <value>75</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>cryp_in_dma</name>
                  <description>Signal `cryp_in_dma` selected as request input</description>
                  <value>76</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>cryp_out_dma</name>
                  <description>Signal `cryp_out_dma` selected as request input</description>
                  <value>77</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>hash_in_dma</name>
                  <description>Signal `hash_in_dma` selected as request input</description>
                  <value>78</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>uart7_rx_dma</name>
                  <description>Signal `uart7_rx_dma` selected as request input</description>
                  <value>79</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>uart7_tx_dma</name>
                  <description>Signal `uart7_tx_dma` selected as request input</description>
                  <value>80</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>uart8_rx_dma</name>
                  <description>Signal `uart8_rx_dma` selected as request input</description>
                  <value>81</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>uart8_tx_dma</name>
                  <description>Signal `uart8_tx_dma` selected as request input</description>
                  <value>82</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>spi4_rx_dma</name>
                  <description>Signal `spi4_rx_dma` selected as request input</description>
                  <value>83</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>spi4_tx_dma</name>
                  <description>Signal `spi4_tx_dma` selected as request input</description>
                  <value>84</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>spi5_rx_dma</name>
                  <description>Signal `spi5_rx_dma` selected as request input</description>
                  <value>85</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>spi5_tx_dma</name>
                  <description>Signal `spi5_tx_dma` selected as request input</description>
                  <value>86</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>sai1a_dma</name>
                  <description>Signal `sai1a_dma` selected as request input</description>
                  <value>87</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>sai1b_dma</name>
                  <description>Signal `sai1b_dma` selected as request input</description>
                  <value>88</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>sai2a_dma</name>
                  <description>Signal `sai2a_dma` selected as request input</description>
                  <value>89</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>sai2b_dma</name>
                  <description>Signal `sai2b_dma` selected as request input</description>
                  <value>90</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>swpmi_rx_dma</name>
                  <description>Signal `swpmi_rx_dma` selected as request input</description>
                  <value>91</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>swpmi_tx_dma</name>
                  <description>Signal `swpmi_tx_dma` selected as request input</description>
                  <value>92</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>spdifrx_dat_dma</name>
                  <description>Signal `spdifrx_dat_dma` selected as request input</description>
                  <value>93</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>spdifrx_ctrl_dma</name>
                  <description>Signal `spdifrx_ctrl_dma` selected as request input</description>
                  <value>94</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>hr_req1</name>
                  <description>Signal `hr_req(1)` selected as request input</description>
                  <value>95</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>hr_req2</name>
                  <description>Signal `hr_req(2)` selected as request input</description>
                  <value>96</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>hr_req3</name>
                  <description>Signal `hr_req(3)` selected as request input</description>
                  <value>97</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>hr_req4</name>
                  <description>Signal `hr_req(4)` selected as request input</description>
                  <value>98</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>hr_req5</name>
                  <description>Signal `hr_req(5)` selected as request input</description>
                  <value>99</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>hr_req6</name>
                  <description>Signal `hr_req(6)` selected as request input</description>
                  <value>100</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>dfsdm1_dma0</name>
                  <description>Signal `dfsdm1_dma0` selected as request input</description>
                  <value>101</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>dfsdm1_dma1</name>
                  <description>Signal `dfsdm1_dma1` selected as request input</description>
                  <value>102</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>dfsdm1_dma2</name>
                  <description>Signal `dfsdm1_dma2` selected as request input</description>
                  <value>103</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>dfsdm1_dma3</name>
                  <description>Signal `dfsdm1_dma3` selected as request input</description>
                  <value>104</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>tim15_ch1</name>
                  <description>Signal `tim15_ch1` selected as request input</description>
                  <value>105</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>tim15_up</name>
                  <description>Signal `tim15_up` selected as request input</description>
                  <value>106</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>tim15_trig</name>
                  <description>Signal `tim15_trig` selected as request input</description>
                  <value>107</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>tim15_com</name>
                  <description>Signal `tim15_com` selected as request input</description>
                  <value>108</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>tim16_ch1</name>
                  <description>Signal `tim16_ch1` selected as request input</description>
                  <value>109</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>tim16_up</name>
                  <description>Signal `tim16_up` selected as request input</description>
                  <value>110</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>tim17_ch1</name>
                  <description>Signal `tim17_ch1` selected as request input</description>
                  <value>111</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>tim17_up</name>
                  <description>Signal `tim17_up` selected as request input</description>
                  <value>112</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>sai3_a_dma</name>
                  <description>Signal `sai3_a_dma` selected as request input</description>
                  <value>113</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>sai3_b_dma</name>
                  <description>Signal `sai3_b_dma` selected as request input</description>
                  <value>114</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>adc3_dma</name>
                  <description>Signal `adc3_dma` selected as request input</description>
                  <value>115</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SOIE</name>
              <description>Synchronization overrun interrupt enable</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>SOIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Synchronization overrun interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Synchronization overrun interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EGE</name>
              <description>Event generation enable</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>EGE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Event generation disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Event generation enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SE</name>
              <description>Synchronization enable</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>SE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Synchronization disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Synchronization enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SPOL</name>
              <description>Synchronization polarity
Defines the edge polarity of the selected synchronization input:</description>
              <bitOffset>17</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>SPOL</name>
                <enumeratedValue>
                  <name>NoEdge</name>
                  <description>No event, i.e. no synchronization nor detection</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>RisingEdge</name>
                  <description>Rising edge</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FallingEdge</name>
                  <description>Falling edge</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>BothEdges</name>
                  <description>Rising and falling edges</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>NBREQ</name>
              <description>Number of DMA requests minus 1 to forward
Defines the number of DMA requests to forward to the DMA controller after a synchronization event, and/or the number of DMA requests before an output event is generated.
This field shall only be written when both SE and EGE bits are low.</description>
              <bitOffset>19</bitOffset>
              <bitWidth>5</bitWidth>
              <access>read-write</access>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>31</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>SYNC_ID</name>
              <description>Synchronization identification
Selects the synchronization input (see inputs to resources).</description>
              <bitOffset>24</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>SYNC_ID</name>
                <enumeratedValue>
                  <name>dmamux1_evt0</name>
                  <description>Signal `dmamux1_evt0` selected as synchronization input</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>dmamux1_evt1</name>
                  <description>Signal `dmamux1_evt1` selected as synchronization input</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>dmamux1_evt2</name>
                  <description>Signal `dmamux1_evt2` selected as synchronization input</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>lptim1_out</name>
                  <description>Signal `lptim1_out` selected as synchronization input</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>lptim2_out</name>
                  <description>Signal `lptim2_out` selected as synchronization input</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>lptim3_out</name>
                  <description>Signal `lptim3_out` selected as synchronization input</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>extit0</name>
                  <description>Signal `extit0` selected as synchronization input</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>tim12_trgo</name>
                  <description>Signal `tim12_trgo` selected as synchronization input</description>
                  <value>7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CSR</name>
          <displayName>CSR</displayName>
          <addressOffset>0x80</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <dim>16</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>0-15</dimIndex>
              <name>SOF%s</name>
              <description>Synchronization overrun event flag
The flag is set when a synchronization event occurs on a DMA request line multiplexer channel x, while the DMA request counter value is lower than NBREQ.
The flag is cleared by writing 1 to the corresponding CSOFx bit in DMAMUX_CFR register. For DMAMUX2 bits 15:8 are reserved, keep them at reset value.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>SOF0</name>
                <enumeratedValue>
                  <name>NoSyncEvent</name>
                  <description>No synchronization event occured on a DMA request line multiplexer channel x, while the DMA request counter value is lower than NBREQ</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SyncEvent</name>
                  <description>Synchronization event occured on a DMA request line multiplexer channel x, while the DMA request counter value is lower than NBREQ</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CFR</name>
          <displayName>CFR</displayName>
          <addressOffset>0x84</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <dim>16</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>0-15</dimIndex>
              <name>CSOF%s</name>
              <description>Clear synchronization overrun event flag
Writing 1 in each bit clears the corresponding overrun flag SOFx in the DMAMUX_CSR register.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>CSOF0W</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear synchronization flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <dim>8</dim>
          <dimIncrement>0x4</dimIncrement>
          <dimIndex>0-7</dimIndex>
          <name>RG%sCR</name>
          <displayName>RG%sCR</displayName>
          <addressOffset>0x100</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>SIG_ID</name>
              <description>Signal identification
Selects the DMA request trigger input used for the channel x of the DMA request generator</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>SIG_ID</name>
                <enumeratedValue>
                  <name>dmamux1_evt0</name>
                  <description>Signal `dmamux1_evt0` selected as trigger input</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>dmamux1_evt1</name>
                  <description>Signal `dmamux1_evt1` selected as trigger input</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>dmamux1_evt2</name>
                  <description>Signal `dmamux1_evt2` selected as trigger input</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>lptim1_out</name>
                  <description>Signal `lptim1_out` selected as trigger input</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>lptim2_out</name>
                  <description>Signal `lptim2_out` selected as trigger input</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>lptim3_out</name>
                  <description>Signal `lptim3_out` selected as trigger input</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>extit0</name>
                  <description>Signal `extit0` selected as trigger input</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>tim12_trgo</name>
                  <description>Signal `tim12_trgo` selected as trigger input</description>
                  <value>7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OIE</name>
              <description>Trigger overrun interrupt enable</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>OIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Trigger overrun interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Trigger overrun interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>GE</name>
              <description>DMA request generator channel x enable</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>GE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>DMA request generation disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>DMA request enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>GPOL</name>
              <description>DMA request generator trigger polarity
Defines the edge polarity of the selected trigger input</description>
              <bitOffset>17</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>GPOL</name>
                <enumeratedValue>
                  <name>NoEdge</name>
                  <description>No event, i.e. no detection nor generation</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>RisingEdge</name>
                  <description>Rising edge</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FallingEdge</name>
                  <description>Falling edge</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>BothEdges</name>
                  <description>Rising and falling edges</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>GNBREQ</name>
              <description>Number of DMA requests to be generated (minus 1)
Defines the number of DMA requests to be generated after a trigger event. The actual number of generated DMA requests is GNBREQ +1.
Note: This field must be written only when GE bit is disabled.</description>
              <bitOffset>19</bitOffset>
              <bitWidth>5</bitWidth>
              <access>read-write</access>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>31</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>RGSR</name>
          <displayName>RGSR</displayName>
          <addressOffset>0x140</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <dim>8</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>0-7</dimIndex>
              <name>OF%s</name>
              <description>[:0]: Trigger overrun event flag
The flag is set when a new trigger event occurs on DMA request generator channel x, before the request counter underrun (the internal request counter programmed via the GNBREQ field of the DMAMUX_RGxCR register).
The flag is cleared by writing 1 to the corresponding COFx bit in the DMAMUX_RGCFR register.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>OF0</name>
                <enumeratedValue>
                  <name>NoTrigger</name>
                  <description>No new trigger event occured on DMA request generator channel x, before the request counter underrun</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Trigger</name>
                  <description>New trigger event occured on DMA request generator channel x, before the request counter underrun</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>RGCFR</name>
          <displayName>RGCFR</displayName>
          <addressOffset>0x144</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <dim>8</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>0-7</dimIndex>
              <name>COF%s</name>
              <description>Clear trigger overrun event flag
Writing 1 in each bit clears the corresponding overrun flag OFx in the DMAMUX_RGSR register.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>COF0W</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear overrun flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>DMAMUX2</name>
      <description>DMAMUX</description>
      <groupName>DMAMUX</groupName>
      <baseAddress>0x58025800</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>DMAMUX2_OVR</name>
        <description>DMAMUX2 overrun interrupt</description>
        <value>128</value>
      </interrupt>
      <registers>
        <register>
          <dim>8</dim>
          <dimIncrement>0x4</dimIncrement>
          <dimIndex>0-7</dimIndex>
          <name>C%sCR</name>
          <displayName>C%sCR</displayName>
          <description>DMAMux - DMA request line multiplexer
          channel x control register</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DMAREQ_ID</name>
              <description>Input DMA request line
              selected</description>
              <bitOffset>0</bitOffset>
              <bitWidth>5</bitWidth>
              <enumeratedValues>
                <name>DMAREQ_ID</name>
                <enumeratedValue>
                  <name>none</name>
                  <description>No signal selected as request input</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>dmamux2_req_gen0</name>
                  <description>Signal `dmamux2_req_gen0` selected as request input</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>dmamux2_req_gen1</name>
                  <description>Signal `dmamux2_req_gen1` selected as request input</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>dmamux2_req_gen2</name>
                  <description>Signal `dmamux2_req_gen2` selected as request input</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>dmamux2_req_gen3</name>
                  <description>Signal `dmamux2_req_gen3` selected as request input</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>dmamux2_req_gen4</name>
                  <description>Signal `dmamux2_req_gen4` selected as request input</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>dmamux2_req_gen5</name>
                  <description>Signal `dmamux2_req_gen5` selected as request input</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>dmamux2_req_gen6</name>
                  <description>Signal `dmamux2_req_gen6` selected as request input</description>
                  <value>7</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>dmamux2_req_gen7</name>
                  <description>Signal `dmamux2_req_gen7` selected as request input</description>
                  <value>8</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>lpuart1_rx_dma</name>
                  <description>Signal `lpuart1_rx_dma` selected as request input</description>
                  <value>9</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>lpuart1_tx_dma</name>
                  <description>Signal `lpuart1_tx_dma` selected as request input</description>
                  <value>10</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>spi6_rx_dma</name>
                  <description>Signal `spi6_rx_dma` selected as request input</description>
                  <value>11</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>spi6_tx_dma</name>
                  <description>Signal `spi6_tx_dma` selected as request input</description>
                  <value>12</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>i2c4_rx_dma</name>
                  <description>Signal `i2c4_rx_dma` selected as request input</description>
                  <value>13</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>i2c4_tx_dma</name>
                  <description>Signal `i2c4_tx_dma` selected as request input</description>
                  <value>14</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>sai4_a_dma</name>
                  <description>Signal `sai4_a_dma` selected as request input</description>
                  <value>15</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>sai4_b_dma</name>
                  <description>Signal `sai4_b_dma` selected as request input</description>
                  <value>16</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>adc3_dma</name>
                  <description>Signal `adc3_dma` selected as request input</description>
                  <value>17</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SOIE</name>
              <description>Interrupt enable at synchronization
              event overrun</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SOIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Synchronization overrun interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Synchronization overrun interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EGE</name>
              <description>Event generation
              enable/disable</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>EGE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Event generation disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Event generation enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SE</name>
              <description>Synchronous operating mode
              enable/disable</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Synchronization disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Synchronization enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SPOL</name>
              <description>Synchronization event type selector
              Defines the synchronization event on the selected
              synchronization input:</description>
              <bitOffset>17</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>SPOL</name>
                <enumeratedValue>
                  <name>NoEdge</name>
                  <description>No event, i.e. no synchronization nor detection</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>RisingEdge</name>
                  <description>Rising edge</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FallingEdge</name>
                  <description>Falling edge</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>BothEdges</name>
                  <description>Rising and falling edges</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>NBREQ</name>
              <description>Number of DMA requests to forward
              Defines the number of DMA requests forwarded before
              output event is generated. In synchronous mode, it
              also defines the number of DMA requests to forward
              after a synchronization event, then stop forwarding.
              The actual number of DMA requests forwarded is
              NBREQ+1. Note: This field can only be written when
              both SE and EGE bits are reset.</description>
              <bitOffset>19</bitOffset>
              <bitWidth>5</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>31</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>SYNC_ID</name>
              <description>Synchronization input
              selected</description>
              <bitOffset>24</bitOffset>
              <bitWidth>5</bitWidth>
              <enumeratedValues>
                <name>SYNC_ID</name>
                <enumeratedValue>
                  <name>dmamux2_evt0</name>
                  <description>Signal `dmamux2_evt0` selected as synchronization input</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>dmamux2_evt1</name>
                  <description>Signal `dmamux2_evt1` selected as synchronization input</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>dmamux2_evt2</name>
                  <description>Signal `dmamux2_evt2` selected as synchronization input</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>dmamux2_evt3</name>
                  <description>Signal `dmamux2_evt3` selected as synchronization input</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>dmamux2_evt4</name>
                  <description>Signal `dmamux2_evt4` selected as synchronization input</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>dmamux2_evt5</name>
                  <description>Signal `dmamux2_evt5` selected as synchronization input</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>lpuart1_rx_wkup</name>
                  <description>Signal `lpuart1_rx_wkup` selected as synchronization input</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>lpuart1_tx_wkup</name>
                  <description>Signal `lpuart1_tx_wkup` selected as synchronization input</description>
                  <value>7</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>lptim2_out</name>
                  <description>Signal `lptim2_out` selected as synchronization input</description>
                  <value>8</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>lptim3_out</name>
                  <description>Signal `lptim3_out` selected as synchronization input</description>
                  <value>9</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>i2c4_wkup</name>
                  <description>Signal `i2c4_wkup` selected as synchronization input</description>
                  <value>10</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>spi6_wkup</name>
                  <description>Signal `spi6_wkup` selected as synchronization input</description>
                  <value>11</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>comp1_out</name>
                  <description>Signal `comp1_out` selected as synchronization input</description>
                  <value>12</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>rtc_wkup</name>
                  <description>Signal `rtc_wkup` selected as synchronization input</description>
                  <value>13</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>syscfg_exti0_mux</name>
                  <description>Signal `syscfg_exti0_mux` selected as synchronization input</description>
                  <value>14</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>syscfg_exti2_mux</name>
                  <description>Signal `syscfg_exti2_mux` selected as synchronization input</description>
                  <value>15</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <dim>8</dim>
          <dimIncrement>0x4</dimIncrement>
          <dimIndex>0-7</dimIndex>
          <name>RG%sCR</name>
          <displayName>RG%sCR</displayName>
          <description>DMAMux - DMA request generator channel x
          control register</description>
          <addressOffset>0x100</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>SIG_ID</name>
              <description>DMA request trigger input
              selected</description>
              <bitOffset>0</bitOffset>
              <bitWidth>5</bitWidth>
              <enumeratedValues>
                <name>SIG_ID</name>
                <enumeratedValue>
                  <name>dmamux2_evt0</name>
                  <description>Signal `dmamux2_evt0` selected as trigger input</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>dmamux2_evt1</name>
                  <description>Signal `dmamux2_evt1` selected as trigger input</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>dmamux2_evt2</name>
                  <description>Signal `dmamux2_evt2` selected as trigger input</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>dmamux2_evt3</name>
                  <description>Signal `dmamux2_evt3` selected as trigger input</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>dmamux2_evt4</name>
                  <description>Signal `dmamux2_evt4` selected as trigger input</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>dmamux2_evt5</name>
                  <description>Signal `dmamux2_evt5` selected as trigger input</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>dmamux2_evt6</name>
                  <description>Signal `dmamux2_evt6` selected as trigger input</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>lpuart_rx_wkup</name>
                  <description>Signal `lpuart_rx_wkup` selected as trigger input</description>
                  <value>7</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>lpuart_tx_wkup</name>
                  <description>Signal `lpuart_tx_wkup` selected as trigger input</description>
                  <value>8</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>lptim2_wkup</name>
                  <description>Signal `lptim2_wkup` selected as trigger input</description>
                  <value>9</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>lptim2_out</name>
                  <description>Signal `lptim2_out` selected as trigger input</description>
                  <value>10</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>lptim3_wkup</name>
                  <description>Signal `lptim3_wkup` selected as trigger input</description>
                  <value>11</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>lptim3_out</name>
                  <description>Signal `lptim3_out` selected as trigger input</description>
                  <value>12</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>lptim4_ait</name>
                  <description>Signal `lptim4_ait` selected as trigger input</description>
                  <value>13</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>lptim5_ait</name>
                  <description>Signal `lptim5_ait` selected as trigger input</description>
                  <value>14</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>i2c4_wkup</name>
                  <description>Signal `i2c4_wkup` selected as trigger input</description>
                  <value>15</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>spi6_wkup</name>
                  <description>Signal `spi6_wkup` selected as trigger input</description>
                  <value>16</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>comp1_out</name>
                  <description>Signal `comp1_out` selected as trigger input</description>
                  <value>17</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>comp2_out</name>
                  <description>Signal `comp2_out` selected as trigger input</description>
                  <value>18</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>rtc_wkup</name>
                  <description>Signal `rtc_wkup` selected as trigger input</description>
                  <value>19</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>syscfg_exti0_mux</name>
                  <description>Signal `syscfg_exti0_mux` selected as trigger input</description>
                  <value>20</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>syscfg_exti2_mux</name>
                  <description>Signal `syscfg_exti2_mux` selected as trigger input</description>
                  <value>21</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>i2c4_event_it</name>
                  <description>Signal `i2c4_event_it` selected as trigger input</description>
                  <value>22</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>spi6_it</name>
                  <description>Signal `spi6_it` selected as trigger input</description>
                  <value>23</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>lpuart1_it_t</name>
                  <description>Signal `lpuart1_it_t` selected as trigger input</description>
                  <value>24</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>lpuart1_it_r</name>
                  <description>Signal `lpuart1_it_r` selected as trigger input</description>
                  <value>25</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>adc3_it</name>
                  <description>Signal `adc3_it` selected as trigger input</description>
                  <value>26</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>adc3_awd1</name>
                  <description>Signal `adc3_awd1` selected as trigger input</description>
                  <value>27</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>bdma_ch0_it</name>
                  <description>Signal `bdma_ch0_it` selected as trigger input</description>
                  <value>28</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>bdma_ch1_it</name>
                  <description>Signal `bdma_ch1_it` selected as trigger input</description>
                  <value>29</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OIE</name>
              <description>Interrupt enable at trigger event
              overrun</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>OIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Trigger overrun interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Trigger overrun interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>GE</name>
              <description>DMA request generator channel
              enable/disable</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>GE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>DMA request generation disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>DMA request enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>GPOL</name>
              <description>DMA request generator trigger event type
              selection Defines the trigger event on the selected
              DMA request trigger input</description>
              <bitOffset>17</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>GPOL</name>
                <enumeratedValue>
                  <name>NoEdge</name>
                  <description>No event, i.e. no detection nor generation</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>RisingEdge</name>
                  <description>Rising edge</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FallingEdge</name>
                  <description>Falling edge</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>BothEdges</name>
                  <description>Rising and falling edges</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>GNBREQ</name>
              <description>Number of DMA requests to generate
              Defines the number of DMA requests generated after a
              trigger event, then stop generating. The actual
              number of generated DMA requests is GNBREQ+1. Note:
              This field can only be written when GE bit is
              reset.</description>
              <bitOffset>19</bitOffset>
              <bitWidth>5</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>31</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>RGSR</name>
          <displayName>RGSR</displayName>
          <addressOffset>0x140</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <dim>8</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>0-7</dimIndex>
              <name>OF%s</name>
              <description>Trigger overrun event flag</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>OF0</name>
                <enumeratedValue>
                  <name>NoTrigger</name>
                  <description>No new trigger event occured on DMA request generator channel x, before the request counter underrun</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Trigger</name>
                  <description>New trigger event occured on DMA request generator channel x, before the request counter underrun</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>RGCFR</name>
          <displayName>RGCFR</displayName>
          <addressOffset>0x144</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <dim>8</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>0-7</dimIndex>
              <name>COF%s</name>
              <description>Clear trigger overrun event flag</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>COF0W</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear overrun flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CSR</name>
          <displayName>CSR</displayName>
          <addressOffset>0x80</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <dim>8</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>0-7</dimIndex>
              <name>SOF%s</name>
              <description>Synchronization overrun event flag</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>SOF0</name>
                <enumeratedValue>
                  <name>NoSyncEvent</name>
                  <description>No synchronization event occured on a DMA request line multiplexer channel x, while the DMA request counter value is lower than NBREQ</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SyncEvent</name>
                  <description>Synchronization event occured on a DMA request line multiplexer channel x, while the DMA request counter value is lower than NBREQ</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CFR</name>
          <displayName>CFR</displayName>
          <addressOffset>0x84</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <dim>8</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>0-7</dimIndex>
              <name>CSOF%s</name>
              <description>Clear synchronization overrun event flag
Writing 1 in each bit clears the corresponding overrun flag SOFx in the DMAMUX_CSR register.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>CSOF0W</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear synchronization flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>FMC</name>
      <description>FMC</description>
      <groupName>FMC</groupName>
      <baseAddress>0x52004000</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>FMC</name>
        <description>FMC global interrupt</description>
        <value>48</value>
      </interrupt>
      <registers>
        <register>
          <name>BCR1</name>
          <displayName>BCR1</displayName>
          <description>This register contains the control
          information of each memory bank, used for SRAMs, PSRAM
          and NOR Flash memories.</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x000030DB</resetValue>
          <fields>
            <field>
              <name>MBKEN</name>
              <description>Memory bank enable bit This bit enables
              the memory bank. After reset Bank1 is enabled, all
              others are disabled. Accessing a disabled bank causes
              an ERROR on AXI bus.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>MBKEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Corresponding memory bank is disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Corresponding memory bank is enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MUXEN</name>
              <description>Address/data multiplexing enable bit
              When this bit is set, the address and data values are
              multiplexed on the data bus, valid only with NOR and
              PSRAM memories:</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>MUXEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Address/Data non-multiplexed</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Address/Data multiplexed on databus</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MTYP</name>
              <description>Memory type These bits define the type
              of external memory attached to the corresponding
              memory bank:</description>
              <bitOffset>2</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>MTYP</name>
                <enumeratedValue>
                  <name>SRAM</name>
                  <description>SRAM memory type</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PSRAM</name>
                  <description>PSRAM (CRAM) memory type</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Flash</name>
                  <description>NOR Flash/OneNAND Flash</description>
                  <value>2</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MWID</name>
              <description>Memory data bus width Defines the
              external memory device width, valid for all type of
              memories.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>MWID</name>
                <enumeratedValue>
                  <name>Bits8</name>
                  <description>Memory data bus width 8 bits</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bits16</name>
                  <description>Memory data bus width 16 bits</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bits32</name>
                  <description>Memory data bus width 32 bits</description>
                  <value>2</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FACCEN</name>
              <description>Flash access enable This bit enables NOR
              Flash memory access operations.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>FACCEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Corresponding NOR Flash memory access is disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Corresponding NOR Flash memory access is enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BURSTEN</name>
              <description>Burst enable bit This bit
              enables/disables synchronous accesses during read
              operations. It is valid only for synchronous memories
              operating in Burst mode:</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>BURSTEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Burst mode disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Burst mode enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>WAITPOL</name>
              <description>Wait signal polarity bit This bit
              defines the polarity of the wait signal from memory
              used for either in synchronous or asynchronous
              mode:</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>WAITPOL</name>
                <enumeratedValue>
                  <name>ActiveLow</name>
                  <description>NWAIT active low</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ActiveHigh</name>
                  <description>NWAIT active high</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>WAITCFG</name>
              <description>Wait timing configuration The NWAIT
              signal indicates whether the data from the memory are
              valid or if a wait state must be inserted when
              accessing the memory in synchronous mode. This
              configuration bit determines if NWAIT is asserted by
              the memory one clock cycle before the wait state or
              during the wait state:</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>WAITCFG</name>
                <enumeratedValue>
                  <name>BeforeWaitState</name>
                  <description>NWAIT signal is active one data cycle before wait state</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DuringWaitState</name>
                  <description>NWAIT signal is active during wait state</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>WREN</name>
              <description>Write enable bit This bit indicates
              whether write operations are enabled/disabled in the
              bank by the FMC:</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>WREN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Write operations disabled for the bank by the FMC</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Write operations enabled for the bank by the FMC</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>WAITEN</name>
              <description>Wait enable bit This bit
              enables/disables wait-state insertion via the NWAIT
              signal when accessing the memory in synchronous
              mode.</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>WAITEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Values inside the FMC_BWTR are taken into account</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>NWAIT signal enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EXTMOD</name>
              <description>Extended mode enable. This bit enables
              the FMC to program the write timings for asynchronous
              accesses inside the FMC_BWTR register, thus resulting
              in different timings for read and write operations.
              Note: When the extended mode is disabled, the FMC can
              operate in Mode1 or Mode2 as follows: ** Mode 1 is
              the default mode when the SRAM/PSRAM memory type is
              selected (MTYP =0x0 or 0x01) ** Mode 2 is the default
              mode when the NOR memory type is selected (MTYP =
              0x10).</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>EXTMOD</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Values inside the FMC_BWTR are not taken into account</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Values inside the FMC_BWTR are taken into account</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ASYNCWAIT</name>
              <description>Wait signal during asynchronous
              transfers This bit enables/disables the FMC to use
              the wait signal even during an asynchronous
              protocol.</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ASYNCWAIT</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Wait signal not used in asynchronous mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Wait signal used even in asynchronous mode</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CPSIZE</name>
              <description>CRAM Page Size These are used for
              Cellular RAM 1.5 which does not allow burst access to
              cross the address boundaries between pages. When
              these bits are configured, the FMC controller splits
              automatically the burst access when the memory page
              size is reached (refer to memory datasheet for page
              size). Other configuration: reserved.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>CPSIZE</name>
                <enumeratedValue>
                  <name>NoBurstSplit</name>
                  <description>No burst split when crossing page boundary</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bytes128</name>
                  <description>128 bytes CRAM page size</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bytes256</name>
                  <description>256 bytes CRAM page size</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bytes512</name>
                  <description>512 bytes CRAM page size</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bytes1024</name>
                  <description>1024 bytes CRAM page size</description>
                  <value>4</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CBURSTRW</name>
              <description>Write burst enable For PSRAM (CRAM)
              operating in Burst mode, the bit enables synchronous
              accesses during write operations. The enable bit for
              synchronous read accesses is the BURSTEN bit in the
              FMC_BCRx register.</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CBURSTRW</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Write operations are always performed in asynchronous mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Write operations are performed in synchronous mode</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CCLKEN</name>
              <description>Continuous Clock Enable This bit enables
              the FMC_CLK clock output to external memory devices.
              Note: The CCLKEN bit of the FMC_BCR2..4 registers is
              dont care. It is only enabled through the FMC_BCR1
              register. Bank 1 must be configured in synchronous
              mode to generate the FMC_CLK continuous clock. If
              CCLKEN bit is set, the FMC_CLK clock ratio is
              specified by CLKDIV value in the FMC_BTR1 register.
              CLKDIV in FMC_BWTR1 is dont care. If the synchronous
              mode is used and CCLKEN bit is set, the synchronous
              memories connected to other banks than Bank 1 are
              clocked by the same clock (the CLKDIV value in the
              FMC_BTR2..4 and FMC_BWTR2..4 registers for other
              banks has no effect.)</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CCLKEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>The FMC_CLK is generated continuously during asynchronous and synchronous access. The FMC_CLK clock is activated when the CCLKEN is set</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>The FMC_CLK is only generated during the synchronous memory access (read/write transaction)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>WFDIS</name>
              <description>Write FIFO Disable This bit disables the
              Write FIFO used by the FMC controller. Note: The
              WFDIS bit of the FMC_BCR2..4 registers is dont care.
              It is only enabled through the FMC_BCR1
              register.</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>WFDIS</name>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Write FIFO enabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Write FIFO disabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BMAP</name>
              <description>FMC bank mapping These bits allows
              different to remap SDRAM bank2 or swap the FMC
              NOR/PSRAM and SDRAM banks.Refer to Table 10 for Note:
              The BMAP bits of the FMC_BCR2..4 registers are dont
              care. It is only enabled through the FMC_BCR1
              register.</description>
              <bitOffset>24</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>BMAP</name>
                <enumeratedValue>
                  <name>Default</name>
                  <description>Default mapping</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Swapped</name>
                  <description>NOR/PSRAM bank and SDRAM bank 1/bank2 are swapped</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Remapped</name>
                  <description>SDRAM Bank2 remapped on FMC bank2 and still accessible at default mapping</description>
                  <value>2</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FMCEN</name>
              <description>FMC controller Enable This bit
              enables/disables the FMC controller. Note: The FMCEN
              bit of the FMC_BCR2..4 registers is dont care. It is
              only enabled through the FMC_BCR1
              register.</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>FMCEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Disable the FMC controller</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Enable the FMC controller</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <dim>4</dim>
          <dimIncrement>0x8</dimIncrement>
          <dimIndex>1-4</dimIndex>
          <name>BTR%s</name>
          <displayName>BTR%s</displayName>
          <description>This register contains the control
          information of each memory bank, used for SRAMs, PSRAM
          and NOR Flash memories.If the EXTMOD bit is set in the
          FMC_BCRx register, then this register is partitioned for
          write and read access, that is, 2 registers are
          available: one to configure read accesses (this register)
          and one to configure write accesses (FMC_BWTRx
          registers).</description>
          <addressOffset>0x4</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x0FFFFFFF</resetValue>
          <fields>
            <field>
              <name>ADDSET</name>
              <description>Address setup phase duration These bits
              are written by software to define the duration of the
              address setup phase (refer to Figure81 to Figure93),
              used in SRAMs, ROMs and asynchronous NOR Flash: For
              each access mode address setup phase duration, please
              refer to the respective figure (refer to Figure81 to
              Figure93). Note: In synchronous accesses, this value
              is dont care. In Muxed mode or Mode D, the minimum
              value for ADDSET is 1.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>ADDHLD</name>
              <description>Address-hold phase duration These bits
              are written by software to define the duration of the
              address hold phase (refer to Figure81 to Figure93),
              used in mode D or multiplexed accesses: For each
              access mode address-hold phase duration, please refer
              to the respective figure (Figure81 to Figure93).
              Note: In synchronous accesses, this value is not
              used, the address hold phase is always 1 memory clock
              period duration.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>4</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>1</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>DATAST</name>
              <description>Data-phase duration These bits are
              written by software to define the duration of the
              data phase (refer to Figure81 to Figure93), used in
              asynchronous accesses: For each memory type and
              access mode data-phase duration, please refer to the
              respective figure (Figure81 to Figure93). Example:
              Mode1, write access, DATAST=1: Data-phase duration=
              DATAST+1 = 2 KCK_FMC clock cycles. Note: In
              synchronous accesses, this value is dont
              care.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>1</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>BUSTURN</name>
              <description>Bus turnaround phase duration These bits
              are written by software to add a delay at the end of
              a write-to-read or read-to write transaction. The
              programmed bus turnaround delay is inserted between
              an asynchronous read (in muxed or mode D) or write
              transaction and any other asynchronous /synchronous
              read/write from/to a static bank. If a read operation
              is performed, the bank can be the same or a different
              one, whereas it must be different in case of write
              operation to the bank, except in muxed mode or mode
              D. In some cases, whatever the programmed BUSTRUN
              values, the bus turnaround delay is fixed as follows:
              The bus turnaround delay is not inserted between two
              consecutive asynchronous write transfers to the same
              static memory bank except in muxed mode and mode D.
              There is a bus turnaround delay of 1 FMC clock cycle
              between: Two consecutive asynchronous read transfers
              to the same static memory bank except for modes muxed
              and D. An asynchronous read to an asynchronous or
              synchronous write to any static bank or dynamic bank
              except in modes muxed and D mode. There is a bus
              turnaround delay of 2 FMC clock cycle between: Two
              consecutive synchronous write operations (in Burst or
              Single mode) to the same bank. A synchronous write
              (burst or single) access and an asynchronous write or
              read transfer to or from static memory bank (the bank
              can be the same or a different one in case of a read
              operation. Two consecutive synchronous read
              operations (in Burst or Single mode) followed by any
              synchronous/asynchronous read or write from/to
              another static memory bank. There is a bus turnaround
              delay of 3 FMC clock cycle between: Two consecutive
              synchronous write operations (in Burst or Single
              mode) to different static banks. A synchronous write
              access (in Burst or Single mode) and a synchronous
              read from the same or a different bank. The bus
              turnaround delay allows to match the minimum time
              between consecutive transactions (tEHEL from NEx high
              to NEx low) and the maximum time required by the
              memory to free the data bus after a read access
              (tEHQZ): (BUSTRUN + 1) KCK_FMC period &amp;#8805;
              tEHELmin and (BUSTRUN + 2)KCK_FMC period &amp;#8805;
              tEHQZmax if EXTMOD = 0 (BUSTRUN + 2)KCK_FMC period
              &amp;#8805; max (tEHELmin, tEHQZmax) if EXTMOD = 126.
              ...</description>
              <bitOffset>16</bitOffset>
              <bitWidth>4</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>CLKDIV</name>
              <description>Clock divide ratio (for FMC_CLK signal)
              These bits define the period of FMC_CLK clock output
              signal, expressed in number of KCK_FMC cycles: In
              asynchronous NOR Flash, SRAM or PSRAM accesses, this
              value is dont care. Note: Refer to Section20.6.5:
              Synchronous transactions for FMC_CLK divider ratio
              formula)</description>
              <bitOffset>20</bitOffset>
              <bitWidth>4</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>1</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>DATLAT</name>
              <description>Data latency for synchronous memory For
              synchronous access with read write burst mode enabled
              these bits define the number of memory clock
              cycles</description>
              <bitOffset>24</bitOffset>
              <bitWidth>4</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>ACCMOD</name>
              <description>Access mode These bits specify the
              asynchronous access modes as shown in the timing
              diagrams. They are taken into account only when the
              EXTMOD bit in the FMC_BCRx register is
              1.</description>
              <bitOffset>28</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>ACCMOD</name>
                <enumeratedValue>
                  <name>A</name>
                  <description>Access mode A</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>B</name>
                  <description>Access mode B</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>C</name>
                  <description>Access mode C</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>D</name>
                  <description>Access mode D</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <dim>3</dim>
          <dimIncrement>0x8</dimIncrement>
          <dimIndex>2-4</dimIndex>
          <name>BCR%s</name>
          <displayName>BCR%s</displayName>
          <description>This register contains the control
          information of each memory bank, used for SRAMs, PSRAM
          and NOR Flash memories.</description>
          <addressOffset>0x8</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x000030D2</resetValue>
          <fields>
            <field derivedFrom="FMC.BCR1.MBKEN">
              <name>MBKEN</name>
              <description>Memory bank enable bit This bit enables
              the memory bank. After reset Bank1 is enabled, all
              others are disabled. Accessing a disabled bank causes
              an ERROR on AXI bus.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="FMC.BCR1.MUXEN">
              <name>MUXEN</name>
              <description>Address/data multiplexing enable bit
              When this bit is set, the address and data values are
              multiplexed on the data bus, valid only with NOR and
              PSRAM memories:</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="FMC.BCR1.MTYP">
              <name>MTYP</name>
              <description>Memory type These bits define the type
              of external memory attached to the corresponding
              memory bank:</description>
              <bitOffset>2</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field derivedFrom="FMC.BCR1.MWID">
              <name>MWID</name>
              <description>Memory data bus width Defines the
              external memory device width, valid for all type of
              memories.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field derivedFrom="FMC.BCR1.FACCEN">
              <name>FACCEN</name>
              <description>Flash access enable This bit enables NOR
              Flash memory access operations.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="FMC.BCR1.BURSTEN">
              <name>BURSTEN</name>
              <description>Burst enable bit This bit
              enables/disables synchronous accesses during read
              operations. It is valid only for synchronous memories
              operating in Burst mode:</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="FMC.BCR1.WAITPOL">
              <name>WAITPOL</name>
              <description>Wait signal polarity bit This bit
              defines the polarity of the wait signal from memory
              used for either in synchronous or asynchronous
              mode:</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="FMC.BCR1.WAITCFG">
              <name>WAITCFG</name>
              <description>Wait timing configuration The NWAIT
              signal indicates whether the data from the memory are
              valid or if a wait state must be inserted when
              accessing the memory in synchronous mode. This
              configuration bit determines if NWAIT is asserted by
              the memory one clock cycle before the wait state or
              during the wait state:</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="FMC.BCR1.WREN">
              <name>WREN</name>
              <description>Write enable bit This bit indicates
              whether write operations are enabled/disabled in the
              bank by the FMC:</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="FMC.BCR1.WAITEN">
              <name>WAITEN</name>
              <description>Wait enable bit This bit
              enables/disables wait-state insertion via the NWAIT
              signal when accessing the memory in synchronous
              mode.</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="FMC.BCR1.EXTMOD">
              <name>EXTMOD</name>
              <description>Extended mode enable. This bit enables
              the FMC to program the write timings for asynchronous
              accesses inside the FMC_BWTR register, thus resulting
              in different timings for read and write operations.
              Note: When the extended mode is disabled, the FMC can
              operate in Mode1 or Mode2 as follows: ** Mode 1 is
              the default mode when the SRAM/PSRAM memory type is
              selected (MTYP =0x0 or 0x01) ** Mode 2 is the default
              mode when the NOR memory type is selected (MTYP =
              0x10).</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="FMC.BCR1.ASYNCWAIT">
              <name>ASYNCWAIT</name>
              <description>Wait signal during asynchronous
              transfers This bit enables/disables the FMC to use
              the wait signal even during an asynchronous
              protocol.</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="FMC.BCR1.CPSIZE">
              <name>CPSIZE</name>
              <description>CRAM Page Size These are used for
              Cellular RAM 1.5 which does not allow burst access to
              cross the address boundaries between pages. When
              these bits are configured, the FMC controller splits
              automatically the burst access when the memory page
              size is reached (refer to memory datasheet for page
              size). Other configuration: reserved.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>3</bitWidth>
            </field>
            <field derivedFrom="FMC.BCR1.CBURSTRW">
              <name>CBURSTRW</name>
              <description>Write burst enable For PSRAM (CRAM)
              operating in Burst mode, the bit enables synchronous
              accesses during write operations. The enable bit for
              synchronous read accesses is the BURSTEN bit in the
              FMC_BCRx register.</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>PCR</name>
          <displayName>PCR</displayName>
          <description>NAND Flash control registers</description>
          <addressOffset>0x80</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000018</resetValue>
          <fields>
            <field>
              <name>PWAITEN</name>
              <description>Wait feature enable bit. This bit
              enables the Wait feature for the NAND Flash memory
              bank:</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>PWAITEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Wait feature disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Wait feature enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PBKEN</name>
              <description>NAND Flash memory bank enable bit. This
              bit enables the memory bank. Accessing a disabled
              memory bank causes an ERROR on AXI bus</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>PBKEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Corresponding memory bank is disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Corresponding memory bank is enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PWID</name>
              <description>Data bus width. These bits define the
              external memory device width.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>PWID</name>
                <enumeratedValue>
                  <name>Bits8</name>
                  <description>External memory device width 8 bits</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bits16</name>
                  <description>External memory device width 16 bits</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ECCEN</name>
              <description>ECC computation logic enable
              bit</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ECCEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>ECC logic is disabled and reset</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>ECC logic is enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TCLR</name>
              <description>CLE to RE delay. These bits set time
              from CLE low to RE low in number of KCK_FMC clock
              cycles. The time is give by the following formula:
              t_clr = (TCLR + SET + 2) TKCK_FMC where TKCK_FMC is
              the KCK_FMC clock period Note: Set is MEMSET or
              ATTSET according to the addressed
              space.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>4</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>TAR</name>
              <description>ALE to RE delay. These bits set time
              from ALE low to RE low in number of KCK_FMC clock
              cycles. Time is: t_ar = (TAR + SET + 2) TKCK_FMC
              where TKCK_FMC is the FMC clock period Note: Set is
              MEMSET or ATTSET according to the addressed
              space.</description>
              <bitOffset>13</bitOffset>
              <bitWidth>4</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>ECCPS</name>
              <description>ECC page size. These bits define the
              page size for the extended ECC:</description>
              <bitOffset>17</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>ECCPS</name>
                <enumeratedValue>
                  <name>Bytes256</name>
                  <description>ECC page size 256 bytes</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bytes512</name>
                  <description>ECC page size 512 bytes</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bytes1024</name>
                  <description>ECC page size 1024 bytes</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bytes2048</name>
                  <description>ECC page size 2048 bytes</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bytes4096</name>
                  <description>ECC page size 4096 bytes</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bytes8192</name>
                  <description>ECC page size 8192 bytes</description>
                  <value>5</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>SR</name>
          <displayName>SR</displayName>
          <description>This register contains information about the
          FIFO status and interrupt. The FMC features a FIFO that
          is used when writing to memories to transfer up to 16
          words of data.This is used to quickly write to the FIFO
          and free the AXI bus for transactions to peripherals
          other than the FMC, while the FMC is draining its FIFO
          into the memory. One of these register bits indicates the
          status of the FIFO, for ECC purposes.The ECC is
          calculated while the data are written to the memory. To
          read the correct ECC, the software must consequently wait
          until the FIFO is empty.</description>
          <addressOffset>0x84</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000040</resetValue>
          <fields>
            <field>
              <name>IRS</name>
              <description>Interrupt rising edge status The flag is
              set by hardware and reset by software. Note: If this
              bit is written by software to 1 it will be
              set.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>IRS</name>
                <enumeratedValue>
                  <name>DidNotOccur</name>
                  <description>Interrupt rising edge did not occur</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Occurred</name>
                  <description>Interrupt rising edge occurred</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ILS</name>
              <description>Interrupt high-level status The flag is
              set by hardware and reset by software.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>ILS</name>
                <enumeratedValue>
                  <name>DidNotOccur</name>
                  <description>Interrupt high-level did not occur</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Occurred</name>
                  <description>Interrupt high-level occurred</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>IFS</name>
              <description>Interrupt falling edge status The flag
              is set by hardware and reset by software. Note: If
              this bit is written by software to 1 it will be
              set.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>IFS</name>
                <enumeratedValue>
                  <name>DidNotOccur</name>
                  <description>Interrupt falling edge did not occur</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Occurred</name>
                  <description>Interrupt falling edge occurred</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>IREN</name>
              <description>Interrupt rising edge detection enable
              bit</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>IREN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt rising edge detection request disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt rising edge detection request enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ILEN</name>
              <description>Interrupt high-level detection enable
              bit</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>ILEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt high-level detection request disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt high-level detection request enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>IFEN</name>
              <description>Interrupt falling edge detection enable
              bit</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>IFEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt falling edge detection request disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt falling edge detection request enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FEMPT</name>
              <description>FIFO empty. Read-only bit that provides
              the status of the FIFO</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>FEMPT</name>
                <enumeratedValue>
                  <name>NotEmpty</name>
                  <description>FIFO not empty</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Empty</name>
                  <description>FIFO empty</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PMEM</name>
          <displayName>PMEM</displayName>
          <description>The FMC_PMEM read/write register contains
          the timing information for NAND Flash memory bank. This
          information is used to access either the common memory
          space of the NAND Flash for command, address write access
          and data read/write access.</description>
          <addressOffset>0x88</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0xFCFCFCFC</resetValue>
          <fields>
            <field>
              <name>MEMSET</name>
              <description>Common memory x setup time These bits
              define the number of KCK_FMC (+1) clock cycles to set
              up the address before the command assertion (NWE,
              NOE), for NAND Flash read or write access to common
              memory space:</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>254</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>MEMWAIT</name>
              <description>Common memory wait time These bits
              define the minimum number of KCK_FMC (+1) clock
              cycles to assert the command (NWE, NOE), for NAND
              Flash read or write access to common memory space.
              The duration of command assertion is extended if the
              wait signal (NWAIT) is active (low) at the end of the
              programmed value of KCK_FMC:</description>
              <bitOffset>8</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>1</minimum>
                  <maximum>254</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>MEMHOLD</name>
              <description>Common memory hold time These bits
              define the number of KCK_FMC clock cycles for write
              accesses and KCK_FMC+1 clock cycles for read accesses
              during which the address is held (and data for write
              accesses) after the command is de-asserted (NWE,
              NOE), for NAND Flash read or write access to common
              memory space:</description>
              <bitOffset>16</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>1</minimum>
                  <maximum>254</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>MEMHIZ</name>
              <description>Common memory x data bus Hi-Z time These
              bits define the number of KCK_FMC clock cycles during
              which the data bus is kept Hi-Z after the start of a
              NAND Flash write access to common memory space. This
              is only valid for write transactions:</description>
              <bitOffset>24</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>254</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>PATT</name>
          <displayName>PATT</displayName>
          <description>The FMC_PATT read/write register contains
          the timing information for NAND Flash memory bank. It is
          used for 8-bit accesses to the attribute memory space of
          the NAND Flash for the last address write access if the
          timing must differ from that of previous accesses (for
          Ready/Busy management, refer to Section20.8.5: NAND Flash
          prewait feature).</description>
          <addressOffset>0x8C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0xFCFCFCFC</resetValue>
          <fields>
            <field>
              <name>ATTSET</name>
              <description>Attribute memory setup time These bits
              define the number of KCK_FMC (+1) clock cycles to set
              up address before the command assertion (NWE, NOE),
              for NAND Flash read or write access to attribute
              memory space:</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>254</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>ATTWAIT</name>
              <description>Attribute memory wait time These bits
              define the minimum number of x KCK_FMC (+1) clock
              cycles to assert the command (NWE, NOE), for NAND
              Flash read or write access to attribute memory space.
              The duration for command assertion is extended if the
              wait signal (NWAIT) is active (low) at the end of the
              programmed value of KCK_FMC:</description>
              <bitOffset>8</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>1</minimum>
                  <maximum>254</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>ATTHOLD</name>
              <description>Attribute memory hold time These bits
              define the number of KCK_FMC clock cycles during
              which the address is held (and data for write access)
              after the command de-assertion (NWE, NOE), for NAND
              Flash read or write access to attribute memory
              space:</description>
              <bitOffset>16</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>1</minimum>
                  <maximum>254</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>ATTHIZ</name>
              <description>Attribute memory data bus Hi-Z time
              These bits define the number of KCK_FMC clock cycles
              during which the data bus is kept in Hi-Z after the
              start of a NAND Flash write access to attribute
              memory space on socket. Only valid for writ
              transaction:</description>
              <bitOffset>24</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>254</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>ECCR</name>
          <displayName>ECCR</displayName>
          <description>This register contain the current error
          correction code value computed by the ECC computation
          modules of the FMC NAND controller. When the CPU
          reads/writes the data from a NAND Flash memory page at
          the correct address (refer to Section20.8.6: Computation
          of the error correction code (ECC) in NAND Flash memory),
          the data read/written from/to the NAND Flash memory are
          processed automatically by the ECC computation module.
          When X bytes have been read (according to the ECCPS field
          in the FMC_PCR registers), the CPU must read the computed
          ECC value from the FMC_ECC registers. It then verifies if
          these computed parity data are the same as the parity
          value recorded in the spare area, to determine whether a
          page is valid, and, to correct it otherwise. The FMC_ECCR
          register should be cleared after being read by setting
          the ECCEN bit to 0. To compute a new data block, the
          ECCEN bit must be set to 1.</description>
          <addressOffset>0x94</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>ECC</name>
              <description>ECC result This field contains the value
              computed by the ECC computation logic. Table167
              describes the contents of these bit
              fields.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4294967295</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <dim>4</dim>
          <dimIncrement>0x8</dimIncrement>
          <dimIndex>1-4</dimIndex>
          <name>BWTR%s</name>
          <displayName>BWTR%s</displayName>
          <description>This register contains the control
          information of each memory bank. It is used for SRAMs,
          PSRAMs and NOR Flash memories. When the EXTMOD bit is set
          in the FMC_BCRx register, then this register is active
          for write access.</description>
          <addressOffset>0x104</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x0FFFFFFF</resetValue>
          <fields>
            <field>
              <name>ADDSET</name>
              <description>Address setup phase duration. These bits
              are written by software to define the duration of the
              address setup phase in KCK_FMC cycles (refer to
              Figure81 to Figure93), used in asynchronous accesses:
              ... Note: In synchronous accesses, this value is not
              used, the address setup phase is always 1 Flash clock
              period duration. In muxed mode, the minimum ADDSET
              value is 1.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>ADDHLD</name>
              <description>Address-hold phase duration. These bits
              are written by software to define the duration of the
              address hold phase (refer to Figure81 to Figure93),
              used in asynchronous multiplexed accesses: ... Note:
              In synchronous NOR Flash accesses, this value is not
              used, the address hold phase is always 1 Flash clock
              period duration.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>4</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>1</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>DATAST</name>
              <description>Data-phase duration. These bits are
              written by software to define the duration of the
              data phase (refer to Figure81 to Figure93), used in
              asynchronous SRAM, PSRAM and NOR Flash memory
              accesses:</description>
              <bitOffset>8</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>1</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>BUSTURN</name>
              <description>Bus turnaround phase duration These bits
              are written by software to add a delay at the end of
              a write transaction to match the minimum time between
              consecutive transactions (tEHEL from ENx high to ENx
              low): (BUSTRUN + 1) KCK_FMC period &amp;#8805;
              tEHELmin. The programmed bus turnaround delay is
              inserted between a an asynchronous write transfer and
              any other asynchronous /synchronous read or write
              transfer to or from a static bank. If a read
              operation is performed, the bank can be the same or a
              different one, whereas it must be different in case
              of write operation to the bank, except in muxed mode
              or mode D. In some cases, whatever the programmed
              BUSTRUN values, the bus turnaround delay is fixed as
              follows: The bus turnaround delay is not inserted
              between two consecutive asynchronous write transfers
              to the same static memory bank except for muxed mode
              and mode D. There is a bus turnaround delay of 2 FMC
              clock cycle between: Two consecutive synchronous
              write operations (in Burst or Single mode) to the
              same bank A synchronous write transfer ((in Burst or
              Single mode) and an asynchronous write or read
              transfer to or from static memory bank. There is a
              bus turnaround delay of 3 FMC clock cycle between:
              Two consecutive synchronous write operations (in
              Burst or Single mode) to different static banks. A
              synchronous write transfer (in Burst or Single mode)
              and a synchronous read from the same or a different
              bank. ...</description>
              <bitOffset>16</bitOffset>
              <bitWidth>4</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>ACCMOD</name>
              <description>Access mode. These bits specify the
              asynchronous access modes as shown in the next timing
              diagrams.These bits are taken into account only when
              the EXTMOD bit in the FMC_BCRx register is
              1.</description>
              <bitOffset>28</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>ACCMOD</name>
                <enumeratedValue>
                  <name>A</name>
                  <description>Access mode A</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>B</name>
                  <description>Access mode B</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>C</name>
                  <description>Access mode C</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>D</name>
                  <description>Access mode D</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>SDCR1</name>
          <displayName>SDCR1</displayName>
          <description>This register contains the control
          parameters for each SDRAM memory bank</description>
          <addressOffset>0x140</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x000002D0</resetValue>
          <fields>
            <field>
              <name>NC</name>
              <description>Number of column address bits These bits
              define the number of bits of a column
              address.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>NC</name>
                <enumeratedValue>
                  <name>Bits8</name>
                  <description>8 bits</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bits9</name>
                  <description>9 bits</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bits10</name>
                  <description>10 bits</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bits11</name>
                  <description>11 bits</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>NR</name>
              <description>Number of row address bits These bits
              define the number of bits of a row
              address.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>NR</name>
                <enumeratedValue>
                  <name>Bits11</name>
                  <description>11 bits</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bits12</name>
                  <description>12 bits</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bits13</name>
                  <description>13 bits</description>
                  <value>2</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MWID</name>
              <description>Memory data bus width. These bits define
              the memory device width.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>MWID</name>
                <enumeratedValue>
                  <name>Bits8</name>
                  <description>Memory data bus width 8 bits</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bits16</name>
                  <description>Memory data bus width 16 bits</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bits32</name>
                  <description>Memory data bus width 32 bits</description>
                  <value>2</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>NB</name>
              <description>Number of internal banks This bit sets
              the number of internal banks.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>NB</name>
                <enumeratedValue>
                  <name>NB2</name>
                  <description>Two internal Banks</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>NB4</name>
                  <description>Four internal Banks</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CAS</name>
              <description>CAS Latency This bits sets the SDRAM CAS
              latency in number of memory clock
              cycles</description>
              <bitOffset>7</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>CAS</name>
                <enumeratedValue>
                  <name>Clocks1</name>
                  <description>1 cycle</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Clocks2</name>
                  <description>2 cycles</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Clocks3</name>
                  <description>3 cycles</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>WP</name>
              <description>Write protection This bit enables write
              mode access to the SDRAM bank.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>WP</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Write accesses allowed</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Write accesses ignored</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SDCLK</name>
              <description>SDRAM clock configuration These bits
              define the SDRAM clock period for both SDRAM banks
              and allow disabling the clock before changing the
              frequency. In this case the SDRAM must be
              re-initialized. Note: The corresponding bits in the
              FMC_SDCR2 register is read only.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>SDCLK</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>SDCLK clock disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div2</name>
                  <description>SDCLK period = 2 x HCLK period</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div3</name>
                  <description>SDCLK period = 3 x HCLK period</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RBURST</name>
              <description>Burst read This bit enables burst read
              mode. The SDRAM controller anticipates the next read
              commands during the CAS latency and stores data in
              the Read FIFO. Note: The corresponding bit in the
              FMC_SDCR2 register is read only.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RBURST</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Single read requests are not managed as bursts</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Single read requests are always managed as bursts</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RPIPE</name>
              <description>Read pipe These bits define the delay,
              in KCK_FMC clock cycles, for reading data after CAS
              latency. Note: The corresponding bits in the
              FMC_SDCR2 register is read only.</description>
              <bitOffset>13</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>RPIPE</name>
                <enumeratedValue>
                  <name>NoDelay</name>
                  <description>No clock cycle delay</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Clocks1</name>
                  <description>One clock cycle delay</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Clocks2</name>
                  <description>Two clock cycles delay</description>
                  <value>2</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>SDCR2</name>
          <displayName>SDCR2</displayName>
          <description>This register contains the control
          parameters for each SDRAM memory bank</description>
          <addressOffset>0x144</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x000002D0</resetValue>
          <fields>
            <field derivedFrom="FMC.SDCR1.NC">
              <name>NC</name>
              <description>Number of column address bits These bits
              define the number of bits of a column
              address.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field derivedFrom="FMC.SDCR1.NR">
              <name>NR</name>
              <description>Number of row address bits These bits
              define the number of bits of a row
              address.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field derivedFrom="FMC.SDCR1.MWID">
              <name>MWID</name>
              <description>Memory data bus width. These bits define
              the memory device width.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field derivedFrom="FMC.SDCR1.NB">
              <name>NB</name>
              <description>Number of internal banks This bit sets
              the number of internal banks.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="FMC.SDCR1.CAS">
              <name>CAS</name>
              <description>CAS Latency This bits sets the SDRAM CAS
              latency in number of memory clock
              cycles</description>
              <bitOffset>7</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field derivedFrom="FMC.SDCR1.WP">
              <name>WP</name>
              <description>Write protection This bit enables write
              mode access to the SDRAM bank.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="FMC.SDCR1.SDCLK">
              <name>SDCLK</name>
              <description>SDRAM clock configuration These bits
              define the SDRAM clock period for both SDRAM banks
              and allow disabling the clock before changing the
              frequency. In this case the SDRAM must be
              re-initialized. Note: The corresponding bits in the
              FMC_SDCR2 register is read only.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>RBURST</name>
              <description>Burst read This bit enables burst read
              mode. The SDRAM controller anticipates the next read
              commands during the CAS latency and stores data in
              the Read FIFO. Note: The corresponding bit in the
              FMC_SDCR2 register is read only.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RBURST</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Single read requests are not managed as bursts</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Single read requests are always managed as bursts</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RPIPE</name>
              <description>Read pipe These bits define the delay,
              in KCK_FMC clock cycles, for reading data after CAS
              latency. Note: The corresponding bits in the
              FMC_SDCR2 register is read only.</description>
              <bitOffset>13</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>RPIPE</name>
                <enumeratedValue>
                  <name>NoDelay</name>
                  <description>No clock cycle delay</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Clocks1</name>
                  <description>One clock cycle delay</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Clocks2</name>
                  <description>Two clock cycles delay</description>
                  <value>2</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <dim>2</dim>
          <dimIncrement>0x4</dimIncrement>
          <dimIndex>1-2</dimIndex>
          <name>SDTR%s</name>
          <displayName>SDTR%s</displayName>
          <description>This register contains the timing parameters
          of each SDRAM bank</description>
          <addressOffset>0x148</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x0FFFFFFF</resetValue>
          <fields>
            <field>
              <name>TMRD</name>
              <description>Load Mode Register to Active These bits
              define the delay between a Load Mode Register command
              and an Active or Refresh command in number of memory
              clock cycles. ....</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>TXSR</name>
              <description>Exit Self-refresh delay These bits
              define the delay from releasing the Self-refresh
              command to issuing the Activate command in number of
              memory clock cycles. .... Note: If two SDRAM devices
              are used, the FMC_SDTR1 and FMC_SDTR2 must be
              programmed with the same TXSR timing corresponding to
              the slowest SDRAM device.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>4</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>TRAS</name>
              <description>Self refresh time These bits define the
              minimum Self-refresh period in number of memory clock
              cycles. ....</description>
              <bitOffset>8</bitOffset>
              <bitWidth>4</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>TRC</name>
              <description>Row cycle delay These bits define the
              delay between the Refresh command and the Activate
              command, as well as the delay between two consecutive
              Refresh commands. It is expressed in number of memory
              clock cycles. The TRC timing is only configured in
              the FMC_SDTR1 register. If two SDRAM devices are
              used, the TRC must be programmed with the timings of
              the slowest device. .... Note: TRC must match the TRC
              and TRFC (Auto Refresh period) timings defined in the
              SDRAM device datasheet. Note: The corresponding bits
              in the FMC_SDTR2 register are dont
              care.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>4</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>TWR</name>
              <description>Recovery delay These bits define the
              delay between a Write and a Precharge command in
              number of memory clock cycles. .... Note: TWR must be
              programmed to match the write recovery time (tWR)
              defined in the SDRAM datasheet, and to guarantee
              that: TWR &amp;#8805; TRAS - TRCD and TWR
              &amp;#8805;TRC - TRCD - TRP Example: TRAS= 4 cycles,
              TRCD= 2 cycles. So, TWR &amp;gt;= 2 cycles. TWR must
              be programmed to 0x1. If two SDRAM devices are used,
              the FMC_SDTR1 and FMC_SDTR2 must be programmed with
              the same TWR timing corresponding to the slowest
              SDRAM device.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>4</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>TRP</name>
              <description>Row precharge delay These bits define
              the delay between a Precharge command and another
              command in number of memory clock cycles. The TRP
              timing is only configured in the FMC_SDTR1 register.
              If two SDRAM devices are used, the TRP must be
              programmed with the timing of the slowest device.
              .... Note: The corresponding bits in the FMC_SDTR2
              register are dont care.</description>
              <bitOffset>20</bitOffset>
              <bitWidth>4</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>TRCD</name>
              <description>Row to column delay These bits define
              the delay between the Activate command and a
              Read/Write command in number of memory clock cycles.
              ....</description>
              <bitOffset>24</bitOffset>
              <bitWidth>4</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>SDCMR</name>
          <displayName>SDCMR</displayName>
          <description>This register contains the command issued
          when the SDRAM device is accessed. This register is used
          to initialize the SDRAM device, and to activate the
          Self-refresh and the Power-down modes. As soon as the
          MODE field is written, the command will be issued only to
          one or to both SDRAM banks according to CTB1 and CTB2
          command bits. This register is the same for both SDRAM
          banks.</description>
          <addressOffset>0x150</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>MODE</name>
              <description>Command mode These bits define the
              command issued to the SDRAM device. Note: When a
              command is issued, at least one Command Target Bank
              bit ( CTB1 or CTB2) must be set otherwise the command
              will be ignored. Note: If two SDRAM banks are used,
              the Auto-refresh and PALL command must be issued
              simultaneously to the two devices with CTB1 and CTB2
              bits set otherwise the command will be ignored. Note:
              If only one SDRAM bank is used and a command is
              issued with its associated CTB bit set, the other CTB
              bit of the unused bank must be kept to
              0.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>MODE</name>
                <enumeratedValue>
                  <name>Normal</name>
                  <description>Normal Mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ClockConfigurationEnable</name>
                  <description>Clock Configuration Enable</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PALL</name>
                  <description>PALL (All Bank Precharge) command</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>AutoRefreshCommand</name>
                  <description>Auto-refresh command</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LoadModeRegister</name>
                  <description>Load Mode Resgier</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SelfRefreshCommand</name>
                  <description>Self-refresh command</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PowerDownCommand</name>
                  <description>Power-down command</description>
                  <value>6</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CTB2</name>
              <description>Command Target Bank 2 This bit indicates
              whether the command will be issued to SDRAM Bank 2 or
              not.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CTB2</name>
                <enumeratedValue>
                  <name>NotIssued</name>
                  <description>Command not issued to SDRAM Bank 1</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Issued</name>
                  <description>Command issued to SDRAM Bank 1</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CTB1</name>
              <description>Command Target Bank 1 This bit indicates
              whether the command will be issued to SDRAM Bank 1 or
              not.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CTB2"/>
            </field>
            <field>
              <name>NRFS</name>
              <description>Number of Auto-refresh These bits define
              the number of consecutive Auto-refresh commands
              issued when MODE = 011. ....</description>
              <bitOffset>5</bitOffset>
              <bitWidth>4</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>MRD</name>
              <description>Mode Register definition This 14-bit
              field defines the SDRAM Mode Register content. The
              Mode Register is programmed using the Load Mode
              Register command. The MRD[13:0] bits are also used to
              program the extended mode register for mobile
              SDRAM.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>14</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>8191</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>SDRTR</name>
          <displayName>SDRTR</displayName>
          <description>This register sets the refresh rate in
          number of SDCLK clock cycles between the refresh cycles
          by configuring the Refresh Timer Count value.Examplewhere
          64 ms is the SDRAM refresh period.The refresh rate must
          be increased by 20 SDRAM clock cycles (as in the above
          example) to obtain a safe margin if an internal refresh
          request occurs when a read request has been accepted. It
          corresponds to a COUNT value of 0000111000000 (448). This
          13-bit field is loaded into a timer which is decremented
          using the SDRAM clock. This timer generates a refresh
          pulse when zero is reached. The COUNT value must be set
          at least to 41 SDRAM clock cycles.As soon as the
          FMC_SDRTR register is programmed, the timer starts
          counting. If the value programmed in the register is 0,
          no refresh is carried out. This register must not be
          reprogrammed after the initialization procedure to avoid
          modifying the refresh rate.Each time a refresh pulse is
          generated, this 13-bit COUNT field is reloaded into the
          counter.If a memory access is in progress, the
          Auto-refresh request is delayed. However, if the memory
          access and Auto-refresh requests are generated
          simultaneously, the Auto-refresh takes precedence. If the
          memory access occurs during a refresh operation, the
          request is buffered to be processed when the refresh is
          complete.This register is common to SDRAM bank 1 and bank
          2.</description>
          <addressOffset>0x154</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CRE</name>
              <description>Clear Refresh error flag This bit is
              used to clear the Refresh Error Flag (RE) in the
              Status Register.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
              <enumeratedValues>
                <name>CRE</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Refresh Error Flag is cleared</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>COUNT</name>
              <description>Refresh Timer Count This 13-bit field
              defines the refresh rate of the SDRAM device. It is
              expressed in number of memory clock cycles. It must
              be set at least to 41 SDRAM clock cycles (0x29).
              Refresh rate = (COUNT + 1) x SDRAM frequency clock
              COUNT = (SDRAM refresh period / Number of rows) -
              20</description>
              <bitOffset>1</bitOffset>
              <bitWidth>13</bitWidth>
              <access>read-write</access>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>8191</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>REIE</name>
              <description>RES Interrupt Enable</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>REIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt is disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt is generated if RE = 1</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>SDSR</name>
          <displayName>SDSR</displayName>
          <description>SDRAM Status register</description>
          <addressOffset>0x158</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>RE</name>
              <description>Refresh error flag An interrupt is
              generated if REIE = 1 and RE = 1</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RE</name>
                <enumeratedValue>
                  <name>NoError</name>
                  <description>No refresh error has been detected</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Error</name>
                  <description>A refresh error has been detected</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODES1</name>
              <description>Status Mode for Bank 1 These bits define
              the Status Mode of SDRAM Bank 1.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>MODES1</name>
                <enumeratedValue>
                  <name>Normal</name>
                  <description>Normal Mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SelfRefresh</name>
                  <description>Self-refresh mode</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PowerDown</name>
                  <description>Power-down mode</description>
                  <value>2</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODES2</name>
              <description>Status Mode for Bank 2 These bits define
              the Status Mode of SDRAM Bank 2.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues derivedFrom="MODES1"/>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>CEC</name>
      <description>CEC</description>
      <groupName>CEC</groupName>
      <baseAddress>0x40006C00</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>CEC</name>
        <description>HDMI-CEC global interrupt</description>
        <value>94</value>
      </interrupt>
      <registers>
        <register>
          <name>CR</name>
          <displayName>CR</displayName>
          <description>CEC control register</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CECEN</name>
              <description>CEC Enable The CECEN bit is set and
              cleared by software. CECEN=1 starts message reception
              and enables the TXSOM control. CECEN=0 disables the
              CEC peripheral, clears all bits of CEC_CR register
              and aborts any on-going reception or
              transmission.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TXSOM</name>
              <description>Tx Start Of Message TXSOM is set by
              software to command transmission of the first byte of
              a CEC message. If the CEC message consists of only
              one byte, TXEOM must be set before of TXSOM.
              Start-Bit is effectively started on the CEC line
              after SFT is counted. If TXSOM is set while a message
              reception is ongoing, transmission will start after
              the end of reception. TXSOM is cleared by hardware
              after the last byte of the message is sent with a
              positive acknowledge (TXEND=1), in case of
              transmission underrun (TXUDR=1), negative acknowledge
              (TXACKE=1), and transmission error (TXERR=1). It is
              also cleared by CECEN=0. It is not cleared and
              transmission is automatically retried in case of
              arbitration lost (ARBLST=1). TXSOM can be also used
              as a status bit informing application whether any
              transmission request is pending or under execution.
              The application can abort a transmission request at
              any time by clearing the CECEN bit. Note: TXSOM must
              be set when CECEN=1 TXSOM must be set when
              transmission data is available into TXDR HEADERs
              first four bits containing own peripheral address are
              taken from TXDR[7:4], not from CEC_CFGR.OAR which is
              used only for reception</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TXEOM</name>
              <description>Tx End Of Message The TXEOM bit is set
              by software to command transmission of the last byte
              of a CEC message. TXEOM is cleared by hardware at the
              same time and under the same conditions as for TXSOM.
              Note: TXEOM must be set when CECEN=1 TXEOM must be
              set before writing transmission data to TXDR If TXEOM
              is set when TXSOM=0, transmitted message will consist
              of 1 byte (HEADER) only (PING message)</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CFGR</name>
          <displayName>CFGR</displayName>
          <description>This register is used to configure the
          HDMI-CEC controller. It is mandatory to write CEC_CFGR
          only when CECEN=0.</description>
          <addressOffset>0x4</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>SFT</name>
              <description>Signal Free Time SFT bits are set by
              software. In the SFT=0x0 configuration the number of
              nominal data bit periods waited before transmission
              is ruled by hardware according to the transmission
              history. In all the other configurations the SFT
              number is determined by software. * 0x0 ** 2.5
              Data-Bit periods if CEC is the last bus initiator
              with unsuccessful transmission (ARBLST=1, TXERR=1,
              TXUDR=1 or TXACKE= 1) ** 4 Data-Bit periods if CEC is
              the new bus initiator ** 6 Data-Bit periods if CEC is
              the last bus initiator with successful transmission
              (TXEOM=1) * 0x1: 0.5 nominal data bit periods * 0x2:
              1.5 nominal data bit periods * 0x3: 2.5 nominal data
              bit periods * 0x4: 3.5 nominal data bit periods *
              0x5: 4.5 nominal data bit periods * 0x6: 5.5 nominal
              data bit periods * 0x7: 6.5 nominal data bit
              periods</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>7</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>RXTOL</name>
              <description>Rx-Tolerance The RXTOL bit is set and
              cleared by software. ** Start-Bit, +/- 200 s rise,
              +/- 200 s fall. ** Data-Bit: +/- 200 s rise. +/- 350
              s fall. ** Start-Bit: +/- 400 s rise, +/- 400 s fall
              ** Data-Bit: +/-300 s rise, +/- 500 s
              fall</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>BRESTP</name>
              <description>Rx-Stop on Bit Rising Error The BRESTP
              bit is set and cleared by software.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>BREGEN</name>
              <description>Generate Error-Bit on Bit Rising Error
              The BREGEN bit is set and cleared by software. Note:
              If BRDNOGEN=0, an Error-bit is generated upon BRE
              detection with BRESTP=1 in broadcast even if
              BREGEN=0</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>LBPEGEN</name>
              <description>Generate Error-Bit on Long Bit Period
              Error The LBPEGEN bit is set and cleared by software.
              Note: If BRDNOGEN=0, an Error-bit is generated upon
              LBPE detection in broadcast even if
              LBPEGEN=0</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>BRDNOGEN</name>
              <description>Avoid Error-Bit Generation in Broadcast
              The BRDNOGEN bit is set and cleared by
              software.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SFTOPT</name>
              <description>SFT Option Bit The SFTOPT bit is set and
              cleared by software.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>OAR</name>
              <description>Own addresses configuration The OAR bits
              are set by software to select which destination
              logical addresses has to be considered in receive
              mode. Each bit, when set, enables the CEC logical
              address identified by the given bit position. At the
              end of HEADER reception, the received destination
              address is compared with the enabled addresses. In
              case of matching address, the incoming message is
              acknowledged and received. In case of non-matching
              address, the incoming message is received only in
              listen mode (LSTN=1), but without acknowledge sent.
              Broadcast messages are always received. Example: OAR
              = 0b000 0000 0010 0001 means that CEC acknowledges
              addresses 0x0 and 0x5. Consequently, each message
              directed to one of these addresses is
              received.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>15</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>32767</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>LSTN</name>
              <description>Listen mode LSTN bit is set and cleared
              by software.</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>TXDR</name>
          <displayName>TXDR</displayName>
          <description>CEC Tx data register</description>
          <addressOffset>0x8</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TXD</name>
              <description>Tx Data register. TXD is a write-only
              register containing the data byte to be transmitted.
              Note: TXD must be written when
              TXSTART=1</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>RXDR</name>
          <displayName>RXDR</displayName>
          <description>CEC Rx Data Register</description>
          <addressOffset>0xC</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>RXD</name>
              <description>Rx Data register. RXD is read-only and
              contains the last data byte which has been received
              from the CEC line.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>ISR</name>
          <displayName>ISR</displayName>
          <description>CEC Interrupt and Status
          Register</description>
          <addressOffset>0x10</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>RXBR</name>
              <description>Rx-Byte Received The RXBR bit is set by
              hardware to inform application that a new byte has
              been received from the CEC line and stored into the
              RXD buffer. RXBR is cleared by software write at
              1.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RXEND</name>
              <description>End Of Reception RXEND is set by
              hardware to inform application that the last byte of
              a CEC message is received from the CEC line and
              stored into the RXD buffer. RXEND is set at the same
              time of RXBR. RXEND is cleared by software write at
              1.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RXOVR</name>
              <description>Rx-Overrun RXOVR is set by hardware if
              RXBR is not yet cleared at the time a new byte is
              received on the CEC line and stored into RXD. RXOVR
              assertion stops message reception so that no
              acknowledge is sent. In case of broadcast, a negative
              acknowledge is sent. RXOVR is cleared by software
              write at 1.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>BRE</name>
              <description>Rx-Bit Rising Error BRE is set by
              hardware in case a Data-Bit waveform is detected with
              Bit Rising Error. BRE is set either at the time the
              misplaced rising edge occurs, or at the end of the
              maximum BRE tolerance allowed by RXTOL, in case
              rising edge is still longing. BRE stops message
              reception if BRESTP=1. BRE generates an Error-Bit on
              the CEC line if BREGEN=1. BRE is cleared by software
              write at 1.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SBPE</name>
              <description>Rx-Short Bit Period Error SBPE is set by
              hardware in case a Data-Bit waveform is detected with
              Short Bit Period Error. SBPE is set at the time the
              anticipated falling edge occurs. SBPE generates an
              Error-Bit on the CEC line. SBPE is cleared by
              software write at 1.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>LBPE</name>
              <description>Rx-Long Bit Period Error LBPE is set by
              hardware in case a Data-Bit waveform is detected with
              Long Bit Period Error. LBPE is set at the end of the
              maximum bit-extension tolerance allowed by RXTOL, in
              case falling edge is still longing. LBPE always stops
              reception of the CEC message. LBPE generates an
              Error-Bit on the CEC line if LBPEGEN=1. In case of
              broadcast, Error-Bit is generated even in case of
              LBPEGEN=0. LBPE is cleared by software write at
              1.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RXACKE</name>
              <description>Rx-Missing Acknowledge In receive mode,
              RXACKE is set by hardware to inform application that
              no acknowledge was seen on the CEC line. RXACKE
              applies only for broadcast messages and in listen
              mode also for not directly addressed messages
              (destination address not enabled in OAR). RXACKE
              aborts message reception. RXACKE is cleared by
              software write at 1.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ARBLST</name>
              <description>Arbitration Lost ARBLST is set by
              hardware to inform application that CEC device is
              switching to reception due to arbitration lost event
              following the TXSOM command. ARBLST can be due either
              to a contending CEC device starting earlier or
              starting at the same time but with higher HEADER
              priority. After ARBLST assertion TXSOM bit keeps
              pending for next transmission attempt. ARBLST is
              cleared by software write at 1.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TXBR</name>
              <description>Tx-Byte Request TXBR is set by hardware
              to inform application that the next transmission data
              has to be written to TXDR. TXBR is set when the 4th
              bit of currently transmitted byte is sent.
              Application must write the next byte to TXDR within 6
              nominal data-bit periods before transmission underrun
              error occurs (TXUDR). TXBR is cleared by software
              write at 1.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TXEND</name>
              <description>End of Transmission TXEND is set by
              hardware to inform application that the last byte of
              the CEC message has been successfully transmitted.
              TXEND clears the TXSOM and TXEOM control bits. TXEND
              is cleared by software write at 1.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TXUDR</name>
              <description>Tx-Buffer Underrun In transmission mode,
              TXUDR is set by hardware if application was not in
              time to load TXDR before of next byte transmission.
              TXUDR aborts message transmission and clears TXSOM
              and TXEOM control bits. TXUDR is cleared by software
              write at 1</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TXERR</name>
              <description>Tx-Error In transmission mode, TXERR is
              set by hardware if the CEC initiator detects low
              impedance on the CEC line while it is released. TXERR
              aborts message transmission and clears TXSOM and
              TXEOM controls. TXERR is cleared by software write at
              1.</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TXACKE</name>
              <description>Tx-Missing Acknowledge Error In
              transmission mode, TXACKE is set by hardware to
              inform application that no acknowledge was received.
              In case of broadcast transmission, TXACKE informs
              application that a negative acknowledge was received.
              TXACKE aborts message transmission and clears TXSOM
              and TXEOM controls. TXACKE is cleared by software
              write at 1.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>IER</name>
          <displayName>IER</displayName>
          <description>CEC interrupt enable register</description>
          <addressOffset>0x14</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>RXBRIE</name>
              <description>Rx-Byte Received Interrupt Enable The
              RXBRIE bit is set and cleared by
              software.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RXENDIE</name>
              <description>End Of Reception Interrupt Enable The
              RXENDIE bit is set and cleared by
              software.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RXOVRIE</name>
              <description>Rx-Buffer Overrun Interrupt Enable The
              RXOVRIE bit is set and cleared by
              software.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>BREIE</name>
              <description>Bit Rising Error Interrupt Enable The
              BREIE bit is set and cleared by
              software.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SBPEIE</name>
              <description>Short Bit Period Error Interrupt Enable
              The SBPEIE bit is set and cleared by
              software.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>LBPEIE</name>
              <description>Long Bit Period Error Interrupt Enable
              The LBPEIE bit is set and cleared by
              software.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RXACKIE</name>
              <description>Rx-Missing Acknowledge Error Interrupt
              Enable The RXACKIE bit is set and cleared by
              software.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ARBLSTIE</name>
              <description>Arbitration Lost Interrupt Enable The
              ARBLSTIE bit is set and cleared by
              software.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TXBRIE</name>
              <description>Tx-Byte Request Interrupt Enable The
              TXBRIE bit is set and cleared by
              software.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TXENDIE</name>
              <description>Tx-End Of Message Interrupt Enable The
              TXENDIE bit is set and cleared by
              software.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TXUDRIE</name>
              <description>Tx-Underrun Interrupt Enable The TXUDRIE
              bit is set and cleared by software.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TXERRIE</name>
              <description>Tx-Error Interrupt Enable The TXERRIE
              bit is set and cleared by software.</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TXACKIE</name>
              <description>Tx-Missing Acknowledge Error Interrupt
              Enable The TXACKEIE bit is set and cleared by
              software.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>HSEM</name>
      <description>HSEM</description>
      <groupName>HSEM</groupName>
      <baseAddress>0x58026400</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>HSEM0</name>
        <description>HSEM global interrupt 1</description>
        <value>125</value>
      </interrupt>
      <registers>
        <register>
          <dim>32</dim>
          <dimIncrement>0x4</dimIncrement>
          <dimIndex>0-31</dimIndex>
          <name>R%s</name>
          <displayName>R%s</displayName>
          <description>HSEM register HSEM_R%s</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>PROCID</name>
              <description>Semaphore ProcessID</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>MASTERID</name>
              <description>Semaphore MasterID</description>
              <bitOffset>8</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>LOCK</name>
              <description>Lock indication</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>LOCKR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Free</name>
                  <description>Semaphore is free</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Locked</name>
                  <description>Semaphore is locked</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>LOCKW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Free</name>
                  <description>Free semaphore</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TryLock</name>
                  <description>Try to lock semaphore</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <dim>32</dim>
          <dimIncrement>0x4</dimIncrement>
          <dimIndex>0-31</dimIndex>
          <name>RLR%s</name>
          <displayName>RLR%s</displayName>
          <description>Semaphore %s read lock register</description>
          <addressOffset>0x80</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>PROCID</name>
              <description>Semaphore ProcessID</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>MASTERID</name>
              <description>Semaphore MasterID</description>
              <bitOffset>8</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>LOCK</name>
              <description>Lock indication</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>LOCKR</name>
                <enumeratedValue>
                  <name>Free</name>
                  <description>Semaphore is free</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Locked</name>
                  <description>Semaphore is locked</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>IER</name>
          <displayName>IER</displayName>
          <description>HSEM Interrupt enable register</description>
          <addressOffset>0x100</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>32</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>0-31</dimIndex>
              <name>ISE%s</name>
              <description>Interrupt semaphore %s enable bit</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ISE0</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt generation disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt generation enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>ICR</name>
          <displayName>ICR</displayName>
          <description>HSEM Interrupt clear register</description>
          <addressOffset>0x104</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>32</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>0-31</dimIndex>
              <name>ISC%s</name>
              <description>Interrupt semaphore %s clear bit</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ISC0R</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoEffect</name>
                  <description>Always reads 0</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>ISC0W</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>NoEffect</name>
                  <description>Interrupt semaphore x status ISFx and masked status MISFx not affected</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Interrupt semaphore x status ISFx and masked status MISFx cleared</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>ISR</name>
          <displayName>ISR</displayName>
          <description>HSEM Interrupt status register</description>
          <addressOffset>0x108</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>32</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>0-31</dimIndex>
              <name>ISF%s</name>
              <description>Interrupt semaphore %s status bit before enable (mask)</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ISF0</name>
                <enumeratedValue>
                  <name>NotPending</name>
                  <description>No interrupt pending</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Pending</name>
                  <description>Interrupt pending</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>MISR</name>
          <displayName>MISR</displayName>
          <description>HSEM Masked interrupt status
          register</description>
          <addressOffset>0x10C</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>32</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>0-31</dimIndex>
              <name>MISF%s</name>
              <description>Masked interrupt semaphore %s status bit after enable (mask)</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>MISF0</name>
                <enumeratedValue>
                  <name>NotPending</name>
                  <description>No interrupt pending after masking</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Pending</name>
                  <description>Interrupt pending after masking</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CR</name>
          <displayName>CR</displayName>
          <description>HSEM Clear register</description>
          <addressOffset>0x140</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>MASTERID</name>
              <description>MasterID of semaphores to be
              cleared</description>
              <bitOffset>8</bitOffset>
              <bitWidth>4</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>KEY</name>
              <description>Semaphore clear Key</description>
              <bitOffset>16</bitOffset>
              <bitWidth>16</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>KEYR</name>
          <displayName>KEYR</displayName>
          <description>HSEM Interrupt clear register</description>
          <addressOffset>0x144</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>KEY</name>
              <description>Semaphore Clear Key</description>
              <bitOffset>16</bitOffset>
              <bitWidth>16</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>I2C1</name>
      <description>I2C</description>
      <groupName>I2C</groupName>
      <baseAddress>0x40005400</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>I2C1_EV</name>
        <description>I2C1 event interrupt</description>
        <value>31</value>
      </interrupt>
      <interrupt>
        <name>I2C1_ER</name>
        <description>I2C1 error interrupt</description>
        <value>32</value>
      </interrupt>
      <registers>
        <register>
          <name>CR1</name>
          <displayName>CR1</displayName>
          <description>Access: No wait states, except if a write
          access occurs while a write access to this register is
          ongoing. In this case, wait states are inserted in the
          second write access until the previous one is completed.
          The latency of the second write access can be up to 2 x
          PCLK1 + 6 x I2CCLK.</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>PE</name>
              <description>Peripheral enable Note: When PE=0, the
              I2C SCL and SDA lines are released. Internal state
              machines and status bits are put back to their reset
              value. When cleared, PE must be kept low for at least
              3 APB clock cycles.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>PE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Peripheral disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Peripheral enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TXIE</name>
              <description>TX Interrupt enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TXIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Transmit (TXIS) interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Transmit (TXIS) interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RXIE</name>
              <description>RX Interrupt enable</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RXIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Receive (RXNE) interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Receive (RXNE) interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ADDRIE</name>
              <description>Address match Interrupt enable (slave
              only)</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ADDRIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Address match (ADDR) interrupts disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Address match (ADDR) interrupts enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>NACKIE</name>
              <description>Not acknowledge received Interrupt
              enable</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>NACKIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Not acknowledge (NACKF) received interrupts disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Not acknowledge (NACKF) received interrupts enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>STOPIE</name>
              <description>STOP detection Interrupt
              enable</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>STOPIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Stop detection (STOPF) interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Stop detection (STOPF) interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TCIE</name>
              <description>Transfer Complete interrupt enable Note:
              Any of these events will generate an interrupt:
              Transfer Complete (TC) Transfer Complete Reload
              (TCR)</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TCIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Transfer Complete interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Transfer Complete interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ERRIE</name>
              <description>Error interrupts enable Note: Any of
              these errors generate an interrupt: Arbitration Loss
              (ARLO) Bus Error detection (BERR) Overrun/Underrun
              (OVR) Timeout detection (TIMEOUT) PEC error detection
              (PECERR) Alert pin event detection
              (ALERT)</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ERRIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Error detection interrupts disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Error detection interrupts enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DNF</name>
              <description>Digital noise filter These bits are used
              to configure the digital noise filter on SDA and SCL
              input. The digital filter will filter spikes with a
              length of up to DNF[3:0] * tI2CCLK ... Note: If the
              analog filter is also enabled, the digital filter is
              added to the analog filter. This filter can only be
              programmed when the I2C is disabled (PE =
              0).</description>
              <bitOffset>8</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues>
                <name>DNF</name>
                <enumeratedValue>
                  <name>NoFilter</name>
                  <description>Digital filter disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Filter1</name>
                  <description>Digital filter enabled and filtering capability up to 1 tI2CCLK</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Filter2</name>
                  <description>Digital filter enabled and filtering capability up to 2 tI2CCLK</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Filter3</name>
                  <description>Digital filter enabled and filtering capability up to 3 tI2CCLK</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Filter4</name>
                  <description>Digital filter enabled and filtering capability up to 4 tI2CCLK</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Filter5</name>
                  <description>Digital filter enabled and filtering capability up to 5 tI2CCLK</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Filter6</name>
                  <description>Digital filter enabled and filtering capability up to 6 tI2CCLK</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Filter7</name>
                  <description>Digital filter enabled and filtering capability up to 7 tI2CCLK</description>
                  <value>7</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Filter8</name>
                  <description>Digital filter enabled and filtering capability up to 8 tI2CCLK</description>
                  <value>8</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Filter9</name>
                  <description>Digital filter enabled and filtering capability up to 9 tI2CCLK</description>
                  <value>9</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Filter10</name>
                  <description>Digital filter enabled and filtering capability up to 10 tI2CCLK</description>
                  <value>10</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Filter11</name>
                  <description>Digital filter enabled and filtering capability up to 11 tI2CCLK</description>
                  <value>11</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Filter12</name>
                  <description>Digital filter enabled and filtering capability up to 12 tI2CCLK</description>
                  <value>12</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Filter13</name>
                  <description>Digital filter enabled and filtering capability up to 13 tI2CCLK</description>
                  <value>13</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Filter14</name>
                  <description>Digital filter enabled and filtering capability up to 14 tI2CCLK</description>
                  <value>14</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Filter15</name>
                  <description>Digital filter enabled and filtering capability up to 15 tI2CCLK</description>
                  <value>15</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ANFOFF</name>
              <description>Analog noise filter OFF Note: This bit
              can only be programmed when the I2C is disabled (PE =
              0).</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ANFOFF</name>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Analog noise filter enabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Analog noise filter disabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TXDMAEN</name>
              <description>DMA transmission requests
              enable</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TXDMAEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>DMA mode disabled for transmission</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>DMA mode enabled for transmission</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RXDMAEN</name>
              <description>DMA reception requests
              enable</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RXDMAEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>DMA mode disabled for reception</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>DMA mode enabled for reception</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SBC</name>
              <description>Slave byte control This bit is used to
              enable hardware byte control in slave
              mode.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SBC</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Slave byte control disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Slave byte control enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>NOSTRETCH</name>
              <description>Clock stretching disable This bit is
              used to disable clock stretching in slave mode. It
              must be kept cleared in master mode. Note: This bit
              can only be programmed when the I2C is disabled (PE =
              0).</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>NOSTRETCH</name>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Clock stretching enabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Clock stretching disabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>WUPEN</name>
              <description>Wakeup from Stop mode enable Note: If
              the Wakeup from Stop mode feature is not supported,
              this bit is reserved and forced by hardware to 0.
              Please refer to Section25.3: I2C implementation.
              Note: WUPEN can be set only when DNF =
              0000</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>WUPEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Wakeup from Stop mode disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Wakeup from Stop mode enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>GCEN</name>
              <description>General call enable</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>GCEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>General call disabled. Address 0b00000000 is NACKed</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>General call enabled. Address 0b00000000 is ACKed</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SMBHEN</name>
              <description>SMBus Host address enable Note: If the
              SMBus feature is not supported, this bit is reserved
              and forced by hardware to 0. Please refer to
              Section25.3: I2C implementation.</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SMBHEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Host address disabled. Address 0b0001000x is NACKed</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Host address enabled. Address 0b0001000x is ACKed</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SMBDEN</name>
              <description>SMBus Device Default address enable
              Note: If the SMBus feature is not supported, this bit
              is reserved and forced by hardware to 0. Please refer
              to Section25.3: I2C implementation.</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SMBDEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Device default address disabled. Address 0b1100001x is NACKed</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Device default address enabled. Address 0b1100001x is ACKed</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ALERTEN</name>
              <description>SMBus alert enable Device mode
              (SMBHEN=0): Host mode (SMBHEN=1): Note: When
              ALERTEN=0, the SMBA pin can be used as a standard
              GPIO. If the SMBus feature is not supported, this bit
              is reserved and forced by hardware to 0. Please refer
              to Section25.3: I2C implementation.</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ALERTEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>In device mode (SMBHEN=Disabled) Releases SMBA pin high and Alert Response Address Header disabled (0001100x) followed by NACK. In host mode (SMBHEN=Enabled) SMBus Alert pin (SMBA) not supported</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>In device mode (SMBHEN=Disabled) Drives SMBA pin low and Alert Response Address Header enabled (0001100x) followed by ACK.In host mode (SMBHEN=Enabled) SMBus Alert pin (SMBA) supported</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PECEN</name>
              <description>PEC enable Note: If the SMBus feature is
              not supported, this bit is reserved and forced by
              hardware to 0. Please refer to Section25.3: I2C
              implementation.</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>PECEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>PEC calculation disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>PEC calculation enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CR2</name>
          <displayName>CR2</displayName>
          <description>Access: No wait states, except if a write
          access occurs while a write access to this register is
          ongoing. In this case, wait states are inserted in the
          second write access until the previous one is completed.
          The latency of the second write access can be up to 2 x
          PCLK1 + 6 x I2CCLK.</description>
          <addressOffset>0x4</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>SADD</name>
              <description>Slave address bit 0 (master mode) In
              7-bit addressing mode (ADD10 = 0): This bit is dont
              care In 10-bit addressing mode (ADD10 = 1): This bit
              should be written with bit 0 of the slave address to
              be sent Note: Changing these bits when the START bit
              is set is not allowed.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>10</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>1023</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>RD_WRN</name>
              <description>Transfer direction (master mode) Note:
              Changing this bit when the START bit is set is not
              allowed.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RD_WRN</name>
                <enumeratedValue>
                  <name>Write</name>
                  <description>Master requests a write transfer</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Read</name>
                  <description>Master requests a read transfer</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ADD10</name>
              <description>10-bit addressing mode (master mode)
              Note: Changing this bit when the START bit is set is
              not allowed.</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ADD10</name>
                <enumeratedValue>
                  <name>Bit7</name>
                  <description>The master operates in 7-bit addressing mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bit10</name>
                  <description>The master operates in 10-bit addressing mode</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>HEAD10R</name>
              <description>10-bit address header only read
              direction (master receiver mode) Note: Changing this
              bit when the START bit is set is not
              allowed.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>HEAD10R</name>
                <enumeratedValue>
                  <name>Complete</name>
                  <description>The master sends the complete 10 bit slave address read sequence</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Partial</name>
                  <description>The master only sends the 1st 7 bits of the 10 bit address, followed by Read direction</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>START</name>
              <description>Start generation This bit is set by
              software, and cleared by hardware after the Start
              followed by the address sequence is sent, by an
              arbitration loss, by a timeout error detection, or
              when PE = 0. It can also be cleared by software by
              writing 1 to the ADDRCF bit in the I2C_ICR register.
              If the I2C is already in master mode with AUTOEND =
              0, setting this bit generates a Repeated Start
              condition when RELOAD=0, after the end of the NBYTES
              transfer. Otherwise setting this bit will generate a
              START condition once the bus is free. Note: Writing 0
              to this bit has no effect. The START bit can be set
              even if the bus is BUSY or I2C is in slave mode. This
              bit has no effect when RELOAD is set.</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToSet</modifiedWriteValues>
              <enumeratedValues>
                <name>STARTR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoStart</name>
                  <description>No Start generation</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Start</name>
                  <description>Restart/Start generation</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>STARTW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Start</name>
                  <description>Restart/Start generation</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>STOP</name>
              <description>Stop generation (master mode) The bit is
              set by software, cleared by hardware when a Stop
              condition is detected, or when PE = 0. In Master
              Mode: Note: Writing 0 to this bit has no
              effect.</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToSet</modifiedWriteValues>
              <enumeratedValues>
                <name>STOPR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoStop</name>
                  <description>No Stop generation</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Stop</name>
                  <description>Stop generation after current byte transfer</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>STOPW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Stop</name>
                  <description>Stop generation after current byte transfer</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>NACK</name>
              <description>NACK generation (slave mode) The bit is
              set by software, cleared by hardware when the NACK is
              sent, or when a STOP condition or an Address matched
              is received, or when PE=0. Note: Writing 0 to this
              bit has no effect. This bit is used in slave mode
              only: in master receiver mode, NACK is automatically
              generated after last byte preceding STOP or RESTART
              condition, whatever the NACK bit value. When an
              overrun occurs in slave receiver NOSTRETCH mode, a
              NACK is automatically generated whatever the NACK bit
              value. When hardware PEC checking is enabled
              (PECBYTE=1), the PEC acknowledge value does not
              depend on the NACK value.</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToSet</modifiedWriteValues>
              <enumeratedValues>
                <name>NACKR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Ack</name>
                  <description>an ACK is sent after current received byte</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Nack</name>
                  <description>a NACK is sent after current received byte</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>NACKW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Nack</name>
                  <description>a NACK is sent after current received byte</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>NBYTES</name>
              <description>Number of bytes The number of bytes to
              be transmitted/received is programmed there. This
              field is dont care in slave mode with SBC=0. Note:
              Changing these bits when the START bit is set is not
              allowed.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>RELOAD</name>
              <description>NBYTES reload mode This bit is set and
              cleared by software.</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RELOAD</name>
                <enumeratedValue>
                  <name>Completed</name>
                  <description>The transfer is completed after the NBYTES data transfer (STOP or RESTART will follow)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>NotCompleted</name>
                  <description>The transfer is not completed after the NBYTES data transfer (NBYTES will be reloaded)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>AUTOEND</name>
              <description>Automatic end mode (master mode) This
              bit is set and cleared by software. Note: This bit
              has no effect in slave mode or when the RELOAD bit is
              set.</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>AUTOEND</name>
                <enumeratedValue>
                  <name>Software</name>
                  <description>Software end mode: TC flag is set when NBYTES data are transferred, stretching SCL low</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Automatic</name>
                  <description>Automatic end mode: a STOP condition is automatically sent when NBYTES data are transferred</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PECBYTE</name>
              <description>Packet error checking byte This bit is
              set by software, and cleared by hardware when the PEC
              is transferred, or when a STOP condition or an
              Address matched is received, also when PE=0. Note:
              Writing 0 to this bit has no effect. This bit has no
              effect when RELOAD is set. This bit has no effect is
              slave mode when SBC=0. If the SMBus feature is not
              supported, this bit is reserved and forced by
              hardware to 0. Please refer to Section25.3: I2C
              implementation.</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToSet</modifiedWriteValues>
              <enumeratedValues>
                <name>PECBYTER</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoPec</name>
                  <description>No PEC transfer</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Pec</name>
                  <description>PEC transmission/reception is requested</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>PECBYTEW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Pec</name>
                  <description>PEC transmission/reception is requested</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>OAR1</name>
          <displayName>OAR1</displayName>
          <description>Access: No wait states, except if a write
          access occurs while a write access to this register is
          ongoing. In this case, wait states are inserted in the
          second write access until the previous one is completed.
          The latency of the second write access can be up to 2 x
          PCLK1 + 6 x I2CCLK.</description>
          <addressOffset>0x8</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>OA1</name>
              <description>Interface address 7-bit addressing mode:
              dont care 10-bit addressing mode: bits 9:8 of address
              Note: These bits can be written only when OA1EN=0.
              OA1[7:1]: Interface address Bits 7:1 of address Note:
              These bits can be written only when OA1EN=0. OA1[0]:
              Interface address 7-bit addressing mode: dont care
              10-bit addressing mode: bit 0 of address Note: This
              bit can be written only when OA1EN=0.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>10</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>1023</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>OA1MODE</name>
              <description>Own Address 1 10-bit mode Note: This bit
              can be written only when OA1EN=0.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>OA1MODE</name>
                <enumeratedValue>
                  <name>Bit7</name>
                  <description>Own address 1 is a 7-bit address</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bit10</name>
                  <description>Own address 1 is a 10-bit address</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OA1EN</name>
              <description>Own Address 1 enable</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>OA1EN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Own address 1 disabled. The received slave address OA1 is NACKed</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Own address 1 enabled. The received slave address OA1 is ACKed</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>OAR2</name>
          <displayName>OAR2</displayName>
          <description>Access: No wait states, except if a write
          access occurs while a write access to this register is
          ongoing. In this case, wait states are inserted in the
          second write access until the previous one is completed.
          The latency of the second write access can be up to 2 x
          PCLK1 + 6 x I2CCLK.</description>
          <addressOffset>0xC</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>OA2</name>
              <description>Interface address bits 7:1 of address
              Note: These bits can be written only when
              OA2EN=0.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>7</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>127</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>OA2MSK</name>
              <description>Own Address 2 masks Note: These bits can
              be written only when OA2EN=0. As soon as OA2MSK is
              not equal to 0, the reserved I2C addresses (0b0000xxx
              and 0b1111xxx) are not acknowledged even if the
              comparison matches.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>OA2MSK</name>
                <enumeratedValue>
                  <name>NoMask</name>
                  <description>No mask</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Mask1</name>
                  <description>OA2[1] is masked and don’t care. Only OA2[7:2] are compared</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Mask2</name>
                  <description>OA2[2:1] are masked and don’t care. Only OA2[7:3] are compared</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Mask3</name>
                  <description>OA2[3:1] are masked and don’t care. Only OA2[7:4] are compared</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Mask4</name>
                  <description>OA2[4:1] are masked and don’t care. Only OA2[7:5] are compared</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Mask5</name>
                  <description>OA2[5:1] are masked and don’t care. Only OA2[7:6] are compared</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Mask6</name>
                  <description>OA2[6:1] are masked and don’t care. Only OA2[7] is compared.</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Mask7</name>
                  <description>OA2[7:1] are masked and don’t care. No comparison is done, and all (except reserved) 7-bit received addresses are acknowledged</description>
                  <value>7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OA2EN</name>
              <description>Own Address 2 enable</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>OA2EN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Own address 2 disabled. The received slave address OA2 is NACKed</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Own address 2 enabled. The received slave address OA2 is ACKed</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>TIMINGR</name>
          <displayName>TIMINGR</displayName>
          <description>Access: No wait states</description>
          <addressOffset>0x10</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>SCLL</name>
              <description>SCL low period (master mode) This field
              is used to generate the SCL low period in master
              mode. tSCLL = (SCLL+1) x tPRESC Note: SCLL is also
              used to generate tBUF and tSU:STA
              timings.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>SCLH</name>
              <description>SCL high period (master mode) This field
              is used to generate the SCL high period in master
              mode. tSCLH = (SCLH+1) x tPRESC Note: SCLH is also
              used to generate tSU:STO and tHD:STA
              timing.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>SDADEL</name>
              <description>Data hold time This field is used to
              generate the delay tSDADEL between SCL falling edge
              and SDA edge. In master mode and in slave mode with
              NOSTRETCH = 0, the SCL line is stretched low during
              tSDADEL. tSDADEL= SDADEL x tPRESC Note: SDADEL is
              used to generate tHD:DAT timing.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>4</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>SCLDEL</name>
              <description>Data setup time This field is used to
              generate a delay tSCLDEL between SDA edge and SCL
              rising edge. In master mode and in slave mode with
              NOSTRETCH = 0, the SCL line is stretched low during
              tSCLDEL. tSCLDEL = (SCLDEL+1) x tPRESC Note: tSCLDEL
              is used to generate tSU:DAT timing.</description>
              <bitOffset>20</bitOffset>
              <bitWidth>4</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>PRESC</name>
              <description>Timing prescaler This field is used to
              prescale I2CCLK in order to generate the clock period
              tPRESC used for data setup and hold counters (refer
              to I2C timings on page9) and for SCL high and low
              level counters (refer to I2C master initialization on
              page24). tPRESC = (PRESC+1) x tI2CCLK</description>
              <bitOffset>28</bitOffset>
              <bitWidth>4</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>TIMEOUTR</name>
          <displayName>TIMEOUTR</displayName>
          <description>Access: No wait states, except if a write
          access occurs while a write access to this register is
          ongoing. In this case, wait states are inserted in the
          second write access until the previous one is completed.
          The latency of the second write access can be up to 2 x
          PCLK1 + 6 x I2CCLK.</description>
          <addressOffset>0x14</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TIMEOUTA</name>
              <description>Bus Timeout A This field is used to
              configure: The SCL low timeout condition tTIMEOUT
              when TIDLE=0 tTIMEOUT= (TIMEOUTA+1) x 2048 x tI2CCLK
              The bus idle condition (both SCL and SDA high) when
              TIDLE=1 tIDLE= (TIMEOUTA+1) x 4 x tI2CCLK Note: These
              bits can be written only when
              TIMOUTEN=0.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>12</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4095</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>TIDLE</name>
              <description>Idle clock timeout detection Note: This
              bit can be written only when
              TIMOUTEN=0.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TIDLE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>TIMEOUTA is used to detect SCL low timeout</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>TIMEOUTA is used to detect both SCL and SDA high timeout (bus idle condition)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TIMOUTEN</name>
              <description>Clock timeout enable</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TIMOUTEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>SCL timeout detection is disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>SCL timeout detection is enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TIMEOUTB</name>
              <description>Bus timeout B This field is used to
              configure the cumulative clock extension timeout: In
              master mode, the master cumulative clock low extend
              time (tLOW:MEXT) is detected In slave mode, the slave
              cumulative clock low extend time (tLOW:SEXT) is
              detected tLOW:EXT= (TIMEOUTB+1) x 2048 x tI2CCLK
              Note: These bits can be written only when
              TEXTEN=0.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>12</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4095</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>TEXTEN</name>
              <description>Extended clock timeout
              enable</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TEXTEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Extended clock timeout detection is disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Extended clock timeout detection is enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>ISR</name>
          <displayName>ISR</displayName>
          <description>Access: No wait states</description>
          <addressOffset>0x18</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000001</resetValue>
          <fields>
            <field>
              <name>TXE</name>
              <description>Transmit data register empty
              (transmitters) This bit is set by hardware when the
              I2C_TXDR register is empty. It is cleared when the
              next data to be sent is written in the I2C_TXDR
              register. This bit can be written to 1 by software in
              order to flush the transmit data register I2C_TXDR.
              Note: This bit is set by hardware when
              PE=0.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <modifiedWriteValues>oneToSet</modifiedWriteValues>
              <enumeratedValues>
                <name>TXER</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NotEmpty</name>
                  <description>TXDR register not empty</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Empty</name>
                  <description>TXDR register empty</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>TXEW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Flush</name>
                  <description>Flush the transmit data register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TXIS</name>
              <description>Transmit interrupt status (transmitters)
              This bit is set by hardware when the I2C_TXDR
              register is empty and the data to be transmitted must
              be written in the I2C_TXDR register. It is cleared
              when the next data to be sent is written in the
              I2C_TXDR register. This bit can be written to 1 by
              software when NOSTRETCH=1 only, in order to generate
              a TXIS event (interrupt if TXIE=1 or DMA request if
              TXDMAEN=1). Note: This bit is cleared by hardware
              when PE=0.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <modifiedWriteValues>oneToSet</modifiedWriteValues>
              <enumeratedValues>
                <name>TXISR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NotEmpty</name>
                  <description>The TXDR register is not empty</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Empty</name>
                  <description>The TXDR register is empty and the data to be transmitted must be written in the TXDR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>TXISW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Trigger</name>
                  <description>Generate a TXIS event</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RXNE</name>
              <description>Receive data register not empty
              (receivers) This bit is set by hardware when the
              received data is copied into the I2C_RXDR register,
              and is ready to be read. It is cleared when I2C_RXDR
              is read. Note: This bit is cleared by hardware when
              PE=0.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>RXNE</name>
                <enumeratedValue>
                  <name>Empty</name>
                  <description>The RXDR register is empty</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>NotEmpty</name>
                  <description>Received data is copied into the RXDR register, and is ready to be read</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ADDR</name>
              <description>Address matched (slave mode) This bit is
              set by hardware as soon as the received slave address
              matched with one of the enabled slave addresses. It
              is cleared by software by setting ADDRCF bit. Note:
              This bit is cleared by hardware when
              PE=0.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>ADDR</name>
                <enumeratedValue>
                  <name>NotMatch</name>
                  <description>Adress mismatched or not received</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Match</name>
                  <description>Received slave address matched with one of the enabled slave addresses</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>NACKF</name>
              <description>Not Acknowledge received flag This flag
              is set by hardware when a NACK is received after a
              byte transmission. It is cleared by software by
              setting the NACKCF bit. Note: This bit is cleared by
              hardware when PE=0.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>NACKF</name>
                <enumeratedValue>
                  <name>NoNack</name>
                  <description>No NACK has been received</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Nack</name>
                  <description>NACK has been received</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>STOPF</name>
              <description>Stop detection flag This flag is set by
              hardware when a Stop condition is detected on the bus
              and the peripheral is involved in this transfer:
              either as a master, provided that the STOP condition
              is generated by the peripheral. or as a slave,
              provided that the peripheral has been addressed
              previously during this transfer. It is cleared by
              software by setting the STOPCF bit. Note: This bit is
              cleared by hardware when PE=0.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>STOPF</name>
                <enumeratedValue>
                  <name>NoStop</name>
                  <description>No Stop condition detected</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Stop</name>
                  <description>Stop condition detected</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TC</name>
              <description>Transfer Complete (master mode) This
              flag is set by hardware when RELOAD=0, AUTOEND=0 and
              NBYTES data have been transferred. It is cleared by
              software when START bit or STOP bit is set. Note:
              This bit is cleared by hardware when
              PE=0.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>TC</name>
                <enumeratedValue>
                  <name>NotComplete</name>
                  <description>Transfer is not complete</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Complete</name>
                  <description>NBYTES has been transfered</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TCR</name>
              <description>Transfer Complete Reload This flag is
              set by hardware when RELOAD=1 and NBYTES data have
              been transferred. It is cleared by software when
              NBYTES is written to a non-zero value. Note: This bit
              is cleared by hardware when PE=0. This flag is only
              for master mode, or for slave mode when the SBC bit
              is set.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>TCR</name>
                <enumeratedValue>
                  <name>NotComplete</name>
                  <description>Transfer is not complete</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Complete</name>
                  <description>NBYTES has been transfered</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BERR</name>
              <description>Bus error This flag is set by hardware
              when a misplaced Start or Stop condition is detected
              whereas the peripheral is involved in the transfer.
              The flag is not set during the address phase in slave
              mode. It is cleared by software by setting BERRCF
              bit. Note: This bit is cleared by hardware when
              PE=0.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>BERR</name>
                <enumeratedValue>
                  <name>NoError</name>
                  <description>No bus error</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Error</name>
                  <description>Misplaced Start and Stop condition is detected</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ARLO</name>
              <description>Arbitration lost This flag is set by
              hardware in case of arbitration loss. It is cleared
              by software by setting the ARLOCF bit. Note: This bit
              is cleared by hardware when PE=0.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>ARLO</name>
                <enumeratedValue>
                  <name>NotLost</name>
                  <description>No arbitration lost</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Lost</name>
                  <description>Arbitration lost</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OVR</name>
              <description>Overrun/Underrun (slave mode) This flag
              is set by hardware in slave mode with NOSTRETCH=1,
              when an overrun/underrun error occurs. It is cleared
              by software by setting the OVRCF bit. Note: This bit
              is cleared by hardware when PE=0.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>OVR</name>
                <enumeratedValue>
                  <name>NoOverrun</name>
                  <description>No overrun/underrun error occurs</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Overrun</name>
                  <description>slave mode with NOSTRETCH=1, when an overrun/underrun error occurs</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PECERR</name>
              <description>PEC Error in reception This flag is set
              by hardware when the received PEC does not match with
              the PEC register content. A NACK is automatically
              sent after the wrong PEC reception. It is cleared by
              software by setting the PECCF bit. Note: This bit is
              cleared by hardware when PE=0. If the SMBus feature
              is not supported, this bit is reserved and forced by
              hardware to 0. Please refer to Section25.3: I2C
              implementation.</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>PECERR</name>
                <enumeratedValue>
                  <name>Match</name>
                  <description>Received PEC does match with PEC register</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>NoMatch</name>
                  <description>Received PEC does not match with PEC register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TIMEOUT</name>
              <description>Timeout or tLOW detection flag This flag
              is set by hardware when a timeout or extended clock
              timeout occurred. It is cleared by software by
              setting the TIMEOUTCF bit. Note: This bit is cleared
              by hardware when PE=0. If the SMBus feature is not
              supported, this bit is reserved and forced by
              hardware to 0. Please refer to Section25.3: I2C
              implementation.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>TIMEOUT</name>
                <enumeratedValue>
                  <name>NoTimeout</name>
                  <description>No timeout occured</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Timeout</name>
                  <description>Timeout occured</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ALERT</name>
              <description>SMBus alert This flag is set by hardware
              when SMBHEN=1 (SMBus host configuration), ALERTEN=1
              and a SMBALERT event (falling edge) is detected on
              SMBA pin. It is cleared by software by setting the
              ALERTCF bit. Note: This bit is cleared by hardware
              when PE=0. If the SMBus feature is not supported,
              this bit is reserved and forced by hardware to 0.
              Please refer to Section25.3: I2C
              implementation.</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>ALERT</name>
                <enumeratedValue>
                  <name>NoAlert</name>
                  <description>SMBA alert is not detected</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Alert</name>
                  <description>SMBA alert event is detected on SMBA pin</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BUSY</name>
              <description>Bus busy This flag indicates that a
              communication is in progress on the bus. It is set by
              hardware when a START condition is detected. It is
              cleared by hardware when a Stop condition is
              detected, or when PE=0.</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>BUSY</name>
                <enumeratedValue>
                  <name>NotBusy</name>
                  <description>No communication is in progress on the bus</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Busy</name>
                  <description>A communication is in progress on the bus</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIR</name>
              <description>Transfer direction (Slave mode) This
              flag is updated when an address match event occurs
              (ADDR=1).</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>DIR</name>
                <enumeratedValue>
                  <name>Write</name>
                  <description>Write transfer, slave enters receiver mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Read</name>
                  <description>Read transfer, slave enters transmitter mode</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ADDCODE</name>
              <description>Address match code (Slave mode) These
              bits are updated with the received address when an
              address match event occurs (ADDR = 1). In the case of
              a 10-bit address, ADDCODE provides the 10-bit header
              followed by the 2 MSBs of the address.</description>
              <bitOffset>17</bitOffset>
              <bitWidth>7</bitWidth>
              <access>read-only</access>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>127</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>ICR</name>
          <displayName>ICR</displayName>
          <description>Access: No wait states</description>
          <addressOffset>0x1C</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>ADDRCF</name>
              <description>Address matched flag clear Writing 1 to
              this bit clears the ADDR flag in the I2C_ISR
              register. Writing 1 to this bit also clears the START
              bit in the I2C_CR2 register.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>ADDRCF</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clears the ADDR flag in ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>NACKCF</name>
              <description>Not Acknowledge flag clear Writing 1 to
              this bit clears the ACKF flag in I2C_ISR
              register.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>NACKCF</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clears the NACK flag in ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>STOPCF</name>
              <description>Stop detection flag clear Writing 1 to
              this bit clears the STOPF flag in the I2C_ISR
              register.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>STOPCF</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clears the STOP flag in ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BERRCF</name>
              <description>Bus error flag clear Writing 1 to this
              bit clears the BERRF flag in the I2C_ISR
              register.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>BERRCF</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clears the BERR flag in ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ARLOCF</name>
              <description>Arbitration Lost flag clear Writing 1 to
              this bit clears the ARLO flag in the I2C_ISR
              register.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>ARLOCF</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clears the ARLO flag in ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OVRCF</name>
              <description>Overrun/Underrun flag clear Writing 1 to
              this bit clears the OVR flag in the I2C_ISR
              register.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>OVRCF</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clears the OVR flag in ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PECCF</name>
              <description>PEC Error flag clear Writing 1 to this
              bit clears the PECERR flag in the I2C_ISR register.
              Note: If the SMBus feature is not supported, this bit
              is reserved and forced by hardware to 0. Please refer
              to Section25.3: I2C implementation.</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>PECCF</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clears the PEC flag in ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TIMOUTCF</name>
              <description>Timeout detection flag clear Writing 1
              to this bit clears the TIMEOUT flag in the I2C_ISR
              register. Note: If the SMBus feature is not
              supported, this bit is reserved and forced by
              hardware to 0. Please refer to Section25.3: I2C
              implementation.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>TIMOUTCF</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clears the TIMOUT flag in ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ALERTCF</name>
              <description>Alert flag clear Writing 1 to this bit
              clears the ALERT flag in the I2C_ISR register. Note:
              If the SMBus feature is not supported, this bit is
              reserved and forced by hardware to 0. Please refer to
              Section25.3: I2C implementation.</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>ALERTCF</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clears the ALERT flag in ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PECR</name>
          <displayName>PECR</displayName>
          <description>Access: No wait states</description>
          <addressOffset>0x20</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>PEC</name>
              <description>Packet error checking register This
              field contains the internal PEC when PECEN=1. The PEC
              is cleared by hardware when PE=0.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>RXDR</name>
          <displayName>RXDR</displayName>
          <description>Access: No wait states</description>
          <addressOffset>0x24</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>RXDATA</name>
              <description>8-bit receive data Data byte received
              from the I2C bus.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>TXDR</name>
          <displayName>TXDR</displayName>
          <description>Access: No wait states</description>
          <addressOffset>0x28</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TXDATA</name>
              <description>8-bit transmit data Data byte to be
              transmitted to the I2C bus. Note: These bits can be
              written only when TXE=1.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral derivedFrom="I2C1">
      <name>I2C2</name>
      <baseAddress>0x40005800</baseAddress>
      <interrupt>
        <name>I2C2_EV</name>
        <description>I2C2 event interrupt</description>
        <value>33</value>
      </interrupt>
      <interrupt>
        <name>I2C2_ER</name>
        <description>I2C2 error interrupt</description>
        <value>34</value>
      </interrupt>
    </peripheral>
    <peripheral derivedFrom="I2C1">
      <name>I2C3</name>
      <baseAddress>0x40005C00</baseAddress>
      <interrupt>
        <name>I2C3_EV</name>
        <description>I2C3 event interrupt</description>
        <value>72</value>
      </interrupt>
      <interrupt>
        <name>I2C3_ER</name>
        <description>I2C3 error interrupt</description>
        <value>73</value>
      </interrupt>
    </peripheral>
    <peripheral derivedFrom="I2C1">
      <name>I2C4</name>
      <baseAddress>0x58001C00</baseAddress>
      <interrupt>
        <name>I2C4_EV</name>
        <description>I2C4 event interrupt</description>
        <value>95</value>
      </interrupt>
      <interrupt>
        <name>I2C4_ER</name>
        <description>I2C4 error interrupt</description>
        <value>96</value>
      </interrupt>
    </peripheral>
    <peripheral>
      <name>GPIOA</name>
      <description>GPIO</description>
      <groupName>GPIO</groupName>
      <baseAddress>0x58020000</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <registers>
        <register>
          <name>MODER</name>
          <displayName>MODER</displayName>
          <description>GPIO port mode register</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0xABFFFFFF</resetValue>
          <fields>
            <field>
              <dim>16</dim>
              <dimIncrement>0x2</dimIncrement>
              <dimIndex>0-15</dimIndex>
              <name>MODER%s</name>
              <description>Port x configuration pin %s</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>Mode</name>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Input mode (reset state)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>General purpose output mode</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Alternate</name>
                  <description>Alternate function mode</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Analog</name>
                  <description>Analog mode</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>OTYPER</name>
          <displayName>OTYPER</displayName>
          <description>GPIO port output type register</description>
          <addressOffset>0x4</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>16</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>0-15</dimIndex>
              <name>OT%s</name>
              <description>Port x configuration pin %s</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>OutputType</name>
                <enumeratedValue>
                  <name>PushPull</name>
                  <description>Output push-pull (reset state)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OpenDrain</name>
                  <description>Output open-drain</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>OSPEEDR</name>
          <displayName>OSPEEDR</displayName>
          <description>GPIO port output speed
          register</description>
          <addressOffset>0x8</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x0C000000</resetValue>
          <fields>
            <field>
              <dim>16</dim>
              <dimIncrement>0x2</dimIncrement>
              <dimIndex>0-15</dimIndex>
              <name>OSPEEDR%s</name>
              <description>Port x configuration pin %s</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>OutputSpeed</name>
                <enumeratedValue>
                  <name>LowSpeed</name>
                  <description>Low speed</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>MediumSpeed</name>
                  <description>Medium speed</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HighSpeed</name>
                  <description>High speed</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>VeryHighSpeed</name>
                  <description>Very high speed</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PUPDR</name>
          <displayName>PUPDR</displayName>
          <description>GPIO port pull-up/pull-down
          register</description>
          <addressOffset>0xC</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x64000000</resetValue>
          <fields>
            <field>
              <dim>16</dim>
              <dimIncrement>0x2</dimIncrement>
              <dimIndex>0-15</dimIndex>
              <name>PUPDR%s</name>
              <description>Port x configuration pin %s</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>Pull</name>
                <enumeratedValue>
                  <name>Floating</name>
                  <description>No pull-up, pull-down</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PullUp</name>
                  <description>Pull-up</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PullDown</name>
                  <description>Pull-down</description>
                  <value>2</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>IDR</name>
          <displayName>IDR</displayName>
          <description>GPIO port input data register</description>
          <addressOffset>0x10</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>16</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>0-15</dimIndex>
              <name>IDR%s</name>
              <description>Port input data pin %s</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>InputData</name>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Input is logic low</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Input is logic high</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>ODR</name>
          <displayName>ODR</displayName>
          <description>GPIO port output data register</description>
          <addressOffset>0x14</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>16</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>0-15</dimIndex>
              <name>ODR%s</name>
              <description>Port output data pin %s</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>OutputData</name>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Set output to logic low</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Set output to logic high</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>BSRR</name>
          <displayName>BSRR</displayName>
          <description>GPIO port bit set/reset
          register</description>
          <addressOffset>0x18</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>16</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>0-15</dimIndex>
              <name>BS%s</name>
              <description>Port x set pin %s</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>BitSet</name>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Sets the corresponding ODRx bit</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>16</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>0-15</dimIndex>
              <name>BR%s</name>
              <description>Port x reset pin %s</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>BitReset</name>
                <enumeratedValue>
                  <name>Reset</name>
                  <description>Resets the corresponding ODRx bit</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>LCKR</name>
          <displayName>LCKR</displayName>
          <description>This register is used to lock the
          configuration of the port bits when a correct write
          sequence is applied to bit 16 (LCKK). The value of bits
          [15:0] is used to lock the configuration of the GPIO.
          During the write sequence, the value of LCKR[15:0] must
          not change. When the LOCK sequence has been applied on a
          port bit, the value of this port bit can no longer be
          modified until the next MCU reset or peripheral reset.A
          specific write sequence is used to write to the
          GPIOx_LCKR register. Only word access (32-bit long) is
          allowed during this locking sequence.Each lock bit
          freezes a specific configuration register (control and
          alternate function registers).</description>
          <addressOffset>0x1C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>16</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>0-15</dimIndex>
              <name>LCK%s</name>
              <description>Port x lock pin %s</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>Lock</name>
                <enumeratedValue>
                  <name>Unlocked</name>
                  <description>Port configuration not locked</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Locked</name>
                  <description>Port configuration locked</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LCKK</name>
              <description>Lock key This bit can be read any time.
              It can only be modified using the lock key write
              sequence. LOCK key write sequence: WR LCKR[16] = 1 +
              LCKR[15:0] WR LCKR[16] = 0 + LCKR[15:0] WR LCKR[16] =
              1 + LCKR[15:0] RD LCKR RD LCKR[16] = 1 (this read
              operation is optional but it confirms that the lock
              is active) Note: During the LOCK key write sequence,
              the value of LCK[15:0] must not change. Any error in
              the lock sequence aborts the lock. After the first
              lock sequence on any bit of the port, any read access
              on the LCKK bit will return 1 until the next MCU
              reset or peripheral reset.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>LockKey</name>
                <enumeratedValue>
                  <name>NotActive</name>
                  <description>Port configuration lock key not active</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Active</name>
                  <description>Port configuration lock key active</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>AFRL</name>
          <displayName>AFRL</displayName>
          <description>GPIO alternate function low
          register</description>
          <addressOffset>0x20</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>8</dim>
              <dimIncrement>0x4</dimIncrement>
              <dimIndex>0-7</dimIndex>
              <name>AFR%s</name>
              <description>[3:0]: Alternate function selection for
              port x pin y (y = 0..7) These bits are written by
              software to configure alternate function I/Os AFSELy
              selection:</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues>
                <name>AlternateFunction</name>
                <enumeratedValue>
                  <name>AF0</name>
                  <description>AF0</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>AF1</name>
                  <description>AF1</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>AF2</name>
                  <description>AF2</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>AF3</name>
                  <description>AF3</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>AF4</name>
                  <description>AF4</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>AF5</name>
                  <description>AF5</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>AF6</name>
                  <description>AF6</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>AF7</name>
                  <description>AF7</description>
                  <value>7</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>AF8</name>
                  <description>AF8</description>
                  <value>8</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>AF9</name>
                  <description>AF9</description>
                  <value>9</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>AF10</name>
                  <description>AF10</description>
                  <value>10</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>AF11</name>
                  <description>AF11</description>
                  <value>11</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>AF12</name>
                  <description>AF12</description>
                  <value>12</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>AF13</name>
                  <description>AF13</description>
                  <value>13</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>AF14</name>
                  <description>AF14</description>
                  <value>14</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>AF15</name>
                  <description>AF15</description>
                  <value>15</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>AFRH</name>
          <displayName>AFRH</displayName>
          <description>GPIO alternate function high
          register</description>
          <addressOffset>0x24</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field derivedFrom="GPIOA.AFRL.AFR%s">
              <dim>8</dim>
              <dimIncrement>0x4</dimIncrement>
              <dimIndex>8-15</dimIndex>
              <name>AFR%s</name>
              <description>[3:0]: Alternate function selection for
              port x pin y (y = 8..15) These bits are written by
              software to configure alternate function
              I/Os</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>GPIOC</name>
      <description>GPIO</description>
      <groupName>GPIO</groupName>
      <baseAddress>0x58020800</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <registers>
        <register>
          <name>MODER</name>
          <displayName>MODER</displayName>
          <description>GPIO port mode register</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0xFFFFFFFF</resetValue>
          <fields>
            <field derivedFrom="GPIOA.MODER.MODER%s">
              <dim>16</dim>
              <dimIncrement>0x2</dimIncrement>
              <dimIndex>0-15</dimIndex>
              <name>MODER%s</name>
              <description>Port x configuration pin %s</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
          </fields>
        </register>
        <register derivedFrom="GPIOA.OTYPER">
          <name>OTYPER</name>
          <displayName>OTYPER</displayName>
          <description>GPIO port output type register</description>
          <addressOffset>0x4</addressOffset>
        </register>
        <register>
          <name>OSPEEDR</name>
          <displayName>OSPEEDR</displayName>
          <description>GPIO port output speed
          register</description>
          <addressOffset>0x8</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field derivedFrom="GPIOA.OSPEEDR.OSPEEDR%s">
              <dim>16</dim>
              <dimIncrement>0x2</dimIncrement>
              <dimIndex>0-15</dimIndex>
              <name>OSPEEDR%s</name>
              <description>Port x configuration pin %s</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>PUPDR</name>
          <displayName>PUPDR</displayName>
          <description>GPIO port pull-up/pull-down
          register</description>
          <addressOffset>0xC</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field derivedFrom="GPIOA.PUPDR.PUPDR%s">
              <dim>16</dim>
              <dimIncrement>0x2</dimIncrement>
              <dimIndex>0-15</dimIndex>
              <name>PUPDR%s</name>
              <description>Port x configuration pin %s</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
          </fields>
        </register>
        <register derivedFrom="GPIOA.IDR">
          <name>IDR</name>
          <displayName>IDR</displayName>
          <description>GPIO port input data register</description>
          <addressOffset>0x10</addressOffset>
        </register>
        <register derivedFrom="GPIOA.ODR">
          <name>ODR</name>
          <displayName>ODR</displayName>
          <description>GPIO port output data register</description>
          <addressOffset>0x14</addressOffset>
        </register>
        <register derivedFrom="GPIOA.BSRR">
          <name>BSRR</name>
          <displayName>BSRR</displayName>
          <description>GPIO port bit set/reset
          register</description>
          <addressOffset>0x18</addressOffset>
        </register>
        <register derivedFrom="GPIOA.LCKR">
          <name>LCKR</name>
          <displayName>LCKR</displayName>
          <description>This register is used to lock the
          configuration of the port bits when a correct write
          sequence is applied to bit 16 (LCKK). The value of bits
          [15:0] is used to lock the configuration of the GPIO.
          During the write sequence, the value of LCKR[15:0] must
          not change. When the LOCK sequence has been applied on a
          port bit, the value of this port bit can no longer be
          modified until the next MCU reset or peripheral reset.A
          specific write sequence is used to write to the
          GPIOx_LCKR register. Only word access (32-bit long) is
          allowed during this locking sequence.Each lock bit
          freezes a specific configuration register (control and
          alternate function registers).</description>
          <addressOffset>0x1C</addressOffset>
        </register>
        <register derivedFrom="GPIOA.AFRL">
          <name>AFRL</name>
          <displayName>AFRL</displayName>
          <description>GPIO alternate function low
          register</description>
          <addressOffset>0x20</addressOffset>
        </register>
        <register derivedFrom="GPIOA.AFRH">
          <name>AFRH</name>
          <displayName>AFRH</displayName>
          <description>GPIO alternate function high
          register</description>
          <addressOffset>0x24</addressOffset>
        </register>
      </registers>
    </peripheral>
    <peripheral derivedFrom="GPIOC">
      <name>GPIOD</name>
      <baseAddress>0x58020C00</baseAddress>
    </peripheral>
    <peripheral derivedFrom="GPIOC">
      <name>GPIOE</name>
      <baseAddress>0x58021000</baseAddress>
    </peripheral>
    <peripheral derivedFrom="GPIOC">
      <name>GPIOF</name>
      <baseAddress>0x58021400</baseAddress>
    </peripheral>
    <peripheral derivedFrom="GPIOC">
      <name>GPIOG</name>
      <baseAddress>0x58021800</baseAddress>
    </peripheral>
    <peripheral derivedFrom="GPIOC">
      <name>GPIOH</name>
      <baseAddress>0x58021C00</baseAddress>
    </peripheral>
    <peripheral derivedFrom="GPIOC">
      <name>GPIOI</name>
      <baseAddress>0x58022000</baseAddress>
    </peripheral>
    <peripheral derivedFrom="GPIOC">
      <name>GPIOJ</name>
      <baseAddress>0x58022400</baseAddress>
    </peripheral>
    <peripheral derivedFrom="GPIOC">
      <name>GPIOK</name>
      <baseAddress>0x58022800</baseAddress>
    </peripheral>
    <peripheral>
      <name>JPEG</name>
      <description>JPEG</description>
      <groupName>JPEG</groupName>
      <baseAddress>0x52003000</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>JPEG</name>
        <description>JPEG global interrupt</description>
        <value>121</value>
      </interrupt>
      <registers>
        <register>
          <name>CONFR0</name>
          <displayName>CONFR0</displayName>
          <description>JPEG codec control register</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>START</name>
              <description>Start This bit start or stop the
              encoding or decoding process. Read this register
              always return 0.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CONFR1</name>
          <displayName>CONFR1</displayName>
          <description>JPEG codec configuration register
          1</description>
          <addressOffset>0x4</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>NF</name>
              <description>Number of color components This field
              defines the number of color components minus
              1.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>DE</name>
              <description>Decoding Enable This bit selects the
              coding or decoding process</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>COLORSPACE</name>
              <description>Color Space This filed defines the
              number of quantization tables minus 1 to insert in
              the output stream.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>NS</name>
              <description>Number of components for Scan This field
              defines the number of components minus 1 for scan
              header marker segment.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>HDR</name>
              <description>Header Processing This bit enable the
              header processing (generation/parsing).</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>YSIZE</name>
              <description>Y Size This field defines the number of
              lines in source image.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CONFR2</name>
          <displayName>CONFR2</displayName>
          <description>JPEG codec configuration register
          2</description>
          <addressOffset>0x8</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>NMCU</name>
              <description>Number of MCU For encoding: this field
              defines the number of MCU units minus 1 to encode.
              For decoding: this field indicates the number of
              complete MCU units minus 1 to be decoded (this field
              is updated after the JPEG header parsing). If the
              decoded image size has not a X or Y size multiple of
              8 or 16 (depending on the sub-sampling process), the
              resulting incomplete or empty MCU must be added to
              this value to get the total number of MCU
              generated.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>26</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CONFR3</name>
          <displayName>CONFR3</displayName>
          <description>JPEG codec configuration register
          3</description>
          <addressOffset>0xC</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>XSIZE</name>
              <description>X size This field defines the number of
              pixels per line.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CONFRN1</name>
          <displayName>CONFRN1</displayName>
          <description>JPEG codec configuration register
          4-7</description>
          <addressOffset>0x10</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>HD</name>
              <description>Huffman DC Selects the Huffman table for
              encoding the DC coefficients.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>HA</name>
              <description>Huffman AC Selects the Huffman table for
              encoding the AC coefficients.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>QT</name>
              <description>Quantization Table Selects quantization
              table associated with a color
              component.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>NB</name>
              <description>Number of Block Number of data units
              minus 1 that belong to a particular color in the
              MCU.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>VSF</name>
              <description>Vertical Sampling Factor Vertical
              sampling factor for component i.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>HSF</name>
              <description>Horizontal Sampling Factor Horizontal
              sampling factor for component i.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CONFRN2</name>
          <displayName>CONFRN2</displayName>
          <description>JPEG codec configuration register
          4-7</description>
          <addressOffset>0x14</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>HD</name>
              <description>Huffman DC Selects the Huffman table for
              encoding the DC coefficients.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>HA</name>
              <description>Huffman AC Selects the Huffman table for
              encoding the AC coefficients.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>QT</name>
              <description>Quantization Table Selects quantization
              table associated with a color
              component.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>NB</name>
              <description>Number of Block Number of data units
              minus 1 that belong to a particular color in the
              MCU.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>VSF</name>
              <description>Vertical Sampling Factor Vertical
              sampling factor for component i.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>HSF</name>
              <description>Horizontal Sampling Factor Horizontal
              sampling factor for component i.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CONFRN3</name>
          <displayName>CONFRN3</displayName>
          <description>JPEG codec configuration register
          4-7</description>
          <addressOffset>0x18</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>HD</name>
              <description>Huffman DC Selects the Huffman table for
              encoding the DC coefficients.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>HA</name>
              <description>Huffman AC Selects the Huffman table for
              encoding the AC coefficients.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>QT</name>
              <description>Quantization Table Selects quantization
              table associated with a color
              component.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>NB</name>
              <description>Number of Block Number of data units
              minus 1 that belong to a particular color in the
              MCU.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>VSF</name>
              <description>Vertical Sampling Factor Vertical
              sampling factor for component i.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>HSF</name>
              <description>Horizontal Sampling Factor Horizontal
              sampling factor for component i.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CONFRN4</name>
          <displayName>CONFRN4</displayName>
          <description>JPEG codec configuration register
          4-7</description>
          <addressOffset>0x1C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>HD</name>
              <description>Huffman DC Selects the Huffman table for
              encoding the DC coefficients.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>HA</name>
              <description>Huffman AC Selects the Huffman table for
              encoding the AC coefficients.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>QT</name>
              <description>Quantization Table Selects quantization
              table associated with a color
              component.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>NB</name>
              <description>Number of Block Number of data units
              minus 1 that belong to a particular color in the
              MCU.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>VSF</name>
              <description>Vertical Sampling Factor Vertical
              sampling factor for component i.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>HSF</name>
              <description>Horizontal Sampling Factor Horizontal
              sampling factor for component i.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CR</name>
          <displayName>CR</displayName>
          <description>JPEG control register</description>
          <addressOffset>0x30</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>JCEN</name>
              <description>JPEG Core Enable Enable the JPEG codec
              Core.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IFTIE</name>
              <description>Input FIFO Threshold Interrupt Enable
              This bit enables the interrupt generation when input
              FIFO reach the threshold.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IFNFIE</name>
              <description>Input FIFO Not Full Interrupt Enable
              This bit enables the interrupt generation when input
              FIFO is not empty.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>OFTIE</name>
              <description>Output FIFO Threshold Interrupt Enable
              This bit enables the interrupt generation when output
              FIFO reach the threshold.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>OFNEIE</name>
              <description>Output FIFO Not Empty Interrupt Enable
              This bit enables the interrupt generation when output
              FIFO is not empty.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>EOCIE</name>
              <description>End of Conversion Interrupt Enable This
              bit enables the interrupt generation on the end of
              conversion.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>HPDIE</name>
              <description>Header Parsing Done Interrupt Enable
              This bit enables the interrupt generation on the
              Header Parsing Operation.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IDMAEN</name>
              <description>Input DMA Enable Enable the DMA request
              generation for the input FIFO.</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ODMAEN</name>
              <description>Output DMA Enable Enable the DMA request
              generation for the output FIFO.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IFF</name>
              <description>Input FIFO Flush This bit flush the
              input FIFO. This bit is always read as
              0.</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>OFF</name>
              <description>Output FIFO Flush This bit flush the
              output FIFO. This bit is always read as
              0.</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>SR</name>
          <displayName>SR</displayName>
          <description>JPEG status register</description>
          <addressOffset>0x34</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000006</resetValue>
          <fields>
            <field>
              <name>IFTF</name>
              <description>Input FIFO Threshold Flag This bit is
              set when the input FIFO is not full and is bellow its
              threshold.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IFNFF</name>
              <description>Input FIFO Not Full Flag This bit is set
              when the input FIFO is not full (a data can be
              written).</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>OFTF</name>
              <description>Output FIFO Threshold Flag This bit is
              set when the output FIFO is not empty and has reach
              its threshold.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>OFNEF</name>
              <description>Output FIFO Not Empty Flag This bit is
              set when the output FIFO is not empty (a data is
              available).</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>EOCF</name>
              <description>End of Conversion Flag This bit is set
              when the JPEG codec core has finished the encoding or
              the decoding process and than last data has been sent
              to the output FIFO.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>HPDF</name>
              <description>Header Parsing Done Flag This bit is set
              in decode mode when the JPEG codec has finished the
              parsing of the headers and the internal registers
              have been updated.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>COF</name>
              <description>Codec Operation Flag This bit is set
              when when a JPEG codec operation is on going
              (encoding or decoding).</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CFR</name>
          <displayName>CFR</displayName>
          <description>JPEG clear flag register</description>
          <addressOffset>0x38</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CEOCF</name>
              <description>Clear End of Conversion Flag Writing 1
              clears the End of Conversion Flag of the JPEG Status
              Register.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CHPDF</name>
              <description>Clear Header Parsing Done Flag Writing 1
              clears the Header Parsing Done Flag of the JPEG
              Status Register.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DIR</name>
          <displayName>DIR</displayName>
          <description>JPEG data input register</description>
          <addressOffset>0x40</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DATAIN</name>
              <description>Data Input FIFO Input FIFO data
              register.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DOR</name>
          <displayName>DOR</displayName>
          <description>JPEG data output register</description>
          <addressOffset>0x44</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DATAOUT</name>
              <description>Data Output FIFO Output FIFO data
              register.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>MDMA</name>
      <description>MDMA</description>
      <groupName>MDMA</groupName>
      <baseAddress>0x52000000</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x1000</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>MDMA</name>
        <description>MDMA</description>
        <value>122</value>
      </interrupt>
      <registers>
        <register>
          <name>GISR0</name>
          <displayName>GISR0</displayName>
          <description>MDMA Global Interrupt/Status
          Register</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>16</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>0-15</dimIndex>
              <name>GIF%s</name>
              <description>Channel x global interrupt flag (x=...)
              This bit is set and reset by hardware. It is a
              logical OR of all the Channel x interrupt flags
              (CTCIFx, BTIFx, BRTIFx, TEIFx) which are enabled in
              the interrupt mask register (CTCIEx, BTIEx, BRTIEx,
              TEIEx)</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <cluster>
          <dim>16</dim>
          <dimIncrement>0x40</dimIncrement>
          <dimIndex>0-15</dimIndex>
          <name>CH%s</name>
          <description>Channel cluster: C?ISR, C?IFCR, C?ESR, C?CR, C?TCR, C?BNDTR, C?SAR, C?DAR, C?BRUR, C?LAR, C?TBR, C?MAR and C?MDR registers</description>
          <addressOffset>0x40</addressOffset>
          <register>
            <name>ISR</name>
            <displayName>C0ISR</displayName>
            <description>MDMA channel x interrupt/status
          register</description>
            <addressOffset>0x0</addressOffset>
            <size>0x20</size>
            <access>read-only</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>TEIF</name>
                <description>Channel x transfer error interrupt flag
              This bit is set by hardware. It is cleared by
              software writing 1 to the corresponding bit in the
              DMA_IFCRy register.</description>
                <bitOffset>0</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>CTCIF</name>
                <description>Channel x Channel Transfer Complete
              interrupt flag This bit is set by hardware. It is
              cleared by software writing 1 to the corresponding
              bit in the DMA_IFCRy register. CTC is set when the
              last block was transferred and the channel has been
              automatically disabled. CTC is also set when the
              channel is suspended, as a result of writing EN bit
              to 0.</description>
                <bitOffset>1</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>BRTIF</name>
                <description>Channel x block repeat transfer complete
              interrupt flag This bit is set by hardware. It is
              cleared by software writing 1 to the corresponding
              bit in the DMA_IFCRy register.</description>
                <bitOffset>2</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>BTIF</name>
                <description>Channel x block transfer complete
              interrupt flag This bit is set by hardware. It is
              cleared by software writing 1 to the corresponding
              bit in the DMA_IFCRy register.</description>
                <bitOffset>3</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>TCIF</name>
                <description>channel x buffer transfer
              complete</description>
                <bitOffset>4</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>CRQA</name>
                <description>channel x request active
              flag</description>
                <bitOffset>16</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>IFCR</name>
            <displayName>C0IFCR</displayName>
            <description>MDMA channel x interrupt flag clear
          register</description>
            <addressOffset>0x4</addressOffset>
            <size>0x20</size>
            <access>write-only</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>CTEIF</name>
                <description>Channel x clear transfer error interrupt
              flag Writing a 1 into this bit clears TEIFx in the
              MDMA_ISRy register</description>
                <bitOffset>0</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>CCTCIF</name>
                <description>Clear Channel transfer complete
              interrupt flag for channel x Writing a 1 into this
              bit clears CTCIFx in the MDMA_ISRy
              register</description>
                <bitOffset>1</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>CBRTIF</name>
                <description>Channel x clear block repeat transfer
              complete interrupt flag Writing a 1 into this bit
              clears BRTIFx in the MDMA_ISRy register</description>
                <bitOffset>2</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>CBTIF</name>
                <description>Channel x Clear block transfer complete
              interrupt flag Writing a 1 into this bit clears BTIFx
              in the MDMA_ISRy register</description>
                <bitOffset>3</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>CLTCIF</name>
                <description>CLear buffer Transfer Complete Interrupt
              Flag for channel x Writing a 1 into this bit clears
              TCIFx in the MDMA_ISRy register</description>
                <bitOffset>4</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>ESR</name>
            <displayName>C0ESR</displayName>
            <description>MDMA Channel x error status
          register</description>
            <addressOffset>0x8</addressOffset>
            <size>0x20</size>
            <access>read-only</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>TEA</name>
                <description>Transfer Error Address These bits are
              set and cleared by HW, in case of an MDMA data
              transfer error. It is used in conjunction with TED.
              This field indicates the 7 LSBits of the address
              which generated a transfer/access error. It may be
              used by SW to retrieve the failing address, by adding
              this value (truncated to the buffer transfer length
              size) to the current SAR/DAR value. Note: The SAR/DAR
              current value doesnt reflect this last address due to
              the FIFO management system. The SAR/DAR are only
              updated at the end of a (buffer) transfer (of TLEN+1
              bytes). Note: It is not set in case of a link data
              error.</description>
                <bitOffset>0</bitOffset>
                <bitWidth>7</bitWidth>
              </field>
              <field>
                <name>TED</name>
                <description>Transfer Error Direction These bit is
              set and cleared by HW, in case of an MDMA data
              transfer error.</description>
                <bitOffset>7</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>TELD</name>
                <description>Transfer Error Link Data These bit is
              set by HW, in case of a transfer error while reading
              the block link data structure. It is cleared by
              software writing 1 to the CTEIFx bit in the DMA_IFCRy
              register.</description>
                <bitOffset>8</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>TEMD</name>
                <description>Transfer Error Mask Data These bit is
              set by HW, in case of a transfer error while writing
              the Mask Data. It is cleared by software writing 1 to
              the CTEIFx bit in the DMA_IFCRy
              register.</description>
                <bitOffset>9</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>ASE</name>
                <description>Address/Size Error These bit is set by
              HW, when the programmed address is not aligned with
              the data size. TED will indicate whether the problem
              is on the source or destination. It is cleared by
              software writing 1 to the CTEIFx bit in the DMA_IFCRy
              register.</description>
                <bitOffset>10</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>BSE</name>
                <description>Block Size Error These bit is set by HW,
              when the block size is not an integer multiple of the
              data size either for source or destination. TED will
              indicate whether the problem is on the source or
              destination. It is cleared by software writing 1 to
              the CTEIFx bit in the DMA_IFCRy
              register.</description>
                <bitOffset>11</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>CR</name>
            <displayName>C0CR</displayName>
            <description>This register is used to control the
          concerned channel.</description>
            <addressOffset>0xC</addressOffset>
            <size>0x20</size>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>EN</name>
                <description>channel enable</description>
                <bitOffset>0</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>TEIE</name>
                <description>Transfer error interrupt enable This bit
              is set and cleared by software.</description>
                <bitOffset>1</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>CTCIE</name>
                <description>Channel Transfer Complete interrupt
              enable This bit is set and cleared by
              software.</description>
                <bitOffset>2</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>BRTIE</name>
                <description>Block Repeat transfer interrupt enable
              This bit is set and cleared by
              software.</description>
                <bitOffset>3</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>BTIE</name>
                <description>Block Transfer interrupt enable This bit
              is set and cleared by software.</description>
                <bitOffset>4</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>TCIE</name>
                <description>buffer Transfer Complete interrupt
              enable This bit is set and cleared by
              software.</description>
                <bitOffset>5</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>PL</name>
                <description>Priority level These bits are set and
              cleared by software. These bits are protected and can
              be written only if EN is 0.</description>
                <bitOffset>6</bitOffset>
                <bitWidth>2</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>BEX</name>
                <description>byte Endianness exchange</description>
                <bitOffset>12</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>HEX</name>
                <description>Half word Endianes
              exchange</description>
                <bitOffset>13</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>WEX</name>
                <description>Word Endianness exchange</description>
                <bitOffset>14</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>SWRQ</name>
                <description>SW ReQuest Writing a 1 into this bit
              sets the CRQAx in MDMA_ISRy register, activating the
              request on Channel x Note: Either the whole CxCR
              register or the 8-bit/16-bit register @ Address
              offset: 0x4E + 0x40 chn may be used for SWRQ
              activation. In case of a SW request, acknowledge is
              not generated (neither HW signal, nor CxMAR write
              access).</description>
                <bitOffset>16</bitOffset>
                <bitWidth>1</bitWidth>
                <access>write-only</access>
              </field>
            </fields>
          </register>
          <register>
            <name>TCR</name>
            <displayName>C0TCR</displayName>
            <description>This register is used to configure the
          concerned channel.</description>
            <addressOffset>0x10</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>SINC</name>
                <description>Source increment mode These bits are set
              and cleared by software. These bits are protected and
              can be written only if EN is 0 Note: When source is
              AHB (SBUS=1), SINC = 00 is forbidden. In Linked List
              Mode, at the end of a block (single or last block in
              repeated block transfer mode), this register will be
              loaded from memory (from address given by current
              LAR[31:0] + 0x00).</description>
                <bitOffset>0</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>DINC</name>
                <description>Destination increment mode These bits
              are set and cleared by software. These bits are
              protected and can be written only if EN is 0 Note:
              When destination is AHB (DBUS=1), DINC = 00 is
              forbidden.</description>
                <bitOffset>2</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>SSIZE</name>
                <description>Source data size These bits are set and
              cleared by software. These bits are protected and can
              be written only if EN is 0 Note: If a value of 11 is
              programmed for the TCM access/AHB port, a transfer
              error will occur (TEIF bit set) If SINCOS &amp;lt;
              SSIZE and SINC &amp;#8800; 00, the result will be
              unpredictable. Note: SSIZE = 11 (double-word) is
              forbidden when source is TCM/AHB bus
              (SBUS=1).</description>
                <bitOffset>4</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>DSIZE</name>
                <description>Destination data size These bits are set
              and cleared by software. These bits are protected and
              can be written only if EN is 0. Note: If a value of
              11 is programmed for the TCM access/AHB port, a
              transfer error will occur (TEIF bit set) If DINCOS
              &amp;lt; DSIZE and DINC &amp;#8800; 00, the result
              will be unpredictable. Note: DSIZE = 11 (double-word)
              is forbidden when destination is TCM/AHB bus
              (DBUS=1).</description>
                <bitOffset>6</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>SINCOS</name>
                <description>source increment offset
              size</description>
                <bitOffset>8</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>DINCOS</name>
                <description>Destination increment
              offset</description>
                <bitOffset>10</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>SBURST</name>
                <description>source burst transfer
              configuration</description>
                <bitOffset>12</bitOffset>
                <bitWidth>3</bitWidth>
              </field>
              <field>
                <name>DBURST</name>
                <description>Destination burst transfer
              configuration</description>
                <bitOffset>15</bitOffset>
                <bitWidth>3</bitWidth>
              </field>
              <field>
                <name>TLEN</name>
                <description>buffer transfer lengh</description>
                <bitOffset>18</bitOffset>
                <bitWidth>7</bitWidth>
              </field>
              <field>
                <name>PKE</name>
                <description>PacK Enable These bit is set and cleared
              by software. If the Source Size is smaller than the
              destination, it will be padded according to the PAM
              value. If the Source data size is larger than the
              destination one, it will be truncated. The alignment
              will be done according to the PAM[0] value. This bit
              is protected and can be written only if EN is
              0</description>
                <bitOffset>25</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>PAM</name>
                <description>Padding/Alignement Mode These bits are
              set and cleared by software. Case 1: Source data size
              smaller than destination data size - 3 options are
              valid. Case 2: Source data size larger than
              destination data size. The remainder part is
              discarded. When PKE = 1 or DSIZE=SSIZE, these bits
              are ignored. These bits are protected and can be
              written only if EN is 0</description>
                <bitOffset>26</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>TRGM</name>
                <description>Trigger Mode These bits are set and
              cleared by software. Note: If TRGM is 11 for the
              current block, all the values loaded at the end of
              the current block through the linked list mechanism
              must keep the same value (TRGM=11) and the same SWRM
              value, otherwise the result is undefined. These bits
              are protected and can be written only if EN is
              0.</description>
                <bitOffset>28</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>SWRM</name>
                <description>SW Request Mode This bit is set and
              cleared by software. If a HW or SW request is
              currently active, the bit change will be delayed
              until the current transfer is completed. If the CxMAR
              contains a valid address, the CxMDR value will also
              be written @ CxMAR address. This bit is protected and
              can be written only if EN is 0.</description>
                <bitOffset>30</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>BWM</name>
                <description>Bufferable Write Mode This bit is set
              and cleared by software. This bit is protected and
              can be written only if EN is 0. Note: All MDMA
              destination accesses are non-cacheable.</description>
                <bitOffset>31</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>BNDTR</name>
            <displayName>C0BNDTR</displayName>
            <description>MDMA Channel x block number of data
          register</description>
            <addressOffset>0x14</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>BNDT</name>
                <description>block number of data to
              transfer</description>
                <bitOffset>0</bitOffset>
                <bitWidth>17</bitWidth>
              </field>
              <field>
                <name>BRSUM</name>
                <description>Block Repeat Source address Update Mode
              These bits are protected and can be written only if
              EN is 0.</description>
                <bitOffset>18</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>BRDUM</name>
                <description>Block Repeat Destination address Update
              Mode These bits are protected and can be written only
              if EN is 0.</description>
                <bitOffset>19</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>BRC</name>
                <description>Block Repeat Count This field contains
              the number of repetitions of the current block (0 to
              4095). When the channel is enabled, this register is
              read-only, indicating the remaining number of blocks,
              excluding the current one. This register decrements
              after each complete block transfer. Once the last
              block transfer has completed, this register can
              either stay at zero or be reloaded automatically from
              memory (in Linked List mode - i.e. Link Address
              valid). These bits are protected and can be written
              only if EN is 0.</description>
                <bitOffset>20</bitOffset>
                <bitWidth>12</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>SAR</name>
            <displayName>C0SAR</displayName>
            <description>MDMA channel x source address
          register</description>
            <addressOffset>0x18</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>SAR</name>
                <description>source adr base</description>
                <bitOffset>0</bitOffset>
                <bitWidth>32</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>DAR</name>
            <displayName>C0DAR</displayName>
            <description>MDMA channel x destination address
          register</description>
            <addressOffset>0x1C</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>DAR</name>
                <description>Destination adr base</description>
                <bitOffset>0</bitOffset>
                <bitWidth>32</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>BRUR</name>
            <displayName>C0BRUR</displayName>
            <description>MDMA channel x Block Repeat address Update
          register</description>
            <addressOffset>0x20</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>SUV</name>
                <description>source adresse update
              value</description>
                <bitOffset>0</bitOffset>
                <bitWidth>16</bitWidth>
              </field>
              <field>
                <name>DUV</name>
                <description>destination address update</description>
                <bitOffset>16</bitOffset>
                <bitWidth>16</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>LAR</name>
            <displayName>C0LAR</displayName>
            <description>MDMA channel x Link Address
          register</description>
            <addressOffset>0x24</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>LAR</name>
                <description>Link address register</description>
                <bitOffset>0</bitOffset>
                <bitWidth>32</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>TBR</name>
            <displayName>C0TBR</displayName>
            <description>MDMA channel x Trigger and Bus selection
          Register</description>
            <addressOffset>0x28</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>TSEL</name>
                <description>Trigger selection</description>
                <bitOffset>0</bitOffset>
                <bitWidth>6</bitWidth>
              </field>
              <field>
                <name>SBUS</name>
                <description>Source BUS select This bit is protected
              and can be written only if EN is 0.</description>
                <bitOffset>16</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>DBUS</name>
                <description>Destination BUS slect This bit is
              protected and can be written only if EN is
              0.</description>
                <bitOffset>17</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>MAR</name>
            <displayName>C0MAR</displayName>
            <description>MDMA channel x Mask address
          register</description>
            <addressOffset>0x30</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>MAR</name>
                <description>Mask address</description>
                <bitOffset>0</bitOffset>
                <bitWidth>32</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>MDR</name>
            <displayName>C0MDR</displayName>
            <description>MDMA channel x Mask Data
          register</description>
            <addressOffset>0x34</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>MDR</name>
                <description>Mask data</description>
                <bitOffset>0</bitOffset>
                <bitWidth>32</bitWidth>
              </field>
            </fields>
          </register>
        </cluster>
      </registers>
    </peripheral>
    <peripheral>
      <name>QUADSPI</name>
      <description>QUADSPI</description>
      <groupName>QUADSPI</groupName>
      <baseAddress>0x52005000</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>QUADSPI</name>
        <description>QuadSPI global interrupt</description>
        <value>92</value>
      </interrupt>
      <registers>
        <register>
          <name>CR</name>
          <displayName>CR</displayName>
          <description>QUADSPI control register</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>EN</name>
              <description>Enable Enable the QUADSPI.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>EN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>QUADSPI is disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>QUADSPI is enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ABORT</name>
              <description>Abort request This bit aborts the
              on-going command sequence. It is automatically reset
              once the abort is complete. This bit stops the
              current transfer. In polling mode or memory-mapped
              mode, this bit also reset the APM bit or the DM
              bit.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ABORT</name>
                <enumeratedValue>
                  <name>NoAbortRequested</name>
                  <description>No abort requested</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>AbortRequested</name>
                  <description>Abort requested</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DMAEN</name>
              <description>DMA enable In indirect mode, DMA can be
              used to input or output data via the QUADSPI_DR
              register. DMA transfers are initiated when the FIFO
              threshold flag, FTF, is set.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DMAEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>DMA is disabled for indirect mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>DMA is enabled for indirect mode</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TCEN</name>
              <description>Timeout counter enable This bit is valid
              only when memory-mapped mode (FMODE = 11) is
              selected. Activating this bit causes the chip select
              (nCS) to be released (and thus reduces consumption)
              if there has not been an access after a certain
              amount of time, where this time is defined by
              TIMEOUT[15:0] (QUADSPI_LPTR). Enable the timeout
              counter. By default, the QUADSPI never stops its
              prefetch operation, keeping the previous read
              operation active with nCS maintained low, even if no
              access to the Flash memory occurs for a long time.
              Since Flash memories tend to consume more when nCS is
              held low, the application might want to activate the
              timeout counter (TCEN = 1, QUADSPI_CR[3]) so that nCS
              is released after a period of TIMEOUT[15:0]
              (QUADSPI_LPTR) cycles have elapsed without an access
              since when the FIFO becomes full with prefetch data.
              This bit can be modified only when BUSY =
              0.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TCEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Timeout counter is disabled, and thus the chip select (nCS) remains active indefinitely after an access in memory-mapped mode.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Timeout counter is enabled, and thus the chip select is released in memory-mapped mode after TIMEOUT[15:0] cycles of Flash memory inactivity.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SSHIFT</name>
              <description>Sample shift By default, the QUADSPI
              samples data 1/2 of a CLK cycle after the data is
              driven by the Flash memory. This bit allows the data
              is to be sampled later in order to account for
              external signal delays. Firmware must assure that
              SSHIFT = 0 when in DDR mode (when DDRM = 1). This
              field can be modified only when BUSY =
              0.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SSHIFT</name>
                <enumeratedValue>
                  <name>NoShift</name>
                  <description>No shift</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OneHalfCycleShift</name>
                  <description>1/2 cycle shift</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DFM</name>
              <description>Dual-flash mode This bit activates
              dual-flash mode, where two external Flash memories
              are used simultaneously to double throughput and
              capacity. This bit can be modified only when BUSY =
              0.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DFM</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Dual-flash mode disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Dual-flash mode enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FSEL</name>
              <description>Flash memory selection This bit selects
              the Flash memory to be addressed in single flash mode
              (when DFM = 0). This bit can be modified only when
              BUSY = 0. This bit is ignored when DFM =
              1.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>FSEL</name>
                <enumeratedValue>
                  <name>SelectFlash1</name>
                  <description>FLASH 1 selected</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SelectFlash2</name>
                  <description>FLASH 2 selected</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FTHRES</name>
              <description>FIFO threshold level Defines, in
              indirect mode, the threshold number of bytes in the
              FIFO that will cause the FIFO threshold flag (FTF,
              QUADSPI_SR[2]) to be set. In indirect write mode
              (FMODE = 00): ... In indirect read mode (FMODE = 01):
              ... If DMAEN = 1, then the DMA controller for the
              corresponding channel must be disabled before
              changing the FTHRES value.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>5</bitWidth>
            </field>
            <field>
              <name>TEIE</name>
              <description>Transfer error interrupt enable This bit
              enables the transfer error interrupt.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TEIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disable</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TCIE</name>
              <description>Transfer complete interrupt enable This
              bit enables the transfer complete
              interrupt.</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TEIE"/>
            </field>
            <field>
              <name>FTIE</name>
              <description>FIFO threshold interrupt enable This bit
              enables the FIFO threshold interrupt.</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TEIE"/>
            </field>
            <field>
              <name>SMIE</name>
              <description>Status match interrupt enable This bit
              enables the status match interrupt.</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TEIE"/>
            </field>
            <field>
              <name>TOIE</name>
              <description>TimeOut interrupt enable This bit
              enables the TimeOut interrupt.</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TEIE"/>
            </field>
            <field>
              <name>APMS</name>
              <description>Automatic poll mode stop This bit
              determines if automatic polling is stopped after a
              match. This bit can be modified only when BUSY =
              0.</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>APMS</name>
                <enumeratedValue>
                  <name>NotStopOnMatch</name>
                  <description>Automatic polling mode is stopped only by abort or by disabling the QUADSPI.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>StopOnMatch</name>
                  <description>Automatic polling mode stops as soon as there is a match.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PMM</name>
              <description>Polling match mode This bit indicates
              which method should be used for determining a match
              during automatic polling mode. This bit can be
              modified only when BUSY = 0.</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>PMM</name>
                <enumeratedValue>
                  <name>AndMatch</name>
                  <description>AND match mode. SMF is set if all the unmasked bits received from the Flash memory match the corresponding bits in the match register.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OrMatch</name>
                  <description>OR match mode. SMF is set if any one of the unmasked bits received from the Flash memory matches its corresponding bit in the match register.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PRESCALER</name>
              <description>clock prescaler</description>
              <bitOffset>24</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>DCR</name>
          <displayName>DCR</displayName>
          <description>QUADSPI device configuration
          register</description>
          <addressOffset>0x4</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CKMODE</name>
              <description>indicates the level that clk takes
              between command</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CKMODE</name>
                <enumeratedValue>
                  <name>Mode0</name>
                  <description>CLK must stay low while nCS is high (chip select released). This is referred to as mode 0.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Mode3</name>
                  <description>CLK must stay high while nCS is high (chip select released). This is referred to as mode 3.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CSHT</name>
              <description>Chip select high time CSHT+1 defines the
              minimum number of CLK cycles which the chip select
              (nCS) must remain high between commands issued to the
              Flash memory. ... This field can be modified only
              when BUSY = 0.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>3</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>7</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>FSIZE</name>
              <description>Flash memory size This field defines the
              size of external memory using the following formula:
              Number of bytes in Flash memory = 2[FSIZE+1] FSIZE+1
              is effectively the number of address bits required to
              address the Flash memory. The Flash memory capacity
              can be up to 4GB (addressed using 32 bits) in
              indirect mode, but the addressable space in
              memory-mapped mode is limited to 256MB. If DFM = 1,
              FSIZE indicates the total capacity of the two Flash
              memories together. This field can be modified only
              when BUSY = 0.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>5</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>31</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>SR</name>
          <displayName>SR</displayName>
          <description>QUADSPI status register</description>
          <addressOffset>0x8</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TEF</name>
              <description>Transfer error flag This bit is set in
              indirect mode when an invalid address is being
              accessed in indirect mode. It is cleared by writing 1
              to CTEF.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TEF</name>
                <enumeratedValue>
                  <name>NoError</name>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Error</name>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TCF</name>
              <description>Transfer complete flag This bit is set
              in indirect mode when the programmed number of data
              has been transferred or in any mode when the transfer
              has been aborted.It is cleared by writing 1 to
              CTCF.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TCF</name>
                <enumeratedValue>
                  <name>NotComplete</name>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Complete</name>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FTF</name>
              <description>FIFO threshold flag In indirect mode,
              this bit is set when the FIFO threshold has been
              reached, or if there is any data left in the FIFO
              after reads from the Flash memory are complete. It is
              cleared automatically as soon as threshold condition
              is no longer true. In automatic polling mode this bit
              is set every time the status register is read, and
              the bit is cleared when the data register is
              read.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>FTF</name>
                <enumeratedValue>
                  <name>NotReached</name>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Reached</name>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SMF</name>
              <description>Status match flag This bit is set in
              automatic polling mode when the unmasked received
              data matches the corresponding bits in the match
              register (QUADSPI_PSMAR). It is cleared by writing 1
              to CSMF.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SMF</name>
                <enumeratedValue>
                  <name>NotMatched</name>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Matched</name>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TOF</name>
              <description>Timeout flag This bit is set when
              timeout occurs. It is cleared by writing 1 to
              CTOF.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TOF</name>
                <enumeratedValue>
                  <name>NotTimeout</name>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Timeout</name>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BUSY</name>
              <description>Busy This bit is set when an operation
              is on going. This bit clears automatically when the
              operation with the Flash memory is finished and the
              FIFO is empty.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>BUSY</name>
                <enumeratedValue>
                  <name>NotBusy</name>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Busy</name>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FLEVEL</name>
              <description>FIFO level This field gives the number
              of valid bytes which are being held in the FIFO.
              FLEVEL = 0 when the FIFO is empty, and 16 when it is
              full. In memory-mapped mode and in automatic status
              polling mode, FLEVEL is zero.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>6</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>31</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>FCR</name>
          <displayName>FCR</displayName>
          <description>QUADSPI flag clear register</description>
          <addressOffset>0xC</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CTEF</name>
              <description>Clear transfer error flag Writing 1
              clears the TEF flag in the QUADSPI_SR
              register</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CTEF</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>clears the TEF flag in the QUADSPI_SR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CTCF</name>
              <description>Clear transfer complete flag Writing 1
              clears the TCF flag in the QUADSPI_SR
              register</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CTCF</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>clears the TCF flag in the QUADSPI_SR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CSMF</name>
              <description>Clear status match flag Writing 1 clears
              the SMF flag in the QUADSPI_SR register</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CSMF</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>clears the SMF flag in the QUADSPI_SR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CTOF</name>
              <description>Clear timeout flag Writing 1 clears the
              TOF flag in the QUADSPI_SR register</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CTOF</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>clears the TOF flag in the QUADSPI_SR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>DLR</name>
          <displayName>DLR</displayName>
          <description>QUADSPI data length register</description>
          <addressOffset>0x10</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DL</name>
              <description>Data length Number of data to be
              retrieved (value+1) in indirect and status-polling
              modes. A value no greater than 3 (indicating 4 bytes)
              should be used for status-polling mode. All 1s in
              indirect mode means undefined length, where QUADSPI
              will continue until the end of memory, as defined by
              FSIZE. 0x0000_0000: 1 byte is to be transferred
              0x0000_0001: 2 bytes are to be transferred
              0x0000_0002: 3 bytes are to be transferred
              0x0000_0003: 4 bytes are to be transferred ...
              0xFFFF_FFFD: 4,294,967,294 (4G-2) bytes are to be
              transferred 0xFFFF_FFFE: 4,294,967,295 (4G-1) bytes
              are to be transferred 0xFFFF_FFFF: undefined length
              -- all bytes until the end of Flash memory (as
              defined by FSIZE) are to be transferred. Continue
              reading indefinitely if FSIZE = 0x1F. DL[0] is stuck
              at 1 in dual-flash mode (DFM = 1) even when 0 is
              written to this bit, thus assuring that each access
              transfers an even number of bytes. This field has no
              effect when in memory-mapped mode (FMODE = 10). This
              field can be written only when BUSY =
              0.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4294967295</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>CCR</name>
          <displayName>CCR</displayName>
          <description>QUADSPI communication configuration
          register</description>
          <addressOffset>0x14</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>INSTRUCTION</name>
              <description>Instruction Instruction to be send to
              the external SPI device. This field can be written
              only when BUSY = 0.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>IMODE</name>
              <description>Instruction mode This field defines the
              instruction phase mode of operation: This field can
              be written only when BUSY = 0.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>IMODE</name>
                <enumeratedValue>
                  <name>NoInstruction</name>
                  <description>No instruction</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SingleLine</name>
                  <description>Instruction on a single line</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TwoLines</name>
                  <description>Instruction on two lines</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FourLines</name>
                  <description>Instruction on four lines</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ADMODE</name>
              <description>Address mode This field defines the
              address phase mode of operation: This field can be
              written only when BUSY = 0.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>ADMODE</name>
                <enumeratedValue>
                  <name>NoAddress</name>
                  <description>No address</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SingleLine</name>
                  <description>Address on a single line</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TwoLines</name>
                  <description>Address on two lines</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FourLines</name>
                  <description>Address on four lines</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ADSIZE</name>
              <description>Address size This bit defines address
              size: This field can be written only when BUSY =
              0.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>ADSIZE</name>
                <enumeratedValue>
                  <name>Bit8</name>
                  <description>8-bit address</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bit16</name>
                  <description>16-bit address</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bit24</name>
                  <description>24-bit address</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bit32</name>
                  <description>32-bit address</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ABMODE</name>
              <description>Alternate bytes mode This field defines
              the alternate-bytes phase mode of operation: This
              field can be written only when BUSY =
              0.</description>
              <bitOffset>14</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>ABMODE</name>
                <enumeratedValue>
                  <name>NoAlternateBytes</name>
                  <description>No alternate bytes</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SingleLine</name>
                  <description>Alternate bytes on a single line</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TwoLines</name>
                  <description>Alternate bytes on two lines</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FourLines</name>
                  <description>Alternate bytes on four lines</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ABSIZE</name>
              <description>Alternate bytes size This bit defines
              alternate bytes size: This field can be written only
              when BUSY = 0.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>ABSIZE</name>
                <enumeratedValue>
                  <name>Bit8</name>
                  <description>8-bit alternate byte</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bit16</name>
                  <description>16-bit alternate bytes</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bit24</name>
                  <description>24-bit alternate bytes</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bit32</name>
                  <description>32-bit alternate bytes</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DCYC</name>
              <description>Number of dummy cycles This field
              defines the duration of the dummy phase. In both SDR
              and DDR modes, it specifies a number of CLK cycles
              (0-31). This field can be written only when BUSY =
              0.</description>
              <bitOffset>18</bitOffset>
              <bitWidth>5</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>31</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>DMODE</name>
              <description>Data mode This field defines the data
              phases mode of operation: This field also determines
              the dummy phase mode of operation. This field can be
              written only when BUSY = 0.</description>
              <bitOffset>24</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>DMODE</name>
                <enumeratedValue>
                  <name>NoData</name>
                  <description>No data</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SingleLine</name>
                  <description>Data on a single line</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TwoLines</name>
                  <description>Data on two lines</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FourLines</name>
                  <description>Data on four lines</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FMODE</name>
              <description>Functional mode This field defines the
              QUADSPI functional mode of operation. If DMAEN = 1
              already, then the DMA controller for the
              corresponding channel must be disabled before
              changing the FMODE value. This field can be written
              only when BUSY = 0.</description>
              <bitOffset>26</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>FMODE</name>
                <enumeratedValue>
                  <name>IndirectWrite</name>
                  <description>Indirect write mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>IndirectRead</name>
                  <description>Indirect read mode</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>AutomaticPolling</name>
                  <description>Automatic polling mode</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>MemoryMapped</name>
                  <description>Memory-mapped mode</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SIOO</name>
              <description>Send instruction only once mode See
              Section15.3.11: Sending the instruction only once on
              page13. This bit has no effect when IMODE = 00. This
              field can be written only when BUSY =
              0.</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SIOO</name>
                <enumeratedValue>
                  <name>SendEveryTransaction</name>
                  <description>Send instruction on every transaction</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SendFirstCommand</name>
                  <description>Send instruction only for the first command</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DHHC</name>
              <description>DDR hold Delay the data output by 1/4 of
              the QUADSPI output clock cycle in DDR mode: This
              feature is only active in DDR mode. This field can be
              written only when BUSY = 0.</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DHHC</name>
                <enumeratedValue>
                  <name>NoDelay</name>
                  <description>Delay the data output using analog delay</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Delayed</name>
                  <description>Delay the data output by 1/4 of a QUADSPI output clock cycle.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DDRM</name>
              <description>Double data rate mode This bit sets the
              DDR mode for the address, alternate byte and data
              phase: This field can be written only when BUSY =
              0.</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DDRM</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>DDR Mode disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>DDR Mode enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>AR</name>
          <displayName>AR</displayName>
          <description>QUADSPI address register</description>
          <addressOffset>0x18</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>ADDRESS</name>
              <description>[31 0]: Address Address to be send to
              the external Flash memory Writes to this field are
              ignored when BUSY = 0 or when FMODE = 11
              (memory-mapped mode). In dual flash mode, ADDRESS[0]
              is automatically stuck to 0 as the address should
              always be even</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4294967295</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>ABR</name>
          <displayName>ABR</displayName>
          <description>QUADSPI alternate bytes
          registers</description>
          <addressOffset>0x1C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>ALTERNATE</name>
              <description>Alternate Bytes Optional data to be send
              to the external SPI device right after the address.
              This field can be written only when BUSY =
              0.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4294967295</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>DR</name>
          <displayName>DR</displayName>
          <description>Data register: full word (32 bit) access</description>
          <addressOffset>0x20</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DATA</name>
              <description>Data Data to be sent/received to/from
              the external SPI device. In indirect write mode, data
              written to this register is stored on the FIFO before
              it is sent to the Flash memory during the data phase.
              If the FIFO is too full, a write operation is stalled
              until the FIFO has enough space to accept the amount
              of data being written. In indirect read mode, reading
              this register gives (via the FIFO) the data which was
              received from the Flash memory. If the FIFO does not
              have as many bytes as requested by the read operation
              and if BUSY=1, the read operation is stalled until
              enough data is present or until the transfer is
              complete, whichever happens first. In automatic
              polling mode, this register contains the last data
              read from the Flash memory (without masking). Word,
              halfword, and byte accesses to this register are
              supported. In indirect write mode, a byte write adds
              1 byte to the FIFO, a halfword write 2, and a word
              write 4. Similarly, in indirect read mode, a byte
              read removes 1 byte from the FIFO, a halfword read 2,
              and a word read 4. Accesses in indirect mode must be
              aligned to the bottom of this register: a byte read
              must read DATA[7:0] and a halfword read must read
              DATA[15:0].</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4294967295</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>DR16</name>
          <description>Data register: half word (16 bit) access</description>
          <alternateRegister>DR</alternateRegister>
          <addressOffset>0x20</addressOffset>
          <size>0x10</size>
          <fields>
            <field>
              <name>DATA</name>
              <description>Data</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>DR8</name>
          <description>Data register: one byte (8 bit) access</description>
          <alternateRegister>DR</alternateRegister>
          <addressOffset>0x20</addressOffset>
          <size>0x8</size>
          <fields>
            <field>
              <name>DATA</name>
              <description>Data</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>PSMKR</name>
          <displayName>PSMKR</displayName>
          <description>QUADSPI polling status mask
          register</description>
          <addressOffset>0x24</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>MASK</name>
              <description>Status mask Mask to be applied to the
              status bytes received in polling mode. For bit n:
              This field can be written only when BUSY =
              0.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4294967295</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>PSMAR</name>
          <displayName>PSMAR</displayName>
          <description>QUADSPI polling status match
          register</description>
          <addressOffset>0x28</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>MATCH</name>
              <description>Status match Value to be compared with
              the masked status register to get a match. This field
              can be written only when BUSY = 0.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4294967295</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>PIR</name>
          <displayName>PIR</displayName>
          <description>QUADSPI polling interval
          register</description>
          <addressOffset>0x2C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>INTERVAL</name>
              <description>Polling interval Number of CLK cycles
              between to read during automatic polling phases. This
              field can be written only when BUSY =
              0.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>LPTR</name>
          <displayName>LPTR</displayName>
          <description>QUADSPI low-power timeout
          register</description>
          <addressOffset>0x30</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TIMEOUT</name>
              <description>Timeout period After each access in
              memory-mapped mode, the QUADSPI prefetches the
              subsequent bytes and holds these bytes in the FIFO.
              This field indicates how many CLK cycles the QUADSPI
              waits after the FIFO becomes full until it raises
              nCS, putting the Flash memory in a lower-consumption
              state. This field can be written only when BUSY =
              0.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>RNG</name>
      <description>RNG</description>
      <groupName>RNG</groupName>
      <baseAddress>0x48021800</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <registers>
        <register>
          <name>CR</name>
          <displayName>CR</displayName>
          <description>RNG control register</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>RNGEN</name>
              <description>Random number generator
              enable</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RNGEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Random number generator is disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Random number generator is enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>IE</name>
              <description>Interrupt enable</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>IE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>RNG interrupt is disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>RNG interrupt is enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CED</name>
              <description>Clock error detection Note: The clock
              error detection can be used only when ck_rc48 or
              ck_pll1_q (ck_pll1_q = 48MHz) source is selected
              otherwise, CED bit must be equal to 1. The clock
              error detection cannot be enabled nor disabled on the
              fly when RNG peripheral is enabled, to enable or
              disable CED the RNG must be disabled.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CED</name>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Clock error detection is enabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Clock error detection is disabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>SR</name>
          <displayName>SR</displayName>
          <description>RNG status register</description>
          <addressOffset>0x4</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DRDY</name>
              <description>Data ready Note: If IE=1 in RNG_CR, an
              interrupt is generated when DRDY=1. It can rise when
              the peripheral is disabled. When the output buffer
              becomes empty (after reading RNG_DR), this bit
              returns to 0 until a new random value is
              generated.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>DRDY</name>
                <enumeratedValue>
                  <name>Invalid</name>
                  <description>The RNG_DR register is not yet valid, no random data is available</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Valid</name>
                  <description>The RNG_DR register contains valid random data.
Once the RNG_DR register has been read, this bit returns to 0 until a new random value is generated.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CECS</name>
              <description>Clock error current status Note: This
              bit is meaningless if CED (Clock error detection) bit
              in RNG_CR is equal to 1.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>CECS</name>
                <enumeratedValue>
                  <name>Correct</name>
                  <description>The RNG clock is correct. If the CEIS bit is set, this means that a slow clock was detected and the situation has been recovered.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Slow</name>
                  <description>The RNG clock is too slow</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SECS</name>
              <description>Seed error current status ** More than
              64 consecutive bits at the same value (0 or 1) **
              More than 32 consecutive alternances of 0 and 1
              (0101010101...01)</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>SECS</name>
                <enumeratedValue>
                  <name>NoFault</name>
                  <description>No faulty sequence has currently been detected. If the SEIS bit is set, this means that a faulty sequence was detected and the situation has been recovered.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Fault</name>
                  <description>At least one faulty sequence has been detected - see ref manual for details</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CEIS</name>
              <description>Clock error interrupt status This bit is
              set at the same time as CECS. It is cleared by
              writing it to 0. An interrupt is pending if IE = 1 in
              the RNG_CR register. Note: This bit is meaningless if
              CED (Clock error detection) bit in RNG_CR is equal to
              1.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <modifiedWriteValues>zeroToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>CEISW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear flag</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>CEISR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Correct</name>
                  <description>The RNG clock is correct</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Slow</name>
                  <description>The RNG has been detected too slow
An interrupt is pending if IE = 1 in the RNG_CR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SEIS</name>
              <description>Seed error interrupt status This bit is
              set at the same time as SECS. It is cleared by
              writing it to 0. ** More than 64 consecutive bits at
              the same value (0 or 1) ** More than 32 consecutive
              alternances of 0 and 1 (0101010101...01) An interrupt
              is pending if IE = 1 in the RNG_CR
              register.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <modifiedWriteValues>zeroToClear</modifiedWriteValues>
              <enumeratedValues derivedFrom="CEISW">
                <usage>write</usage>
              </enumeratedValues>
              <enumeratedValues>
                <name>SEISR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoFault</name>
                  <description>No faulty sequence detected</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Fault</name>
                  <description>At least one faulty sequence has been detected. See **SECS** bit description for details.
An interrupt is pending if IE = 1 in the RNG_CR register.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>DR</name>
          <displayName>DR</displayName>
          <description>The RNG_DR register is a read-only register
          that delivers a 32-bit random value when read. The
          content of this register is valid when DRDY= 1, even if
          RNGEN=0.</description>
          <addressOffset>0x8</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>RNDATA</name>
              <description>Random data 32-bit random data which are
              valid when DRDY=1.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4294967295</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>RTC</name>
      <description>RTC</description>
      <groupName>RTC</groupName>
      <baseAddress>0x58004000</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>RTC_TAMP_STAMP_CSS_LSE</name>
        <description>RTC tamper, timestamp</description>
        <value>2</value>
      </interrupt>
      <interrupt>
        <name>RTC_WKUP</name>
        <description>RTC Wakeup interrupt</description>
        <value>3</value>
      </interrupt>
      <interrupt>
        <name>RTC_ALARM</name>
        <description>RTC alarms (A and B)</description>
        <value>41</value>
      </interrupt>
      <registers>
        <register>
          <name>TR</name>
          <displayName>TR</displayName>
          <description>The RTC_TR is the calendar time shadow
          register. This register must be written in initialization
          mode only. Refer to Calendar initialization and
          configuration on page9 and Reading the calendar on
          page10.This register is write protected. The write access
          procedure is described in RTC register write protection
          on page9.</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>SU</name>
              <description>Second units in BCD format</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>ST</name>
              <description>Second tens in BCD format</description>
              <bitOffset>4</bitOffset>
              <bitWidth>3</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>7</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>MNU</name>
              <description>Minute units in BCD format</description>
              <bitOffset>8</bitOffset>
              <bitWidth>4</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>MNT</name>
              <description>Minute tens in BCD format</description>
              <bitOffset>12</bitOffset>
              <bitWidth>3</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>7</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>HU</name>
              <description>Hour units in BCD format</description>
              <bitOffset>16</bitOffset>
              <bitWidth>4</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>HT</name>
              <description>Hour tens in BCD format</description>
              <bitOffset>20</bitOffset>
              <bitWidth>2</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>3</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>PM</name>
              <description>AM/PM notation</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>PM</name>
                <enumeratedValue>
                  <name>AM</name>
                  <description>AM or 24-hour format</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PM</name>
                  <description>PM</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>DR</name>
          <displayName>DR</displayName>
          <description>The RTC_DR is the calendar date shadow
          register. This register must be written in initialization
          mode only. Refer to Calendar initialization and
          configuration on page9 and Reading the calendar on
          page10.This register is write protected. The write access
          procedure is described in RTC register write protection
          on page9.</description>
          <addressOffset>0x4</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00002101</resetValue>
          <fields>
            <field>
              <name>DU</name>
              <description>Date units in BCD format</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>DT</name>
              <description>Date tens in BCD format</description>
              <bitOffset>4</bitOffset>
              <bitWidth>2</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>3</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>MU</name>
              <description>Month units in BCD format</description>
              <bitOffset>8</bitOffset>
              <bitWidth>4</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>MT</name>
              <description>Month tens in BCD format</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>MT</name>
                <enumeratedValue>
                  <name>Zero</name>
                  <description>Month tens is 0</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>One</name>
                  <description>Month tens is 1</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>WDU</name>
              <description>Week day units</description>
              <bitOffset>13</bitOffset>
              <bitWidth>3</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>1</minimum>
                  <maximum>7</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>YU</name>
              <description>Year units in BCD format</description>
              <bitOffset>16</bitOffset>
              <bitWidth>4</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>YT</name>
              <description>Year tens in BCD format</description>
              <bitOffset>20</bitOffset>
              <bitWidth>4</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>CR</name>
          <displayName>CR</displayName>
          <description>RTC control register</description>
          <addressOffset>0x8</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>WUCKSEL</name>
              <description>Wakeup clock selection</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>WUCKSEL</name>
                <enumeratedValue>
                  <name>Div16</name>
                  <description>RTC/16 clock is selected</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div8</name>
                  <description>RTC/8 clock is selected</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div4</name>
                  <description>RTC/4 clock is selected</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div2</name>
                  <description>RTC/2 clock is selected</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ClockSpare</name>
                  <description>ck_spre (usually 1 Hz) clock is selected</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ClockSpareWithOffset</name>
                  <description>ck_spre (usually 1 Hz) clock is selected and 2^16 is added to the WUT counter value</description>
                  <value>6</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TSEDGE</name>
              <description>Time-stamp event active edge TSE must be
              reset when TSEDGE is changed to avoid unwanted TSF
              setting.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>TSEDGE</name>
                <enumeratedValue>
                  <name>RisingEdge</name>
                  <description>RTC_TS input rising edge generates a time-stamp event</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FallingEdge</name>
                  <description>RTC_TS input falling edge generates a time-stamp event</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>REFCKON</name>
              <description>RTC_REFIN reference clock detection
              enable (50 or 60Hz) Note: PREDIV_S must be
              0x00FF.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>REFCKON</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>RTC_REFIN detection disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>RTC_REFIN detection enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BYPSHAD</name>
              <description>Bypass the shadow registers Note: If the
              frequency of the APB clock is less than seven times
              the frequency of RTCCLK, BYPSHAD must be set to
              1.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>BYPSHAD</name>
                <enumeratedValue>
                  <name>ShadowReg</name>
                  <description>Calendar values (when reading from RTC_SSR, RTC_TR, and RTC_DR) are taken from the shadow registers, which are updated once every two RTCCLK cycles</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>BypassShadowReg</name>
                  <description>Calendar values (when reading from RTC_SSR, RTC_TR, and RTC_DR) are taken directly from the calendar counters</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FMT</name>
              <description>Hour format</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>FMT</name>
                <enumeratedValue>
                  <name>Twenty_Four_Hour</name>
                  <description>24 hour/day format</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>AM_PM</name>
                  <description>AM/PM hour format</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>2</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>A,B</dimIndex>
              <name>ALR%sE</name>
              <description>Alarm %s enable</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>ALRAE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Alarm disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Alarm enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>WUTE</name>
              <description>Wakeup timer enable</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>WUTE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Wakeup timer disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Wakeup timer enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TSE</name>
              <description>timestamp enable</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>TSE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Timestamp disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Timestamp enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>2</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>A,B</dimIndex>
              <name>ALR%sIE</name>
              <description>Alarm %s interrupt enable</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>ALRAIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Alarm Interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Alarm Interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>WUTIE</name>
              <description>Wakeup timer interrupt
              enable</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>WUTIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Wakeup timer interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Wakeup timer interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TSIE</name>
              <description>Time-stamp interrupt
              enable</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>TSIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Time-stamp Interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Time-stamp Interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ADD1H</name>
              <description>Add 1 hour (summer time change) When
              this bit is set outside initialization mode, 1 hour
              is added to the calendar time. This bit is always
              read as 0.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
              <enumeratedValues>
                <name>ADD1HW</name>
                <enumeratedValue>
                  <name>Add1</name>
                  <description>Adds 1 hour to the current time. This can be used for summer time change outside initialization mode</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SUB1H</name>
              <description>Subtract 1 hour (winter time change)
              When this bit is set outside initialization mode, 1
              hour is subtracted to the calendar time if the
              current hour is not 0. This bit is always read as 0.
              Setting this bit has no effect when current hour is
              0.</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
              <enumeratedValues>
                <name>SUB1HW</name>
                <enumeratedValue>
                  <name>Sub1</name>
                  <description>Subtracts 1 hour to the current time. This can be used for winter time change outside initialization mode</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BKP</name>
              <description>Backup This bit can be written by the
              user to memorize whether the daylight saving time
              change has been performed or not.</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>BKP</name>
                <enumeratedValue>
                  <name>DST_Not_Changed</name>
                  <description>Daylight Saving Time change has not been performed</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DST_Changed</name>
                  <description>Daylight Saving Time change has been performed</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>COSEL</name>
              <description>Calibration output selection When COE=1,
              this bit selects which signal is output on RTC_CALIB.
              These frequencies are valid for RTCCLK at 32.768 kHz
              and prescalers at their default values (PREDIV_A=127
              and PREDIV_S=255). Refer to Section24.3.15:
              Calibration clock output</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>COSEL</name>
                <enumeratedValue>
                  <name>CalFreq_512Hz</name>
                  <description>Calibration output is 512 Hz (with default prescaler setting)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CalFreq_1Hz</name>
                  <description>Calibration output is 1 Hz (with default prescaler setting)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>POL</name>
              <description>Output polarity This bit is used to
              configure the polarity of RTC_ALARM
              output</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>POL</name>
                <enumeratedValue>
                  <name>High</name>
                  <description>The pin is high when ALRAF/ALRBF/WUTF is asserted (depending on OSEL[1:0])</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Low</name>
                  <description>The pin is low when ALRAF/ALRBF/WUTF is asserted (depending on OSEL[1:0])</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OSEL</name>
              <description>Output selection These bits are used to
              select the flag to be routed to RTC_ALARM
              output</description>
              <bitOffset>21</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>OSEL</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Output disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>AlarmA</name>
                  <description>Alarm A output enabled</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>AlarmB</name>
                  <description>Alarm B output enabled</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Wakeup</name>
                  <description>Wakeup output enabled</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>COE</name>
              <description>Calibration output enable This bit
              enables the RTC_CALIB output</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>COE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Calibration output disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Calibration output enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ITSE</name>
              <description>timestamp on internal event
              enable</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>ITSE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Internal event timestamp is disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Internal event timestamp is enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>ISR</name>
          <displayName>ISR</displayName>
          <description>This register is write protected (except for
          RTC_ISR[13:8] bits). The write access procedure is
          described in RTC register write protection on
          page9.</description>
          <addressOffset>0xC</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000007</resetValue>
          <fields>
            <field>
              <dim>2</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>A,B</dimIndex>
              <name>ALR%sWF</name>
              <description>Alarm %s write flag</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>ALRAWFR</name>
                <enumeratedValue>
                  <name>UpdateNotAllowed</name>
                  <description>Alarm update not allowed</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>UpdateAllowed</name>
                  <description>Alarm update allowed</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>WUTWF</name>
              <description>Wakeup timer write flag This bit is set
              by hardware up to 2 RTCCLK cycles after the WUTE bit
              has been set to 0 in RTC_CR, and is cleared up to 2
              RTCCLK cycles after the WUTE bit has been set to 1.
              The wakeup timer values can be changed when WUTE bit
              is cleared and WUTWF is set.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>WUTWFR</name>
                <enumeratedValue>
                  <name>UpdateNotAllowed</name>
                  <description>Wakeup timer configuration update not allowed</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>UpdateAllowed</name>
                  <description>Wakeup timer configuration update allowed</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SHPF</name>
              <description>Shift operation pending This flag is set
              by hardware as soon as a shift operation is initiated
              by a write to the RTC_SHIFTR register. It is cleared
              by hardware when the corresponding shift operation
              has been executed. Writing to the SHPF bit has no
              effect.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>SHPFR</name>
                <enumeratedValue>
                  <name>NoShiftPending</name>
                  <description>No shift operation is pending</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ShiftPending</name>
                  <description>A shift operation is pending</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INITS</name>
              <description>Initialization status flag This bit is
              set by hardware when the calendar year field is
              different from 0 (Backup domain reset
              state).</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>INITSR</name>
                <enumeratedValue>
                  <name>NotInitalized</name>
                  <description>Calendar has not been initialized</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Initalized</name>
                  <description>Calendar has been initialized</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RSF</name>
              <description>Registers synchronization flag This bit
              is set by hardware each time the calendar registers
              are copied into the shadow registers (RTC_SSRx,
              RTC_TRx and RTC_DRx). This bit is cleared by hardware
              in initialization mode, while a shift operation is
              pending (SHPF=1), or when in bypass shadow register
              mode (BYPSHAD=1). This bit can also be cleared by
              software. It is cleared either by software or by
              hardware in initialization mode.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <modifiedWriteValues>zeroToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>RSFR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NotSynced</name>
                  <description>Calendar shadow registers not yet synchronized</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Synced</name>
                  <description>Calendar shadow registers synchronized</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>RSFW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>This flag is cleared by software by writing 0</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INITF</name>
              <description>Initialization flag When this bit is set
              to 1, the RTC is in initialization state, and the
              time, date and prescaler registers can be
              updated.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>INITFR</name>
                <enumeratedValue>
                  <name>NotAllowed</name>
                  <description>Calendar registers update is not allowed</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Allowed</name>
                  <description>Calendar registers update is allowed</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INIT</name>
              <description>Initialization mode</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>INIT</name>
                <enumeratedValue>
                  <name>FreeRunningMode</name>
                  <description>Free running mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>InitMode</name>
                  <description>Initialization mode used to program time and date register (RTC_TR and RTC_DR), and prescaler register (RTC_PRER). Counters are stopped and start counting from the new value when INIT is reset.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>2</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>A,B</dimIndex>
              <name>ALR%sF</name>
              <description>Alarm %s flag</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <modifiedWriteValues>zeroToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>ALRAFR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Match</name>
                  <description>This flag is set by hardware when the time/date registers (RTC_TR and RTC_DR) match the Alarm register (RTC_ALRMxR)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>ALRAFW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>This flag is cleared by software by writing 0</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>WUTF</name>
              <description>Wakeup timer flag This flag is set by
              hardware when the wakeup auto-reload counter reaches
              0. This flag is cleared by software by writing 0.
              This flag must be cleared by software at least 1.5
              RTCCLK periods before WUTF is set to 1
              again.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <modifiedWriteValues>zeroToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>WUTFR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Zero</name>
                  <description>This flag is set by hardware when the wakeup auto-reload counter reaches 0</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>WUTFW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>This flag is cleared by software by writing 0</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TSF</name>
              <description>Time-stamp flag This flag is set by
              hardware when a time-stamp event occurs. This flag is
              cleared by software by writing 0.</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <modifiedWriteValues>zeroToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>TSFR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>TimestampEvent</name>
                  <description>This flag is set by hardware when a time-stamp event occurs</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>TSFW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>This flag is cleared by software by writing 0</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TSOVF</name>
              <description>Time-stamp overflow flag This flag is
              set by hardware when a time-stamp event occurs while
              TSF is already set. This flag is cleared by software
              by writing 0. It is recommended to check and then
              clear TSOVF only after clearing the TSF bit.
              Otherwise, an overflow might not be noticed if a
              time-stamp event occurs immediately before the TSF
              bit is cleared.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <modifiedWriteValues>zeroToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>TSOVFR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Overflow</name>
                  <description>This flag is set by hardware when a time-stamp event occurs while TSF is already set</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>TSOVFW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>This flag is cleared by software by writing 0</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TAMP1F</name>
              <description>RTC_TAMP1 detection flag This flag is
              set by hardware when a tamper detection event is
              detected on the RTC_TAMP1 input. It is cleared by
              software writing 0</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <modifiedWriteValues>zeroToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>TAMP1FR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Tampered</name>
                  <description>This flag is set by hardware when a tamper detection event is detected on the RTC_TAMPx input</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>TAMP1FW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Flag cleared by software writing 0</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TAMP2F</name>
              <description>RTC_TAMP2 detection flag This flag is
              set by hardware when a tamper detection event is
              detected on the RTC_TAMP2 input. It is cleared by
              software writing 0</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <modifiedWriteValues>zeroToClear</modifiedWriteValues>
              <enumeratedValues derivedFrom="TAMP1FR">
                <usage>read</usage>
              </enumeratedValues>
              <enumeratedValues derivedFrom="TAMP1FW">
                <usage>write</usage>
              </enumeratedValues>
            </field>
            <field>
              <name>TAMP3F</name>
              <description>RTC_TAMP3 detection flag This flag is
              set by hardware when a tamper detection event is
              detected on the RTC_TAMP3 input. It is cleared by
              software writing 0</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <modifiedWriteValues>zeroToClear</modifiedWriteValues>
              <enumeratedValues derivedFrom="TAMP1FR">
                <usage>read</usage>
              </enumeratedValues>
              <enumeratedValues derivedFrom="TAMP1FW">
                <usage>write</usage>
              </enumeratedValues>
            </field>
            <field>
              <name>RECALPF</name>
              <description>Recalibration pending Flag The RECALPF
              status flag is automatically set to 1 when software
              writes to the RTC_CALR register, indicating that the
              RTC_CALR register is blocked. When the new
              calibration settings are taken into account, this bit
              returns to 0. Refer to Re-calibration
              on-the-fly.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>RECALPFR</name>
                <enumeratedValue>
                  <name>Pending</name>
                  <description>The RECALPF status flag is automatically set to 1 when software writes to the RTC_CALR register, indicating that the RTC_CALR register is blocked. When the new calibration settings are taken into account, this bit returns to 0</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ITSF</name>
              <description>Internal tTime-stamp flag</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <modifiedWriteValues>zeroToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>ITSFR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Match</name>
                  <description>This flag is set by hardware when a time-stamp on the internal event occurs</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>ITSFW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>This flag is cleared by software by writing 0, and must be cleared together with TSF bit by writing 0 in both bits</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PRER</name>
          <displayName>PRER</displayName>
          <description>This register must be written in
          initialization mode only. The initialization must be
          performed in two separate write accesses. Refer to
          Calendar initialization and configuration on page9.This
          register is write protected. The write access procedure
          is described in RTC register write protection on
          page9.</description>
          <addressOffset>0x10</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x007F00FF</resetValue>
          <fields>
            <field>
              <name>PREDIV_S</name>
              <description>Synchronous prescaler factor This is the
              synchronous division factor: ck_spre frequency =
              ck_apre frequency/(PREDIV_S+1)</description>
              <bitOffset>0</bitOffset>
              <bitWidth>15</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>32767</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>PREDIV_A</name>
              <description>Asynchronous prescaler factor This is
              the asynchronous division factor: ck_apre frequency =
              RTCCLK frequency/(PREDIV_A+1)</description>
              <bitOffset>16</bitOffset>
              <bitWidth>7</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>127</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>WUTR</name>
          <displayName>WUTR</displayName>
          <description>This register can be written only when WUTWF
          is set to 1 in RTC_ISR.This register is write protected.
          The write access procedure is described in RTC register
          write protection on page9.</description>
          <addressOffset>0x14</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x0000FFFF</resetValue>
          <fields>
            <field>
              <name>WUT</name>
              <description>Wakeup auto-reload value bits When the
              wakeup timer is enabled (WUTE set to 1), the WUTF
              flag is set every (WUT[15:0] + 1) ck_wut cycles. The
              ck_wut period is selected through WUCKSEL[2:0] bits
              of the RTC_CR register When WUCKSEL[2] = 1, the
              wakeup timer becomes 17-bits and WUCKSEL[1]
              effectively becomes WUT[16] the most-significant bit
              to be reloaded into the timer. The first assertion of
              WUTF occurs (WUT+1) ck_wut cycles after WUTE is set.
              Setting WUT[15:0] to 0x0000 with WUCKSEL[2:0] =011
              (RTCCLK/2) is forbidden.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <dim>2</dim>
          <dimIncrement>0x4</dimIncrement>
          <dimIndex>A,B</dimIndex>
          <name>ALRM%sR</name>
          <displayName>ALRM%sR</displayName>
          <description>Alarm %s register</description>
          <addressOffset>0x1C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>SU</name>
              <description>Second units in BCD format</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>ST</name>
              <description>Second tens in BCD format</description>
              <bitOffset>4</bitOffset>
              <bitWidth>3</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>7</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>MSK1</name>
              <description>Alarm seconds mask</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>MSK1</name>
                <enumeratedValue>
                  <name>Mask</name>
                  <description>Alarm set if the date/day match</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>NotMask</name>
                  <description>Date/day don’t care in Alarm comparison</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MNU</name>
              <description>Minute units in BCD format</description>
              <bitOffset>8</bitOffset>
              <bitWidth>4</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>MNT</name>
              <description>Minute tens in BCD format</description>
              <bitOffset>12</bitOffset>
              <bitWidth>3</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>7</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>MSK2</name>
              <description>Alarm minutes mask</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MSK1"/>
            </field>
            <field>
              <name>HU</name>
              <description>Hour units in BCD format</description>
              <bitOffset>16</bitOffset>
              <bitWidth>4</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>HT</name>
              <description>Hour tens in BCD format</description>
              <bitOffset>20</bitOffset>
              <bitWidth>2</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>3</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>PM</name>
              <description>AM/PM notation</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>PM</name>
                <enumeratedValue>
                  <name>AM</name>
                  <description>AM or 24-hour format</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PM</name>
                  <description>PM</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MSK3</name>
              <description>Alarm hours mask</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MSK1"/>
            </field>
            <field>
              <name>DU</name>
              <description>Date units or day in BCD format</description>
              <bitOffset>24</bitOffset>
              <bitWidth>4</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>DT</name>
              <description>Date tens in BCD format</description>
              <bitOffset>28</bitOffset>
              <bitWidth>2</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>3</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>WDSEL</name>
              <description>Week day selection</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>WDSEL</name>
                <enumeratedValue>
                  <name>DateUnits</name>
                  <description>DU[3:0] represents the date units</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>WeekDay</name>
                  <description>DU[3:0] represents the week day. DT[1:0] is don’t care.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MSK4</name>
              <description>Alarm date mask</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MSK1"/>
            </field>
          </fields>
        </register>
        <register>
          <name>WPR</name>
          <displayName>WPR</displayName>
          <description>RTC write protection register</description>
          <addressOffset>0x24</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>KEY</name>
              <description>Write protection key This byte is
              written by software. Reading this byte always returns
              0x00. Refer to RTC register write protection for a
              description of how to unlock RTC register write
              protection.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>SSR</name>
          <displayName>SSR</displayName>
          <description>RTC sub second register</description>
          <addressOffset>0x28</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>SS</name>
              <description>Sub second value SS[15:0] is the value
              in the synchronous prescaler counter. The fraction of
              a second is given by the formula below: Second
              fraction = (PREDIV_S - SS) / (PREDIV_S + 1) Note: SS
              can be larger than PREDIV_S only after a shift
              operation. In that case, the correct time/date is one
              second less than as indicated by
              RTC_TR/RTC_DR.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>SHIFTR</name>
          <displayName>SHIFTR</displayName>
          <description>This register is write protected. The write
          access procedure is described in RTC register write
          protection on page9.</description>
          <addressOffset>0x2C</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>SUBFS</name>
              <description>Subtract a fraction of a second These
              bits are write only and is always read as zero.
              Writing to this bit has no effect when a shift
              operation is pending (when SHPF=1, in RTC_ISR). The
              value which is written to SUBFS is added to the
              synchronous prescaler counter. Since this counter
              counts down, this operation effectively subtracts
              from (delays) the clock by: Delay (seconds) = SUBFS /
              (PREDIV_S + 1) A fraction of a second can effectively
              be added to the clock (advancing the clock) when the
              ADD1S function is used in conjunction with SUBFS,
              effectively advancing the clock by: Advance (seconds)
              = (1 - (SUBFS / (PREDIV_S + 1))). Note: Writing to
              SUBFS causes RSF to be cleared. Software can then
              wait until RSF=1 to be sure that the shadow registers
              have been updated with the shifted
              time.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>15</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>32767</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>ADD1S</name>
              <description>Add one second This bit is write only
              and is always read as zero. Writing to this bit has
              no effect when a shift operation is pending (when
              SHPF=1, in RTC_ISR). This function is intended to be
              used with SUBFS (see description below) in order to
              effectively add a fraction of a second to the clock
              in an atomic operation.</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ADD1SW</name>
                <enumeratedValue>
                  <name>Add1</name>
                  <description>Add one second to the clock/calendar</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register derivedFrom="TR">
          <name>TSTR</name>
          <displayName>TSTR</displayName>
          <description>The content of this register is valid only
          when TSF is set to 1 in RTC_ISR. It is cleared when TSF
          bit is reset.</description>
          <addressOffset>0x30</addressOffset>
        </register>
        <register derivedFrom="DR">
          <name>TSDR</name>
          <displayName>TSDR</displayName>
          <description>The content of this register is valid only
          when TSF is set to 1 in RTC_ISR. It is cleared when TSF
          bit is reset.</description>
          <addressOffset>0x34</addressOffset>
        </register>
        <register derivedFrom="SSR">
          <name>TSSSR</name>
          <displayName>TSSSR</displayName>
          <description>The content of this register is valid only
          when RTC_ISR/TSF is set. It is cleared when the
          RTC_ISR/TSF bit is reset.</description>
          <addressOffset>0x38</addressOffset>
        </register>
        <register>
          <name>CALR</name>
          <displayName>CALR</displayName>
          <description>This register is write protected. The write
          access procedure is described in RTC register write
          protection on page9.</description>
          <addressOffset>0x3C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CALM</name>
              <description>Calibration minus The frequency of the
              calendar is reduced by masking CALM out of 220 RTCCLK
              pulses (32 seconds if the input frequency is 32768
              Hz). This decreases the frequency of the calendar
              with a resolution of 0.9537 ppm. To increase the
              frequency of the calendar, this feature should be
              used in conjunction with CALP. See Section24.3.12:
              RTC smooth digital calibration on
              page13.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>9</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>511</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>CALW16</name>
              <description>Use a 16-second calibration cycle period
              When CALW16 is set to 1, the 16-second calibration
              cycle period is selected.This bit must not be set to
              1 if CALW8=1. Note: CALM[0] is stuck at 0 when
              CALW16= 1. Refer to Section24.3.12: RTC smooth
              digital calibration.</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CALW16</name>
                <enumeratedValue>
                  <name>Sixteen_Second</name>
                  <description>When CALW16 is set to ‘1’, the 16-second calibration cycle period is selected.This bit must not be set to ‘1’ if CALW8=1</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CALW8</name>
              <description>Use an 8-second calibration cycle period
              When CALW8 is set to 1, the 8-second calibration
              cycle period is selected. Note: CALM[1:0] are stuck
              at 00; when CALW8= 1. Refer to Section24.3.12: RTC
              smooth digital calibration.</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CALW8</name>
                <enumeratedValue>
                  <name>Eight_Second</name>
                  <description>When CALW8 is set to ‘1’, the 8-second calibration cycle period is selected</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CALP</name>
              <description>Increase frequency of RTC by 488.5 ppm
              This feature is intended to be used in conjunction
              with CALM, which lowers the frequency of the calendar
              with a fine resolution. if the input frequency is
              32768 Hz, the number of RTCCLK pulses added during a
              32-second window is calculated as follows: (512 *
              CALP) - CALM. Refer to Section24.3.12: RTC smooth
              digital calibration.</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CALP</name>
                <enumeratedValue>
                  <name>NoChange</name>
                  <description>No RTCCLK pulses are added</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>IncreaseFreq</name>
                  <description>One RTCCLK pulse is effectively inserted every 2^11 pulses (frequency increased by 488.5 ppm)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>TAMPCR</name>
          <displayName>TAMPCR</displayName>
          <description>RTC tamper and alternate function
          configuration register</description>
          <addressOffset>0x40</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TAMP1E</name>
              <description>RTC_TAMP1 input detection
              enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TAMP1TRG</name>
              <description>Active level for RTC_TAMP1 input If
              TAMPFLT != 00 if TAMPFLT = 00:</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TAMPIE</name>
              <description>Tamper interrupt enable</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TAMP2E</name>
              <description>RTC_TAMP2 input detection
              enable</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TAMP2TRG</name>
              <description>Active level for RTC_TAMP2 input if
              TAMPFLT != 00: if TAMPFLT = 00:</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TAMP3E</name>
              <description>RTC_TAMP3 detection enable</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TAMP3TRG</name>
              <description>Active level for RTC_TAMP3 input if
              TAMPFLT != 00: if TAMPFLT = 00:</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TAMPTS</name>
              <description>Activate timestamp on tamper detection
              event TAMPTS is valid even if TSE=0 in the RTC_CR
              register.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TAMPFREQ</name>
              <description>Tamper sampling frequency Determines the
              frequency at which each of the RTC_TAMPx inputs are
              sampled.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>3</bitWidth>
            </field>
            <field>
              <name>TAMPFLT</name>
              <description>RTC_TAMPx filter count These bits
              determines the number of consecutive samples at the
              specified level (TAMP*TRG) needed to activate a
              Tamper event. TAMPFLT is valid for each of the
              RTC_TAMPx inputs.</description>
              <bitOffset>11</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>TAMPPRCH</name>
              <description>RTC_TAMPx precharge duration These bit
              determines the duration of time during which the
              pull-up/is activated before each sample. TAMPPRCH is
              valid for each of the RTC_TAMPx inputs.</description>
              <bitOffset>13</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>TAMPPUDIS</name>
              <description>RTC_TAMPx pull-up disable This bit
              determines if each of the RTC_TAMPx pins are
              pre-charged before each sample.</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TAMP1IE</name>
              <description>Tamper 1 interrupt enable</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TAMP1NOERASE</name>
              <description>Tamper 1 no erase</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TAMP1MF</name>
              <description>Tamper 1 mask flag</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TAMP2IE</name>
              <description>Tamper 2 interrupt enable</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TAMP2NOERASE</name>
              <description>Tamper 2 no erase</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TAMP2MF</name>
              <description>Tamper 2 mask flag</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TAMP3IE</name>
              <description>Tamper 3 interrupt enable</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TAMP3NOERASE</name>
              <description>Tamper 3 no erase</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TAMP3MF</name>
              <description>Tamper 3 mask flag</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <dim>2</dim>
          <dimIncrement>0x4</dimIncrement>
          <dimIndex>A,B</dimIndex>
          <name>ALRM%sSSR</name>
          <displayName>ALRM%sSSR</displayName>
          <description>Alarm %s sub-second register</description>
          <addressOffset>0x44</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>SS</name>
              <description>Sub seconds value This value is compared
              with the contents of the synchronous prescaler
              counter to determine if Alarm A is to be activated.
              Only bits 0 up MASKSS-1 are compared.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>15</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>32767</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>MASKSS</name>
              <description>Mask the most-significant bits starting
              at this bit ... The overflow bits of the synchronous
              counter (bits 15) is never compared. This bit can be
              different from 0 only after a shift
              operation.</description>
              <bitOffset>24</bitOffset>
              <bitWidth>4</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <dim>32</dim>
          <dimIncrement>0x4</dimIncrement>
          <dimIndex>0-31</dimIndex>
          <name>BKP%sR</name>
          <displayName>BKP%sR</displayName>
          <description>RTC backup registers</description>
          <addressOffset>0x50</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>BKP</name>
              <description>The application can write or read data
              to and from these registers. They are powered-on by
              VBAT when VDD is switched off, so that they are not
              reset by System reset, and their contents remain
              valid when the device operates in low-power mode.
              This register is reset on a tamper detection event,
              as long as TAMPxF=1. or when the Flash readout
              protection is disabled.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4294967295</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>OR</name>
          <displayName>OR</displayName>
          <description>RTC option register</description>
          <addressOffset>0x4C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>RTC_ALARM_TYPE</name>
              <description>RTC_ALARM output type on
              PC13</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RTC_OUT_RMP</name>
              <description>RTC_OUT remap</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>SAI4</name>
      <description>SAI</description>
      <groupName>SAI</groupName>
      <baseAddress>0x58005400</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>SAI4</name>
        <description>SAI4 global interrupt</description>
        <value>146</value>
      </interrupt>
      <registers>
        <register>
          <name>GCR</name>
          <displayName>GCR</displayName>
          <description>Global configuration register</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>SYNCOUT</name>
              <description>Synchronization outputs These bits are
              set and cleared by software.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>SYNCIN</name>
              <description>Synchronization inputs</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
          </fields>
        </register>
        <cluster>
          <dim>2</dim>
          <dimIncrement>0x20</dimIncrement>
          <dimIndex>A,B</dimIndex>
          <name>CH%s</name>
          <description>Cluster CH%s, containing ?CR1, ?CR2, ?FRCR, ?SLOTR, ?IM, ?SR, ?CLRFR, ?DR</description>
          <addressOffset>0x4</addressOffset>
          <register>
            <name>CR1</name>
            <displayName>ACR1</displayName>
            <description>Configuration register 1</description>
            <addressOffset>0x0</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000040</resetValue>
            <fields>
              <field>
                <name>MODE</name>
                <description>SAIx audio block mode
              immediately</description>
                <bitOffset>0</bitOffset>
                <bitWidth>2</bitWidth>
                <enumeratedValues>
                  <name>MODE</name>
                  <enumeratedValue>
                    <name>MasterTx</name>
                    <description>Master transmitter</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>MasterRx</name>
                    <description>Master receiver</description>
                    <value>1</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>SlaveTx</name>
                    <description>Slave transmitter</description>
                    <value>2</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>SlaveRx</name>
                    <description>Slave receiver</description>
                    <value>3</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>PRTCFG</name>
                <description>Protocol configuration. These bits are
              set and cleared by software. These bits have to be
              configured when the audio block is
              disabled.</description>
                <bitOffset>2</bitOffset>
                <bitWidth>2</bitWidth>
                <enumeratedValues>
                  <name>PRTCFG</name>
                  <enumeratedValue>
                    <name>Free</name>
                    <description>Free protocol. Free protocol allows to use the powerful configuration of the audio block to address a specific audio protocol</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Spdif</name>
                    <description>SPDIF protocol</description>
                    <value>1</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Ac97</name>
                    <description>AC’97 protocol</description>
                    <value>2</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>DS</name>
                <description>Data size. These bits are set and
              cleared by software. These bits are ignored when the
              SPDIF protocols are selected (bit PRTCFG[1:0]),
              because the frame and the data size are fixed in such
              case. When the companding mode is selected through
              COMP[1:0] bits, DS[1:0] are ignored since the data
              size is fixed to 8 bits by the algorithm. These bits
              must be configured when the audio block is
              disabled.</description>
                <bitOffset>5</bitOffset>
                <bitWidth>3</bitWidth>
                <enumeratedValues>
                  <name>DS</name>
                  <enumeratedValue>
                    <name>Bit8</name>
                    <description>8 bits</description>
                    <value>2</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Bit10</name>
                    <description>10 bits</description>
                    <value>3</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Bit16</name>
                    <description>16 bits</description>
                    <value>4</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Bit20</name>
                    <description>20 bits</description>
                    <value>5</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Bit24</name>
                    <description>24 bits</description>
                    <value>6</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Bit32</name>
                    <description>32 bits</description>
                    <value>7</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>LSBFIRST</name>
                <description>Least significant bit first. This bit is
              set and cleared by software. It must be configured
              when the audio block is disabled. This bit has no
              meaning in AC97 audio protocol since AC97 data are
              always transferred with the MSB first. This bit has
              no meaning in SPDIF audio protocol since in SPDIF
              data are always transferred with LSB
              first.</description>
                <bitOffset>8</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>LSBFIRST</name>
                  <enumeratedValue>
                    <name>MsbFirst</name>
                    <description>Data are transferred with MSB first</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>LsbFirst</name>
                    <description>Data are transferred with LSB first</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>CKSTR</name>
                <description>Clock strobing edge. This bit is set and
              cleared by software. It must be configured when the
              audio block is disabled. This bit has no meaning in
              SPDIF audio protocol.</description>
                <bitOffset>9</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>CKSTR</name>
                  <enumeratedValue>
                    <name>FallingEdge</name>
                    <description>Data strobing edge is falling edge of SCK</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>RisingEdge</name>
                    <description>Data strobing edge is rising edge of SCK</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>SYNCEN</name>
                <description>Synchronization enable. These bits are
              set and cleared by software. They must be configured
              when the audio sub-block is disabled. Note: The audio
              sub-block should be configured as asynchronous when
              SPDIF mode is enabled.</description>
                <bitOffset>10</bitOffset>
                <bitWidth>2</bitWidth>
                <enumeratedValues>
                  <name>SYNCEN</name>
                  <enumeratedValue>
                    <name>Asynchronous</name>
                    <description>audio sub-block in asynchronous mode</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Internal</name>
                    <description>audio sub-block is synchronous with the other internal audio sub-block. In this case, the audio sub-block must be configured in slave mode</description>
                    <value>1</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>External</name>
                    <description>audio sub-block is synchronous with an external SAI embedded peripheral. In this case the audio sub-block should be configured in Slave mode</description>
                    <value>2</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>MONO</name>
                <description>Mono mode. This bit is set and cleared
              by software. It is meaningful only when the number of
              slots is equal to 2. When the mono mode is selected,
              slot 0 data are duplicated on slot 1 when the audio
              block operates as a transmitter. In reception mode,
              the slot1 is discarded and only the data received
              from slot 0 are stored. Refer to Section: Mono/stereo
              mode for more details.</description>
                <bitOffset>12</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>MONO</name>
                  <enumeratedValue>
                    <name>Stereo</name>
                    <description>Stereo mode</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Mono</name>
                    <description>Mono mode</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>OUTDRIV</name>
                <description>Output drive. This bit is set and
              cleared by software. Note: This bit has to be set
              before enabling the audio block and after the audio
              block configuration.</description>
                <bitOffset>13</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>OUTDRIV</name>
                  <enumeratedValue>
                    <name>OnStart</name>
                    <description>Audio block output driven when SAIEN is set</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Immediately</name>
                    <description>Audio block output driven immediately after the setting of this bit</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>SAIEN</name>
                <description>Audio block enable where x is A or B.
              This bit is set by software. To switch off the audio
              block, the application software must program this bit
              to 0 and poll the bit till it reads back 0, meaning
              that the block is completely disabled. Before setting
              this bit to 1, check that it is set to 0, otherwise
              the enable command will not be taken into account.
              This bit allows to control the state of SAIx audio
              block. If it is disabled when an audio frame transfer
              is ongoing, the ongoing transfer completes and the
              cell is fully disabled at the end of this audio frame
              transfer. Note: When SAIx block is configured in
              master mode, the clock must be present on the input
              of SAIx before setting SAIXEN bit.</description>
                <bitOffset>16</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>SAIEN</name>
                  <enumeratedValue>
                    <name>Disabled</name>
                    <description>SAI audio block disabled</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Enabled</name>
                    <description>SAI audio block enabled</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>DMAEN</name>
                <description>DMA enable. This bit is set and cleared
              by software. Note: Since the audio block defaults to
              operate as a transmitter after reset, the MODE[1:0]
              bits must be configured before setting DMAEN to avoid
              a DMA request in receiver mode.</description>
                <bitOffset>17</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>DMAEN</name>
                  <enumeratedValue>
                    <name>Disabled</name>
                    <description>DMA disabled</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Enabled</name>
                    <description>DMA enabled</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>MCKDIV</name>
                <description>Master clock divider. These bits are set
              and cleared by software. These bits are meaningless
              when the audio block operates in slave mode. They
              have to be configured when the audio block is
              disabled. Others: the master clock frequency is
              calculated accordingly to the following
              formula:</description>
                <bitOffset>20</bitOffset>
                <bitWidth>6</bitWidth>
              </field>
              <field>
                <name>OSR</name>
                <description>Oversampling ratio for master
              clock</description>
                <bitOffset>26</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>NODIV</name>
                <description>No fixed divider between MCLK and FS</description>
                <bitOffset>19</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>NODIV</name>
                  <enumeratedValue>
                    <name>MasterClock</name>
                    <description>MCLK output is enabled. Forces the ratio between FS and MCLK to 256 or 512 according to the OSR value</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>NoDiv</name>
                    <description>MCLK output enable set by the MCKEN bit (where present, else 0). Ratio between FS and MCLK depends on FRL.</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
            </fields>
          </register>
          <register>
            <name>CR2</name>
            <displayName>ACR2</displayName>
            <description>Configuration register 2</description>
            <addressOffset>0x4</addressOffset>
            <size>0x20</size>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>FTH</name>
                <description>FIFO threshold. This bit is set and
              cleared by software.</description>
                <bitOffset>0</bitOffset>
                <bitWidth>3</bitWidth>
                <access>read-write</access>
                <enumeratedValues>
                  <name>FTH</name>
                  <enumeratedValue>
                    <name>Empty</name>
                    <description>FIFO empty</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Quarter1</name>
                    <description>1⁄4 FIFO</description>
                    <value>1</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Quarter2</name>
                    <description>1⁄2 FIFO</description>
                    <value>2</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Quarter3</name>
                    <description>3⁄4 FIFO</description>
                    <value>3</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Full</name>
                    <description>FIFO full</description>
                    <value>4</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>FFLUSH</name>
                <description>FIFO flush. This bit is set by software.
              It is always read as 0. This bit should be configured
              when the SAI is disabled.</description>
                <bitOffset>3</bitOffset>
                <bitWidth>1</bitWidth>
                <access>write-only</access>
                <enumeratedValues>
                  <name>FFLUSH</name>
                  <enumeratedValue>
                    <name>NoFlush</name>
                    <description>No FIFO flush</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Flush</name>
                    <description>FIFO flush. Programming this bit to 1 triggers the FIFO Flush. All the internal FIFO pointers (read and write) are cleared</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>TRIS</name>
                <description>Tristate management on data line. This
              bit is set and cleared by software. It is meaningful
              only if the audio block is configured as a
              transmitter. This bit is not used when the audio
              block is configured in SPDIF mode. It should be
              configured when SAI is disabled. Refer to Section:
              Output data line management on an inactive slot for
              more details.</description>
                <bitOffset>4</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>MUTE</name>
                <description>Mute. This bit is set and cleared by
              software. It is meaningful only when the audio block
              operates as a transmitter. The MUTE value is linked
              to value of MUTEVAL if the number of slots is lower
              or equal to 2, or equal to 0 if it is greater than 2.
              Refer to Section: Mute mode for more details. Note:
              This bit is meaningless and should not be used for
              SPDIF audio blocks.</description>
                <bitOffset>5</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
                <enumeratedValues>
                  <name>MUTE</name>
                  <enumeratedValue>
                    <name>Disabled</name>
                    <description>No mute mode</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Enabled</name>
                    <description>Mute mode enabled</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>MUTEVAL</name>
                <description>Mute value. This bit is set and cleared
              by software.It must be written before enabling the
              audio block: SAIXEN. This bit is meaningful only when
              the audio block operates as a transmitter, the number
              of slots is lower or equal to 2 and the MUTE bit is
              set. If more slots are declared, the bit value sent
              during the transmission in mute mode is equal to 0,
              whatever the value of MUTEVAL. if the number of slot
              is lower or equal to 2 and MUTEVAL = 1, the MUTE
              value transmitted for each slot is the one sent
              during the previous frame. Refer to Section: Mute
              mode for more details. Note: This bit is meaningless
              and should not be used for SPDIF audio
              blocks.</description>
                <bitOffset>6</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
                <enumeratedValues>
                  <name>MUTEVAL</name>
                  <enumeratedValue>
                    <name>SendZero</name>
                    <description>Bit value 0 is sent during the mute mode</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>SendLast</name>
                    <description>Last values are sent during the mute mode</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>MUTECNT</name>
                <description>Mute counter. These bits are set and
              cleared by software. They are used only in reception
              mode. The value set in these bits is compared to the
              number of consecutive mute frames detected in
              reception. When the number of mute frames is equal to
              this value, the flag MUTEDET will be set and an
              interrupt will be generated if bit MUTEDETIE is set.
              Refer to Section: Mute mode for more
              details.</description>
                <bitOffset>7</bitOffset>
                <bitWidth>6</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>CPL</name>
                <description>Complement bit. This bit is set and
              cleared by software. It defines the type of
              complement to be used for companding mode Note: This
              bit has effect only when the companding mode is -Law
              algorithm or A-Law algorithm.</description>
                <bitOffset>13</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
                <enumeratedValues>
                  <name>CPL</name>
                  <enumeratedValue>
                    <name>OnesComplement</name>
                    <description>1’s complement representation</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>TwosComplement</name>
                    <description>2’s complement representation</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>COMP</name>
                <description>Companding mode. These bits are set and
              cleared by software. The -Law and the A-Law log are a
              part of the CCITT G.711 recommendation, the type of
              complement that will be used depends on CPL bit. The
              data expansion or data compression are determined by
              the state of bit MODE[0]. The data compression is
              applied if the audio block is configured as a
              transmitter. The data expansion is automatically
              applied when the audio block is configured as a
              receiver. Refer to Section: Companding mode for more
              details. Note: Companding mode is applicable only
              when TDM is selected.</description>
                <bitOffset>14</bitOffset>
                <bitWidth>2</bitWidth>
                <access>read-write</access>
                <enumeratedValues>
                  <name>COMP</name>
                  <enumeratedValue>
                    <name>NoCompanding</name>
                    <description>No companding algorithm</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>MuLaw</name>
                    <description>μ-Law algorithm</description>
                    <value>2</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>ALaw</name>
                    <description>A-Law algorithm</description>
                    <value>3</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
            </fields>
          </register>
          <register>
            <name>FRCR</name>
            <displayName>AFRCR</displayName>
            <description>This register has no meaning in AC97 and
          SPDIF audio protocol</description>
            <addressOffset>0x8</addressOffset>
            <size>0x20</size>
            <resetValue>0x00000007</resetValue>
            <fields>
              <field>
                <name>FRL</name>
                <description>Frame length. These bits are set and
              cleared by software. They define the audio frame
              length expressed in number of SCK clock cycles: the
              number of bits in the frame is equal to FRL[7:0] + 1.
              The minimum number of bits to transfer in an audio
              frame must be equal to 8, otherwise the audio block
              will behaves in an unexpected way. This is the case
              when the data size is 8 bits and only one slot 0 is
              defined in NBSLOT[4:0] of SAI_xSLOTR register
              (NBSLOT[3:0] = 0000). In master mode, if the master
              clock (available on MCLK_x pin) is used, the frame
              length should be aligned with a number equal to a
              power of 2, ranging from 8 to 256. When the master
              clock is not used (NODIV = 1), it is recommended to
              program the frame length to an value ranging from 8
              to 256. These bits are meaningless and are not used
              in AC97 or SPDIF audio block
              configuration.</description>
                <bitOffset>0</bitOffset>
                <bitWidth>8</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>FSALL</name>
                <description>Frame synchronization active level
              length. These bits are set and cleared by software.
              They specify the length in number of bit clock (SCK)
              + 1 (FSALL[6:0] + 1) of the active level of the FS
              signal in the audio frame These bits are meaningless
              and are not used in AC97 or SPDIF audio block
              configuration. They must be configured when the audio
              block is disabled.</description>
                <bitOffset>8</bitOffset>
                <bitWidth>7</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>FSDEF</name>
                <description>Frame synchronization definition. This
              bit is set and cleared by software. When the bit is
              set, the number of slots defined in the SAI_xSLOTR
              register has to be even. It means that half of this
              number of slots will be dedicated to the left channel
              and the other slots for the right channel (e.g: this
              bit has to be set for I2S or MSB/LSB-justified
              protocols...). This bit is meaningless and is not
              used in AC97 or SPDIF audio block configuration. It
              must be configured when the audio block is
              disabled.</description>
                <bitOffset>16</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>FSPOL</name>
                <description>Frame synchronization polarity. This bit
              is set and cleared by software. It is used to
              configure the level of the start of frame on the FS
              signal. It is meaningless and is not used in AC97 or
              SPDIF audio block configuration. This bit must be
              configured when the audio block is
              disabled.</description>
                <bitOffset>17</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
                <enumeratedValues>
                  <name>FSPOL</name>
                  <enumeratedValue>
                    <name>FallingEdge</name>
                    <description>FS is active low (falling edge)</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>RisingEdge</name>
                    <description>FS is active high (rising edge)</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>FSOFF</name>
                <description>Frame synchronization offset. This bit
              is set and cleared by software. It is meaningless and
              is not used in AC97 or SPDIF audio block
              configuration. This bit must be configured when the
              audio block is disabled.</description>
                <bitOffset>18</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
                <enumeratedValues>
                  <name>FSOFF</name>
                  <enumeratedValue>
                    <name>OnFirst</name>
                    <description>FS is asserted on the first bit of the slot 0</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>BeforeFirst</name>
                    <description>FS is asserted one bit before the first bit of the slot 0</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
            </fields>
          </register>
          <register>
            <name>SLOTR</name>
            <displayName>ASLOTR</displayName>
            <description>This register has no meaning in AC97 and
          SPDIF audio protocol</description>
            <addressOffset>0xC</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>FBOFF</name>
                <description>First bit offset These bits are set and
              cleared by software. The value set in this bitfield
              defines the position of the first data transfer bit
              in the slot. It represents an offset value. In
              transmission mode, the bits outside the data field
              are forced to 0. In reception mode, the extra
              received bits are discarded. These bits must be set
              when the audio block is disabled. They are ignored in
              AC97 or SPDIF mode.</description>
                <bitOffset>0</bitOffset>
                <bitWidth>5</bitWidth>
              </field>
              <field>
                <name>SLOTSZ</name>
                <description>Slot size This bits is set and cleared
              by software. The slot size must be higher or equal to
              the data size. If this condition is not respected,
              the behavior of the SAI will be undetermined. Refer
              to Section: Output data line management on an
              inactive slot for information on how to drive SD
              line. These bits must be set when the audio block is
              disabled. They are ignored in AC97 or SPDIF
              mode.</description>
                <bitOffset>6</bitOffset>
                <bitWidth>2</bitWidth>
                <enumeratedValues>
                  <name>SLOTSZ</name>
                  <enumeratedValue>
                    <name>DataSize</name>
                    <description>The slot size is equivalent to the data size (specified in DS[3:0] in the SAI_xCR1 register)</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Bit16</name>
                    <description>16-bit</description>
                    <value>1</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Bit32</name>
                    <description>32-bit</description>
                    <value>2</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>NBSLOT</name>
                <description>Number of slots in an audio frame. These
              bits are set and cleared by software. The value set
              in this bitfield represents the number of slots + 1
              in the audio frame (including the number of inactive
              slots). The maximum number of slots is 16. The number
              of slots should be even if FSDEF bit in the SAI_xFRCR
              register is set. The number of slots must be
              configured when the audio block is disabled. They are
              ignored in AC97 or SPDIF mode.</description>
                <bitOffset>8</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>SLOTEN</name>
                <description>Slot enable. These bits are set and
              cleared by software. Each SLOTEN bit corresponds to a
              slot position from 0 to 15 (maximum 16 slots). The
              slot must be enabled when the audio block is
              disabled. They are ignored in AC97 or SPDIF
              mode.</description>
                <bitOffset>16</bitOffset>
                <bitWidth>16</bitWidth>
                <enumeratedValues>
                  <name>SLOTEN</name>
                  <enumeratedValue>
                    <name>Inactive</name>
                    <description>Inactive slot</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Active</name>
                    <description>Active slot</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
            </fields>
          </register>
          <register>
            <name>IM</name>
            <displayName>AIM</displayName>
            <description>Interrupt mask register 2</description>
            <addressOffset>0x10</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>OVRUDRIE</name>
                <description>Overrun/underrun interrupt enable. This
              bit is set and cleared by software. When this bit is
              set, an interrupt is generated if the OVRUDR bit in
              the SAI_xSR register is set.</description>
                <bitOffset>0</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>OVRUDRIE</name>
                  <enumeratedValue>
                    <name>Disabled</name>
                    <description>Interrupt is disabled</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Enabled</name>
                    <description>Interrupt is enabled</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>MUTEDETIE</name>
                <description>Mute detection interrupt enable. This
              bit is set and cleared by software. When this bit is
              set, an interrupt is generated if the MUTEDET bit in
              the SAI_xSR register is set. This bit has a meaning
              only if the audio block is configured in receiver
              mode.</description>
                <bitOffset>1</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>MUTEDETIE</name>
                  <enumeratedValue>
                    <name>Disabled</name>
                    <description>Interrupt is disabled</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Enabled</name>
                    <description>Interrupt is enabled</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>WCKCFGIE</name>
                <description>Wrong clock configuration interrupt
              enable. This bit is set and cleared by software. This
              bit is taken into account only if the audio block is
              configured as a master (MODE[1] = 0) and NODIV = 0.
              It generates an interrupt if the WCKCFG flag in the
              SAI_xSR register is set. Note: This bit is used only
              in TDM mode and is meaningless in other
              modes.</description>
                <bitOffset>2</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>WCKCFGIE</name>
                  <enumeratedValue>
                    <name>Disabled</name>
                    <description>Interrupt is disabled</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Enabled</name>
                    <description>Interrupt is enabled</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>FREQIE</name>
                <description>FIFO request interrupt enable. This bit
              is set and cleared by software. When this bit is set,
              an interrupt is generated if the FREQ bit in the
              SAI_xSR register is set. Since the audio block
              defaults to operate as a transmitter after reset, the
              MODE bit must be configured before setting FREQIE to
              avoid a parasitic interruption in receiver
              mode,</description>
                <bitOffset>3</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>FREQIE</name>
                  <enumeratedValue>
                    <name>Disabled</name>
                    <description>Interrupt is disabled</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Enabled</name>
                    <description>Interrupt is enabled</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>CNRDYIE</name>
                <description>Codec not ready interrupt enable (AC97).
              This bit is set and cleared by software. When the
              interrupt is enabled, the audio block detects in the
              slot 0 (tag0) of the AC97 frame if the Codec
              connected to this line is ready or not. If it is not
              ready, the CNRDY flag in the SAI_xSR register is set
              and an interruption i generated. This bit has a
              meaning only if the AC97 mode is selected through
              PRTCFG[1:0] bits and the audio block is operates as a
              receiver.</description>
                <bitOffset>4</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>CNRDYIE</name>
                  <enumeratedValue>
                    <name>Disabled</name>
                    <description>Interrupt is disabled</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Enabled</name>
                    <description>Interrupt is enabled</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>AFSDETIE</name>
                <description>Anticipated frame synchronization
              detection interrupt enable. This bit is set and
              cleared by software. When this bit is set, an
              interrupt will be generated if the AFSDET bit in the
              SAI_xSR register is set. This bit is meaningless in
              AC97, SPDIF mode or when the audio block operates as
              a master.</description>
                <bitOffset>5</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>AFSDETIE</name>
                  <enumeratedValue>
                    <name>Disabled</name>
                    <description>Interrupt is disabled</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Enabled</name>
                    <description>Interrupt is enabled</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>LFSDETIE</name>
                <description>Late frame synchronization detection
              interrupt enable. This bit is set and cleared by
              software. When this bit is set, an interrupt will be
              generated if the LFSDET bit is set in the SAI_xSR
              register. This bit is meaningless in AC97, SPDIF mode
              or when the audio block operates as a
              master.</description>
                <bitOffset>6</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>LFSDETIE</name>
                  <enumeratedValue>
                    <name>Disabled</name>
                    <description>Interrupt is disabled</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Enabled</name>
                    <description>Interrupt is enabled</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
            </fields>
          </register>
          <register>
            <name>SR</name>
            <displayName>ASR</displayName>
            <description>Status register</description>
            <addressOffset>0x14</addressOffset>
            <size>0x20</size>
            <access>read-only</access>
            <resetValue>0x00000008</resetValue>
            <fields>
              <field>
                <name>OVRUDR</name>
                <description>Overrun / underrun. This bit is read
              only. The overrun and underrun conditions can occur
              only when the audio block is configured as a receiver
              and a transmitter, respectively. It can generate an
              interrupt if OVRUDRIE bit is set in SAI_xIM register.
              This flag is cleared when the software sets COVRUDR
              bit in SAI_xCLRFR register.</description>
                <bitOffset>0</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>OVRUDRR</name>
                  <enumeratedValue>
                    <name>NoError</name>
                    <description>No overrun/underrun error</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Overrun</name>
                    <description>Overrun/underrun error detection</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>MUTEDET</name>
                <description>Mute detection. This bit is read only.
              This flag is set if consecutive 0 values are received
              in each slot of a given audio frame and for a
              consecutive number of audio frames (set in the
              MUTECNT bit in the SAI_xCR2 register). It can
              generate an interrupt if MUTEDETIE bit is set in
              SAI_xIM register. This flag is cleared when the
              software sets bit CMUTEDET in the SAI_xCLRFR
              register.</description>
                <bitOffset>1</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>MUTEDETR</name>
                  <enumeratedValue>
                    <name>NoMute</name>
                    <description>No MUTE detection on the SD input line</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Mute</name>
                    <description>MUTE value detected on the SD input line (0 value) for a specified number of consecutive audio frame</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>WCKCFG</name>
                <description>Wrong clock configuration flag. This bit
              is read only. This bit is used only when the audio
              block operates in master mode (MODE[1] = 0) and NODIV
              = 0. It can generate an interrupt if WCKCFGIE bit is
              set in SAI_xIM register. This flag is cleared when
              the software sets CWCKCFG bit in SAI_xCLRFR
              register.</description>
                <bitOffset>2</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>WCKCFGR</name>
                  <enumeratedValue>
                    <name>Correct</name>
                    <description>Clock configuration is correct</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Wrong</name>
                    <description>Clock configuration does not respect the rule concerning the frame length specification</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>FREQ</name>
                <description>FIFO request. This bit is read only. The
              request depends on the audio block configuration: If
              the block is configured in transmission mode, the
              FIFO request is related to a write request operation
              in the SAI_xDR. If the block configured in reception,
              the FIFO request related to a read request operation
              from the SAI_xDR. This flag can generate an interrupt
              if FREQIE bit is set in SAI_xIM
              register.</description>
                <bitOffset>3</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>FREQR</name>
                  <enumeratedValue>
                    <name>NoRequest</name>
                    <description>No FIFO request</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Request</name>
                    <description>FIFO request to read or to write the SAI_xDR</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>CNRDY</name>
                <description>Codec not ready. This bit is read only.
              This bit is used only when the AC97 audio protocol is
              selected in the SAI_xCR1 register and configured in
              receiver mode. It can generate an interrupt if
              CNRDYIE bit is set in SAI_xIM register. This flag is
              cleared when the software sets CCNRDY bit in
              SAI_xCLRFR register.</description>
                <bitOffset>4</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>CNRDYR</name>
                  <enumeratedValue>
                    <name>Ready</name>
                    <description>External AC’97 Codec is ready</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>NotReady</name>
                    <description>External AC’97 Codec is not ready</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>AFSDET</name>
                <description>Anticipated frame synchronization
              detection. This bit is read only. This flag can be
              set only if the audio block is configured in slave
              mode. It is not used in AC97or SPDIF mode. It can
              generate an interrupt if AFSDETIE bit is set in
              SAI_xIM register. This flag is cleared when the
              software sets CAFSDET bit in SAI_xCLRFR
              register.</description>
                <bitOffset>5</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>AFSDETR</name>
                  <enumeratedValue>
                    <name>NoError</name>
                    <description>No error</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>EarlySync</name>
                    <description>Frame synchronization signal is detected earlier than expected</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>LFSDET</name>
                <description>Late frame synchronization detection.
              This bit is read only. This flag can be set only if
              the audio block is configured in slave mode. It is
              not used in AC97 or SPDIF mode. It can generate an
              interrupt if LFSDETIE bit is set in the SAI_xIM
              register. This flag is cleared when the software sets
              bit CLFSDET in SAI_xCLRFR register</description>
                <bitOffset>6</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>LFSDETR</name>
                  <enumeratedValue>
                    <name>NoError</name>
                    <description>No error</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>NoSync</name>
                    <description>Frame synchronization signal is not present at the right time</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>FLVL</name>
                <description>FIFO level threshold. This bit is read
              only. The FIFO level threshold flag is managed only
              by hardware and its setting depends on SAI block
              configuration (transmitter or receiver mode). If the
              SAI block is configured as transmitter: If SAI block
              is configured as receiver:</description>
                <bitOffset>16</bitOffset>
                <bitWidth>3</bitWidth>
                <enumeratedValues>
                  <name>FLVLR</name>
                  <enumeratedValue>
                    <name>Empty</name>
                    <description>FIFO empty</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Quarter1</name>
                    <description>FIFO &lt;= 1⁄4 but not empty</description>
                    <value>1</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Quarter2</name>
                    <description>1⁄4 &lt; FIFO &lt;= 1⁄2</description>
                    <value>2</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Quarter3</name>
                    <description>1⁄2 &lt; FIFO &lt;= 3⁄4</description>
                    <value>3</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Quarter4</name>
                    <description>3⁄4 &lt; FIFO but not full</description>
                    <value>4</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Full</name>
                    <description>FIFO full</description>
                    <value>5</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
            </fields>
          </register>
          <register>
            <name>CLRFR</name>
            <displayName>ACLRFR</displayName>
            <description>Clear flag register</description>
            <addressOffset>0x18</addressOffset>
            <size>0x20</size>
            <access>write-only</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>COVRUDR</name>
                <description>Clear overrun / underrun. This bit is
              write only. Programming this bit to 1 clears the
              OVRUDR flag in the SAI_xSR register. Reading this bit
              always returns the value 0.</description>
                <bitOffset>0</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>COVRUDRW</name>
                  <enumeratedValue>
                    <name>Clear</name>
                    <description>Clears the OVRUDR flag</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>CMUTEDET</name>
                <description>Mute detection flag. This bit is write
              only. Programming this bit to 1 clears the MUTEDET
              flag in the SAI_xSR register. Reading this bit always
              returns the value 0.</description>
                <bitOffset>1</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>CMUTEDETW</name>
                  <enumeratedValue>
                    <name>Clear</name>
                    <description>Clears the MUTEDET flag</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>CWCKCFG</name>
                <description>Clear wrong clock configuration flag.
              This bit is write only. Programming this bit to 1
              clears the WCKCFG flag in the SAI_xSR register. This
              bit is used only when the audio block is set as
              master (MODE[1] = 0) and NODIV = 0 in the SAI_xCR1
              register. Reading this bit always returns the value
              0.</description>
                <bitOffset>2</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>CWCKCFGW</name>
                  <enumeratedValue>
                    <name>Clear</name>
                    <description>Clears the WCKCFG flag</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>CCNRDY</name>
                <description>Clear Codec not ready flag. This bit is
              write only. Programming this bit to 1 clears the
              CNRDY flag in the SAI_xSR register. This bit is used
              only when the AC97 audio protocol is selected in the
              SAI_xCR1 register. Reading this bit always returns
              the value 0.</description>
                <bitOffset>4</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>CCNRDYW</name>
                  <enumeratedValue>
                    <name>Clear</name>
                    <description>Clears the CNRDY flag</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>CAFSDET</name>
                <description>Clear anticipated frame synchronization
              detection flag. This bit is write only. Programming
              this bit to 1 clears the AFSDET flag in the SAI_xSR
              register. It is not used in AC97or SPDIF mode.
              Reading this bit always returns the value
              0.</description>
                <bitOffset>5</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>CAFSDETW</name>
                  <enumeratedValue>
                    <name>Clear</name>
                    <description>Clears the AFSDET flag</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>CLFSDET</name>
                <description>Clear late frame synchronization
              detection flag. This bit is write only. Programming
              this bit to 1 clears the LFSDET flag in the SAI_xSR
              register. This bit is not used in AC97or SPDIF mode
              Reading this bit always returns the value
              0.</description>
                <bitOffset>6</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>CLFSDETW</name>
                  <enumeratedValue>
                    <name>Clear</name>
                    <description>Clears the LFSDET flag</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
            </fields>
          </register>
          <register>
            <name>DR</name>
            <displayName>ADR</displayName>
            <description>Data register</description>
            <addressOffset>0x1C</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>DATA</name>
                <description>Data A write to this register loads the
              FIFO provided the FIFO is not full. A read from this
              register empties the FIFO if the FIFO is not
              empty.</description>
                <bitOffset>0</bitOffset>
                <bitWidth>32</bitWidth>
              </field>
            </fields>
          </register>
        </cluster>
        <register>
          <name>PDMCR</name>
          <displayName>PDMCR</displayName>
          <description>PDM control register</description>
          <addressOffset>0x44</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>PDMEN</name>
              <description>PDM enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>MICNBR</name>
              <description>Number of microphones</description>
              <bitOffset>4</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <dim>4</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-4</dimIndex>
              <name>CKEN%s</name>
              <description>Clock enable of bitstream clock number %s</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>PDMDLY</name>
          <displayName>PDMDLY</displayName>
          <description>PDM delay register</description>
          <addressOffset>0x48</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>4</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>1-4</dimIndex>
              <name>DLYM%sL</name>
              <description>Delay line adjust for first microphone of pair %s</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
            </field>
            <field>
              <dim>4</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>1-4</dimIndex>
              <name>DLYM%sR</name>
              <description>Delay line adjust for second microphone of pair %s</description>
              <bitOffset>4</bitOffset>
              <bitWidth>3</bitWidth>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral derivedFrom="SAI4">
      <name>SAI1</name>
      <baseAddress>0x40015800</baseAddress>
      <interrupt>
        <name>SAI1</name>
        <description>SAI1 global interrupt</description>
        <value>87</value>
      </interrupt>
    </peripheral>
    <peripheral derivedFrom="SAI4">
      <name>SAI2</name>
      <baseAddress>0x40015C00</baseAddress>
      <interrupt>
        <name>SAI2</name>
        <description>SAI2 global interrupt</description>
        <value>91</value>
      </interrupt>
    </peripheral>
    <peripheral derivedFrom="SAI4">
      <name>SAI3</name>
      <baseAddress>0x40016000</baseAddress>
      <interrupt>
        <name>SAI3</name>
        <description>SAI3 global interrupt</description>
        <value>114</value>
      </interrupt>
    </peripheral>
    <peripheral>
      <name>SDMMC1</name>
      <description>SDMMC1</description>
      <groupName>SDMMC</groupName>
      <baseAddress>0x52007000</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x3FD</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>SDMMC1</name>
        <description>SDMMC global interrupt</description>
        <value>49</value>
      </interrupt>
      <interrupt>
        <name>SDMMC</name>
        <description>SDMMC global interrupt</description>
        <value>124</value>
      </interrupt>
      <registers>
        <register>
          <name>POWER</name>
          <displayName>POWER</displayName>
          <description>SDMMC power control register</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>PWRCTRL</name>
              <description>SDMMC state control bits. These bits can
              only be written when the SDMMC is not in the power-on
              state (PWRCTRL?11). These bits are used to define the
              functional state of the SDMMC signals: Any further
              write will be ignored, PWRCTRL value will keep
              11.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>VSWITCH</name>
              <description>Voltage switch sequence start. This bit
              is used to start the timing critical section of the
              voltage switch sequence:</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>VSWITCHEN</name>
              <description>Voltage switch procedure enable. This
              bit can only be written by firmware when CPSM is
              disabled (CPSMEN = 0). This bit is used to stop the
              SDMMC_CK after the voltage switch command
              response:</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DIRPOL</name>
              <description>Data and command direction signals
              polarity selection. This bit can only be written when
              the SDMMC is in the power-off state (PWRCTRL =
              00).</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CLKCR</name>
          <displayName>CLKCR</displayName>
          <description>The SDMMC_CLKCR register controls the
          SDMMC_CK output clock, the SDMMC_RX_CLK receive clock,
          and the bus width.</description>
          <addressOffset>0x4</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CLKDIV</name>
              <description>Clock divide factor This bit can only be
              written when the CPSM and DPSM are not active
              (CPSMACT = 0 and DPSMACT = 0). This field defines the
              divide factor between the input clock (SDMMCCLK) and
              the output clock (SDMMC_CK): SDMMC_CK frequency =
              SDMMCCLK / [2 * CLKDIV]. 0xx: etc.. xxx:
              etc..</description>
              <bitOffset>0</bitOffset>
              <bitWidth>10</bitWidth>
            </field>
            <field>
              <name>PWRSAV</name>
              <description>Power saving configuration bit This bit
              can only be written when the CPSM and DPSM are not
              active (CPSMACT = 0 and DPSMACT = 0) For power
              saving, the SDMMC_CK clock output can be disabled
              when the bus is idle by setting PWRSAV:</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>WIDBUS</name>
              <description>Wide bus mode enable bit This bit can
              only be written when the CPSM and DPSM are not active
              (CPSMACT = 0 and DPSMACT = 0)</description>
              <bitOffset>14</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>NEGEDGE</name>
              <description>SDMMC_CK dephasing selection bit for
              data and Command. This bit can only be written when
              the CPSM and DPSM are not active (CPSMACT = 0 and
              DPSMACT = 0). When clock division = 1 (CLKDIV = 0),
              this bit has no effect. Data and Command change on
              SDMMC_CK falling edge. When clock division &amp;gt;1
              (CLKDIV &amp;gt; 0) &amp;amp; DDR = 0: - SDMMC_CK
              edge occurs on SDMMCCLK rising edge. When clock
              division &gt;1 (CLKDIV &gt; 0) &amp; DDR = 1: - Data
              changed on the SDMMCCLK falling edge succeeding a
              SDMMC_CK edge. - SDMMC_CK edge occurs on SDMMCCLK
              rising edge. - Data changed on the SDMMC_CK falling
              edge succeeding a SDMMC_CK edge. - SDMMC_CK edge
              occurs on SDMMCCLK rising edge.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>HWFC_EN</name>
              <description>Hardware flow control enable This bit
              can only be written when the CPSM and DPSM are not
              active (CPSMACT = 0 and DPSMACT = 0) When Hardware
              flow control is enabled, the meaning of the TXFIFOE
              and RXFIFOF flags change, please see SDMMC status
              register definition in Section56.8.11.</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DDR</name>
              <description>Data rate signaling selection This bit
              can only be written when the CPSM and DPSM are not
              active (CPSMACT = 0 and DPSMACT = 0) DDR rate shall
              only be selected with 4-bit or 8-bit wide bus mode.
              (WIDBUS &amp;gt; 00). DDR = 1 has no effect when
              WIDBUS = 00 (1-bit wide bus). DDR rate shall only be
              selected with clock division &amp;gt;1. (CLKDIV
              &amp;gt; 0)</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>BUSSPEED</name>
              <description>Bus speed mode selection between DS, HS,
              SDR12, SDR25 and SDR50, DDR50, SDR104. This bit can
              only be written when the CPSM and DPSM are not active
              (CPSMACT = 0 and DPSMACT = 0)</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SELCLKRX</name>
              <description>Receive clock selection. These bits can
              only be written when the CPSM and DPSM are not active
              (CPSMACT = 0 and DPSMACT = 0)</description>
              <bitOffset>20</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>ARGR</name>
          <displayName>ARGR</displayName>
          <description>The SDMMC_ARGR register contains a 32-bit
          command argument, which is sent to a card as part of a
          command message.</description>
          <addressOffset>0x8</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CMDARG</name>
              <description>Command argument. These bits can only be
              written by firmware when CPSM is disabled (CPSMEN =
              0). Command argument sent to a card as part of a
              command message. If a command contains an argument,
              it must be loaded into this register before writing a
              command to the command register.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CMDR</name>
          <displayName>CMDR</displayName>
          <description>The SDMMC_CMDR register contains the command
          index and command type bits. The command index is sent to
          a card as part of a command message. The command type
          bits control the command path state machine
          (CPSM).</description>
          <addressOffset>0xC</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CMDINDEX</name>
              <description>Command index. This bit can only be
              written by firmware when CPSM is disabled (CPSMEN =
              0). The command index is sent to the card as part of
              a command message.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>6</bitWidth>
            </field>
            <field>
              <name>CMDTRANS</name>
              <description>The CPSM treats the command as a data
              transfer command, stops the interrupt period, and
              signals DataEnable to the DPSM This bit can only be
              written by firmware when CPSM is disabled (CPSMEN =
              0). If this bit is set, the CPSM issues an end of
              interrupt period and issues DataEnable signal to the
              DPSM when the command is sent.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CMDSTOP</name>
              <description>The CPSM treats the command as a Stop
              Transmission command and signals Abort to the DPSM.
              This bit can only be written by firmware when CPSM is
              disabled (CPSMEN = 0). If this bit is set, the CPSM
              issues the Abort signal to the DPSM when the command
              is sent.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>WAITRESP</name>
              <description>Wait for response bits. This bit can
              only be written by firmware when CPSM is disabled
              (CPSMEN = 0). They are used to configure whether the
              CPSM is to wait for a response, and if yes, which
              kind of response.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>WAITINT</name>
              <description>CPSM waits for interrupt request. If
              this bit is set, the CPSM disables command timeout
              and waits for an card interrupt request (Response).
              If this bit is cleared in the CPSM Wait state, will
              cause the abort of the interrupt mode.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>WAITPEND</name>
              <description>CPSM Waits for end of data transfer
              (CmdPend internal signal) from DPSM. This bit when
              set, the CPSM waits for the end of data transfer
              trigger before it starts sending a command. WAITPEND
              is only taken into account when DTMODE = MMC stream
              data transfer, WIDBUS = 1-bit wide bus mode, DPSMACT
              = 1 and DTDIR = from host to card.</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CPSMEN</name>
              <description>Command path state machine (CPSM) Enable
              bit This bit is written 1 by firmware, and cleared by
              hardware when the CPSM enters the Idle state. If this
              bit is set, the CPSM is enabled. When DTEN = 1, no
              command will be transfered nor boot procedure will be
              started. CPSMEN is cleared to 0.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DTHOLD</name>
              <description>Hold new data block transmission and
              reception in the DPSM. If this bit is set, the DPSM
              will not move from the Wait_S state to the Send state
              or from the Wait_R state to the Receive
              state.</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>BOOTMODE</name>
              <description>Select the boot mode procedure to be
              used. This bit can only be written by firmware when
              CPSM is disabled (CPSMEN = 0)</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>BOOTEN</name>
              <description>Enable boot mode
              procedure.</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CMDSUSPEND</name>
              <description>The CPSM treats the command as a Suspend
              or Resume command and signals interrupt period
              start/end. This bit can only be written by firmware
              when CPSM is disabled (CPSMEN = 0). CMDSUSPEND = 1
              and CMDTRANS = 0 Suspend command, start interrupt
              period when response bit BS=0. CMDSUSPEND = 1 and
              CMDTRANS = 1 Resume command with data, end interrupt
              period when response bit DF=1.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <dim>4</dim>
          <dimIncrement>0x4</dimIncrement>
          <dimIndex>1-4</dimIndex>
          <name>RESP%sR</name>
          <displayName>RESP%sR</displayName>
          <description>SDMMC response %s register</description>
          <addressOffset>0x14</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CARDSTATUS</name>
              <description>Status of a card, which is part of the received response</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DTIMER</name>
          <displayName>DTIMER</displayName>
          <description>The SDMMC_DTIMER register contains the data
          timeout period, in card bus clock periods. A counter
          loads the value from the SDMMC_DTIMER register, and
          starts decrementing when the data path state machine
          (DPSM) enters the Wait_R or Busy state. If the timer
          reaches 0 while the DPSM is in either of these states,
          the timeout status flag is set.</description>
          <addressOffset>0x24</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DATATIME</name>
              <description>Data and R1b busy timeout period This
              bit can only be written when the CPSM and DPSM are
              not active (CPSMACT = 0 and DPSMACT = 0). Data and
              R1b busy timeout period expressed in card bus clock
              periods.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DLENR</name>
          <displayName>DLENR</displayName>
          <description>The SDMMC_DLENR register contains the number
          of data bytes to be transferred. The value is loaded into
          the data counter when data transfer starts.</description>
          <addressOffset>0x28</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DATALENGTH</name>
              <description>Data length value This register can only
              be written by firmware when DPSM is inactive (DPSMACT
              = 0). Number of data bytes to be transferred. When
              DDR = 1 DATALENGTH is truncated to a multiple of 2.
              (The last odd byte is not transfered) When DATALENGTH
              = 0 no data will be transfered, when requested by a
              CPSMEN and CMDTRANS = 1 also no command will be
              transfered. DTEN and CPSMEN are cleared to
              0.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>25</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DCTRL</name>
          <displayName>DCTRL</displayName>
          <description>The SDMMC_DCTRL register control the data
          path state machine (DPSM).</description>
          <addressOffset>0x2C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DTEN</name>
              <description>Data transfer enable bit This bit can
              only be written by firmware when DPSM is inactive
              (DPSMACT = 0). This bit is cleared by Hardware when
              data transfer completes. This bit shall only be used
              to transfer data when no associated data transfer
              command is used, i.e. shall not be used with SD or
              eMMC cards.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DTDIR</name>
              <description>Data transfer direction selection This
              bit can only be written by firmware when DPSM is
              inactive (DPSMACT = 0).</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DTMODE</name>
              <description>Data transfer mode selection. This bit
              can only be written by firmware when DPSM is inactive
              (DPSMACT = 0).</description>
              <bitOffset>2</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>DBLOCKSIZE</name>
              <description>Data block size This bit can only be
              written by firmware when DPSM is inactive (DPSMACT =
              0). Define the data block length when the block data
              transfer mode is selected: When DATALENGTH is not a
              multiple of DBLOCKSIZE, the transfered data is
              truncated at a multiple of DBLOCKSIZE. (Any remain
              data will not be transfered.) When DDR = 1,
              DBLOCKSIZE = 0000 shall not be used. (No data will be
              transfered)</description>
              <bitOffset>4</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>RWSTART</name>
              <description>Read wait start. If this bit is set,
              read wait operation starts.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RWSTOP</name>
              <description>Read wait stop This bit is written by
              firmware and auto cleared by hardware when the DPSM
              moves from the READ_WAIT state to the WAIT_R or IDLE
              state.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RWMOD</name>
              <description>Read wait mode. This bit can only be
              written by firmware when DPSM is inactive (DPSMACT =
              0).</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SDIOEN</name>
              <description>SD I/O interrupt enable functions This
              bit can only be written by firmware when DPSM is
              inactive (DPSMACT = 0). If this bit is set, the DPSM
              enables the SD I/O card specific interrupt
              operation.</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>BOOTACKEN</name>
              <description>Enable the reception of the boot
              acknowledgment. This bit can only be written by
              firmware when DPSM is inactive (DPSMACT =
              0).</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>FIFORST</name>
              <description>FIFO reset, will flush any remaining
              data. This bit can only be written by firmware when
              IDMAEN= 0 and DPSM is active (DPSMACT = 1). This bit
              will only take effect when a transfer error or
              transfer hold occurs.</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DCNTR</name>
          <displayName>DCNTR</displayName>
          <description>The SDMMC_DCNTR register loads the value
          from the data length register (see SDMMC_DLENR) when the
          DPSM moves from the Idle state to the Wait_R or Wait_S
          state. As data is transferred, the counter decrements the
          value until it reaches 0. The DPSM then moves to the Idle
          state and when there has been no error, the data status
          end flag (DATAEND) is set.</description>
          <addressOffset>0x30</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DATACOUNT</name>
              <description>Data count value When read, the number
              of remaining data bytes to be transferred is
              returned. Write has no effect.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>25</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>STAR</name>
          <displayName>STAR</displayName>
          <description>The SDMMC_STAR register is a read-only
          register. It contains two types of flag:Static flags
          (bits [29,21,11:0]): these bits remain asserted until
          they are cleared by writing to the SDMMC interrupt Clear
          register (see SDMMC_ICR)Dynamic flags (bits [20:12]):
          these bits change state depending on the state of the
          underlying logic (for example, FIFO full and empty flags
          are asserted and de-asserted as data while written to the
          FIFO)</description>
          <addressOffset>0x34</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CCRCFAIL</name>
              <description>Command response received (CRC check
              failed). Interrupt flag is cleared by writing
              corresponding interrupt clear bit in
              SDMMC_ICR.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DCRCFAIL</name>
              <description>Data block sent/received (CRC check
              failed). Interrupt flag is cleared by writing
              corresponding interrupt clear bit in
              SDMMC_ICR.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CTIMEOUT</name>
              <description>Command response timeout. Interrupt flag
              is cleared by writing corresponding interrupt clear
              bit in SDMMC_ICR. The Command Timeout period has a
              fixed value of 64 SDMMC_CK clock
              periods.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DTIMEOUT</name>
              <description>Data timeout. Interrupt flag is cleared
              by writing corresponding interrupt clear bit in
              SDMMC_ICR.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TXUNDERR</name>
              <description>Transmit FIFO underrun error or IDMA
              read transfer error. Interrupt flag is cleared by
              writing corresponding interrupt clear bit in
              SDMMC_ICR.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RXOVERR</name>
              <description>Received FIFO overrun error or IDMA
              write transfer error. Interrupt flag is cleared by
              writing corresponding interrupt clear bit in
              SDMMC_ICR.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CMDREND</name>
              <description>Command response received (CRC check
              passed, or no CRC). Interrupt flag is cleared by
              writing corresponding interrupt clear bit in
              SDMMC_ICR.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CMDSENT</name>
              <description>Command sent (no response required).
              Interrupt flag is cleared by writing corresponding
              interrupt clear bit in SDMMC_ICR.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DATAEND</name>
              <description>Data transfer ended correctly. (data
              counter, DATACOUNT is zero and no errors occur).
              Interrupt flag is cleared by writing corresponding
              interrupt clear bit in SDMMC_ICR.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DHOLD</name>
              <description>Data transfer Hold. Interrupt flag is
              cleared by writing corresponding interrupt clear bit
              in SDMMC_ICR.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DBCKEND</name>
              <description>Data block sent/received. (CRC check
              passed) and DPSM moves to the READWAIT state.
              Interrupt flag is cleared by writing corresponding
              interrupt clear bit in SDMMC_ICR.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DABORT</name>
              <description>Data transfer aborted by CMD12.
              Interrupt flag is cleared by writing corresponding
              interrupt clear bit in SDMMC_ICR.</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DPSMACT</name>
              <description>Data path state machine active, i.e. not
              in Idle state. This is a hardware status flag only,
              does not generate an interrupt.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CPSMACT</name>
              <description>Command path state machine active, i.e.
              not in Idle state. This is a hardware status flag
              only, does not generate an interrupt.</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TXFIFOHE</name>
              <description>Transmit FIFO half empty At least half
              the number of words can be written into the FIFO.
              This bit is cleared when the FIFO becomes half+1
              full.</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RXFIFOHF</name>
              <description>Receive FIFO half full There are at
              least half the number of words in the FIFO. This bit
              is cleared when the FIFO becomes half+1
              empty.</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TXFIFOF</name>
              <description>Transmit FIFO full This is a hardware
              status flag only, does not generate an interrupt.
              This bit is cleared when one FIFO location becomes
              empty.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RXFIFOF</name>
              <description>Receive FIFO full This bit is cleared
              when one FIFO location becomes empty.</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TXFIFOE</name>
              <description>Transmit FIFO empty This bit is cleared
              when one FIFO location becomes full.</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RXFIFOE</name>
              <description>Receive FIFO empty This is a hardware
              status flag only, does not generate an interrupt.
              This bit is cleared when one FIFO location becomes
              full.</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>BUSYD0</name>
              <description>Inverted value of SDMMC_D0 line (Busy),
              sampled at the end of a CMD response and a second
              time 2 SDMMC_CK cycles after the CMD response. This
              bit is reset to not busy when the SDMMCD0 line
              changes from busy to not busy. This bit does not
              signal busy due to data transfer. This is a hardware
              status flag only, it does not generate an
              interrupt.</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>BUSYD0END</name>
              <description>end of SDMMC_D0 Busy following a CMD
              response detected. This indicates only end of busy
              following a CMD response. This bit does not signal
              busy due to data transfer. Interrupt flag is cleared
              by writing corresponding interrupt clear bit in
              SDMMC_ICR.</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SDIOIT</name>
              <description>SDIO interrupt received. Interrupt flag
              is cleared by writing corresponding interrupt clear
              bit in SDMMC_ICR.</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ACKFAIL</name>
              <description>Boot acknowledgment received (boot
              acknowledgment check fail). Interrupt flag is cleared
              by writing corresponding interrupt clear bit in
              SDMMC_ICR.</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ACKTIMEOUT</name>
              <description>Boot acknowledgment timeout. Interrupt
              flag is cleared by writing corresponding interrupt
              clear bit in SDMMC_ICR.</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>VSWEND</name>
              <description>Voltage switch critical timing section
              completion. Interrupt flag is cleared by writing
              corresponding interrupt clear bit in
              SDMMC_ICR.</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CKSTOP</name>
              <description>SDMMC_CK stopped in Voltage switch
              procedure. Interrupt flag is cleared by writing
              corresponding interrupt clear bit in
              SDMMC_ICR.</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IDMATE</name>
              <description>IDMA transfer error. Interrupt flag is
              cleared by writing corresponding interrupt clear bit
              in SDMMC_ICR.</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IDMABTC</name>
              <description>IDMA buffer transfer complete. interrupt
              flag is cleared by writing corresponding interrupt
              clear bit in SDMMC_ICR.</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>ICR</name>
          <displayName>ICR</displayName>
          <description>The SDMMC_ICR register is a write-only
          register. Writing a bit with 1 clears the corresponding
          bit in the SDMMC_STAR status register.</description>
          <addressOffset>0x38</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CCRCFAILC</name>
              <description>CCRCFAIL flag clear bit Set by software
              to clear the CCRCFAIL flag.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DCRCFAILC</name>
              <description>DCRCFAIL flag clear bit Set by software
              to clear the DCRCFAIL flag.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CTIMEOUTC</name>
              <description>CTIMEOUT flag clear bit Set by software
              to clear the CTIMEOUT flag.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DTIMEOUTC</name>
              <description>DTIMEOUT flag clear bit Set by software
              to clear the DTIMEOUT flag.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TXUNDERRC</name>
              <description>TXUNDERR flag clear bit Set by software
              to clear TXUNDERR flag.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RXOVERRC</name>
              <description>RXOVERR flag clear bit Set by software
              to clear the RXOVERR flag.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CMDRENDC</name>
              <description>CMDREND flag clear bit Set by software
              to clear the CMDREND flag.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CMDSENTC</name>
              <description>CMDSENT flag clear bit Set by software
              to clear the CMDSENT flag.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DATAENDC</name>
              <description>DATAEND flag clear bit Set by software
              to clear the DATAEND flag.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DHOLDC</name>
              <description>DHOLD flag clear bit Set by software to
              clear the DHOLD flag.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DBCKENDC</name>
              <description>DBCKEND flag clear bit Set by software
              to clear the DBCKEND flag.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DABORTC</name>
              <description>DABORT flag clear bit Set by software to
              clear the DABORT flag.</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>BUSYD0ENDC</name>
              <description>BUSYD0END flag clear bit Set by software
              to clear the BUSYD0END flag.</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SDIOITC</name>
              <description>SDIOIT flag clear bit Set by software to
              clear the SDIOIT flag.</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ACKFAILC</name>
              <description>ACKFAIL flag clear bit Set by software
              to clear the ACKFAIL flag.</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ACKTIMEOUTC</name>
              <description>ACKTIMEOUT flag clear bit Set by
              software to clear the ACKTIMEOUT flag.</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>VSWENDC</name>
              <description>VSWEND flag clear bit Set by software to
              clear the VSWEND flag.</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CKSTOPC</name>
              <description>CKSTOP flag clear bit Set by software to
              clear the CKSTOP flag.</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IDMATEC</name>
              <description>IDMA transfer error clear bit Set by
              software to clear the IDMATE flag.</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IDMABTCC</name>
              <description>IDMA buffer transfer complete clear bit
              Set by software to clear the IDMABTC
              flag.</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MASKR</name>
          <displayName>MASKR</displayName>
          <description>The interrupt mask register determines which
          status flags generate an interrupt request by setting the
          corresponding bit to 1.</description>
          <addressOffset>0x3C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CCRCFAILIE</name>
              <description>Command CRC fail interrupt enable Set
              and cleared by software to enable/disable interrupt
              caused by command CRC failure.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DCRCFAILIE</name>
              <description>Data CRC fail interrupt enable Set and
              cleared by software to enable/disable interrupt
              caused by data CRC failure.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CTIMEOUTIE</name>
              <description>Command timeout interrupt enable Set and
              cleared by software to enable/disable interrupt
              caused by command timeout.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DTIMEOUTIE</name>
              <description>Data timeout interrupt enable Set and
              cleared by software to enable/disable interrupt
              caused by data timeout.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TXUNDERRIE</name>
              <description>Tx FIFO underrun error interrupt enable
              Set and cleared by software to enable/disable
              interrupt caused by Tx FIFO underrun
              error.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RXOVERRIE</name>
              <description>Rx FIFO overrun error interrupt enable
              Set and cleared by software to enable/disable
              interrupt caused by Rx FIFO overrun
              error.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CMDRENDIE</name>
              <description>Command response received interrupt
              enable Set and cleared by software to enable/disable
              interrupt caused by receiving command
              response.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CMDSENTIE</name>
              <description>Command sent interrupt enable Set and
              cleared by software to enable/disable interrupt
              caused by sending command.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DATAENDIE</name>
              <description>Data end interrupt enable Set and
              cleared by software to enable/disable interrupt
              caused by data end.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DHOLDIE</name>
              <description>Data hold interrupt enable Set and
              cleared by software to enable/disable the interrupt
              generated when sending new data is hold in the DPSM
              Wait_S state.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DBCKENDIE</name>
              <description>Data block end interrupt enable Set and
              cleared by software to enable/disable interrupt
              caused by data block end.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DABORTIE</name>
              <description>Data transfer aborted interrupt enable
              Set and cleared by software to enable/disable
              interrupt caused by a data transfer being
              aborted.</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TXFIFOHEIE</name>
              <description>Tx FIFO half empty interrupt enable Set
              and cleared by software to enable/disable interrupt
              caused by Tx FIFO half empty.</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RXFIFOHFIE</name>
              <description>Rx FIFO half full interrupt enable Set
              and cleared by software to enable/disable interrupt
              caused by Rx FIFO half full.</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RXFIFOFIE</name>
              <description>Rx FIFO full interrupt enable Set and
              cleared by software to enable/disable interrupt
              caused by Rx FIFO full.</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TXFIFOEIE</name>
              <description>Tx FIFO empty interrupt enable Set and
              cleared by software to enable/disable interrupt
              caused by Tx FIFO empty.</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>BUSYD0ENDIE</name>
              <description>BUSYD0END interrupt enable Set and
              cleared by software to enable/disable the interrupt
              generated when SDMMC_D0 signal changes from busy to
              NOT busy following a CMD response.</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SDIOITIE</name>
              <description>SDIO mode interrupt received interrupt
              enable Set and cleared by software to enable/disable
              the interrupt generated when receiving the SDIO mode
              interrupt.</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ACKFAILIE</name>
              <description>Acknowledgment Fail interrupt enable Set
              and cleared by software to enable/disable interrupt
              caused by acknowledgment Fail.</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ACKTIMEOUTIE</name>
              <description>Acknowledgment timeout interrupt enable
              Set and cleared by software to enable/disable
              interrupt caused by acknowledgment
              timeout.</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>VSWENDIE</name>
              <description>Voltage switch critical timing section
              completion interrupt enable Set and cleared by
              software to enable/disable the interrupt generated
              when voltage switch critical timing section
              completion.</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CKSTOPIE</name>
              <description>Voltage Switch clock stopped interrupt
              enable Set and cleared by software to enable/disable
              interrupt caused by Voltage Switch clock
              stopped.</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IDMABTCIE</name>
              <description>IDMA buffer transfer complete interrupt
              enable Set and cleared by software to enable/disable
              the interrupt generated when the IDMA has transferred
              all data belonging to a memory buffer.</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>ACKTIMER</name>
          <displayName>ACKTIMER</displayName>
          <description>The SDMMC_ACKTIMER register contains the
          acknowledgment timeout period, in SDMMC_CK bus clock
          periods. A counter loads the value from the
          SDMMC_ACKTIMER register, and starts decrementing when the
          data path state machine (DPSM) enters the Wait_Ack state.
          If the timer reaches 0 while the DPSM is in this states,
          the acknowledgment timeout status flag is
          set.</description>
          <addressOffset>0x40</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>ACKTIME</name>
              <description>Boot acknowledgment timeout period This
              bit can only be written by firmware when CPSM is
              disabled (CPSMEN = 0). Boot acknowledgment timeout
              period expressed in card bus clock
              periods.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>25</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>IDMACTRLR</name>
          <displayName>IDMACTRLR</displayName>
          <description>The receive and transmit FIFOs can be read
          or written as 32-bit wide registers. The FIFOs contain 32
          entries on 32 sequential addresses. This allows the CPU
          to use its load and store multiple operands to read
          from/write to the FIFO.</description>
          <addressOffset>0x50</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>IDMAEN</name>
              <description>IDMA enable This bit can only be written
              by firmware when DPSM is inactive (DPSMACT =
              0).</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IDMABMODE</name>
              <description>Buffer mode selection. This bit can only
              be written by firmware when DPSM is inactive (DPSMACT
              = 0).</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IDMABACT</name>
              <description>Double buffer mode active buffer
              indication This bit can only be written by firmware
              when DPSM is inactive (DPSMACT = 0). When IDMA is
              enabled this bit is toggled by
              hardware.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>IDMABSIZER</name>
          <displayName>IDMABSIZER</displayName>
          <description>The SDMMC_IDMABSIZER register contains the
          buffers size when in double buffer
          configuration.</description>
          <addressOffset>0x54</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>IDMABNDT</name>
              <description>Number of transfers per buffer. This
              8-bit value shall be multiplied by 8 to get the size
              of the buffer in 32-bit words and by 32 to get the
              size of the buffer in bytes. Example: IDMABNDT =
              0x01: buffer size = 8 words = 32 bytes. These bits
              can only be written by firmware when DPSM is inactive
              (DPSMACT = 0).</description>
              <bitOffset>5</bitOffset>
              <bitWidth>8</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>IDMABASE0R</name>
          <displayName>IDMABASE0R</displayName>
          <description>The SDMMC_IDMABASE0R register contains the
          memory buffer base address in single buffer configuration
          and the buffer 0 base address in double buffer
          configuration.</description>
          <addressOffset>0x58</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>IDMABASE0</name>
              <description>Buffer 0 memory base address bits
              [31:2], shall be word aligned (bit [1:0] are always 0
              and read only). This register can be written by
              firmware when DPSM is inactive (DPSMACT = 0), and can
              dynamically be written by firmware when DPSM active
              (DPSMACT = 1) and memory buffer 0 is inactive
              (IDMABACT = 1).</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>IDMABASE1R</name>
          <displayName>IDMABASE1R</displayName>
          <description>The SDMMC_IDMABASE1R register contains the
          double buffer configuration second buffer memory base
          address.</description>
          <addressOffset>0x5C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>IDMABASE1</name>
              <description>Buffer 1 memory base address, shall be
              word aligned (bit [1:0] are always 0 and read only).
              This register can be written by firmware when DPSM is
              inactive (DPSMACT = 0), and can dynamically be
              written by firmware when DPSM active (DPSMACT = 1)
              and memory buffer 1 is inactive (IDMABACT =
              0).</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>FIFOR</name>
          <displayName>FIFOR</displayName>
          <description>The receive and transmit FIFOs can be only
          read or written as word (32-bit) wide registers. The
          FIFOs contain 16 entries on sequential addresses. This
          allows the CPU to use its load and store multiple
          operands to read from/write to the FIFO.When accessing
          SDMMC_FIFOR with half word or byte access an AHB bus
          fault is generated.</description>
          <addressOffset>0x80</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>FIFODATA</name>
              <description>Receive and transmit FIFO data This
              register can only be read or written by firmware when
              the DPSM is active (DPSMACT=1). The FIFO data
              occupies 16 entries of 32-bit words.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>RESPCMDR</name>
          <displayName>RESPCMDR</displayName>
          <description>SDMMC command response
          register</description>
          <addressOffset>0x10</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0xA3C5DD01</resetValue>
          <fields>
            <field>
              <name>RESPCMD</name>
              <description>Response command index</description>
              <bitOffset>0</bitOffset>
              <bitWidth>6</bitWidth>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral derivedFrom="SDMMC1">
      <name>SDMMC2</name>
      <baseAddress>0x48022400</baseAddress>
    </peripheral>
    <peripheral>
      <name>VREFBUF</name>
      <description>VREFBUF</description>
      <groupName>VREFBUF</groupName>
      <baseAddress>0x58003C00</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <registers>
        <register>
          <name>CSR</name>
          <displayName>CSR</displayName>
          <description>VREFBUF control and status
          register</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000002</resetValue>
          <fields>
            <field>
              <name>ENVR</name>
              <description>Voltage reference buffer mode enable
              This bit is used to enable the voltage reference
              buffer mode.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>HIZ</name>
              <description>High impedance mode This bit controls
              the analog switch to connect or not the VREF+ pin.
              Refer to Table196: VREF buffer modes for the mode
              descriptions depending on ENVR bit
              configuration.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>VRR</name>
              <description>Voltage reference buffer
              ready</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>VRS</name>
              <description>Voltage reference scale These bits
              select the value generated by the voltage reference
              buffer. Other: Reserved</description>
              <bitOffset>4</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>CCR</name>
          <displayName>CCR</displayName>
          <description>VREFBUF calibration control
          register</description>
          <addressOffset>0x4</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TRIM</name>
              <description>Trimming code These bits are
              automatically initialized after reset with the
              trimming value stored in the Flash memory during the
              production test. Writing into these bits allows to
              tune the internal reference buffer
              voltage.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>6</bitWidth>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>IWDG</name>
      <description>IWDG</description>
      <groupName>IWDG</groupName>
      <baseAddress>0x58004800</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <registers>
        <register>
          <name>KR</name>
          <displayName>KR</displayName>
          <description>Key register</description>
          <addressOffset>0x0</addressOffset>
          <size>0x10</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>KEY</name>
              <description>Key value (write only, read 0x0000)
              These bits must be written by software at regular
              intervals with the key value 0xAAAA, otherwise the
              watchdog generates a reset when the counter reaches
              0. Writing the key value 0x5555 to enable access to
              the IWDG_PR, IWDG_RLR and IWDG_WINR registers (see
              Section23.3.6: Register access protection) Writing
              the key value CCCCh starts the watchdog (except if
              the hardware watchdog option is
              selected)</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <enumeratedValues>
                <name>KEY</name>
                <enumeratedValue>
                  <name>Unlock</name>
                  <description>Enable access to PR, RLR and WINR registers</description>
                  <value>21845</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Feed</name>
                  <description>Feed watchdog with RLR register value</description>
                  <value>43690</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Start</name>
                  <description>Start the watchdog</description>
                  <value>52428</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PR</name>
          <displayName>PR</displayName>
          <description>Prescaler register</description>
          <addressOffset>0x4</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>PR</name>
              <description>Prescaler divider These bits are write
              access protected see Section23.3.6: Register access
              protection. They are written by software to select
              the prescaler divider feeding the counter clock. PVU
              bit of IWDG_SR must be reset in order to be able to
              change the prescaler divider. Note: Reading this
              register returns the prescaler value from the VDD
              voltage domain. This value may not be up to
              date/valid if a write operation to this register is
              ongoing. For this reason the value read from this
              register is valid only when the PVU bit in the
              IWDG_SR register is reset.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>PR</name>
                <enumeratedValue>
                  <name>DivideBy4</name>
                  <description>Divider /4</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DivideBy8</name>
                  <description>Divider /8</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DivideBy16</name>
                  <description>Divider /16</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DivideBy32</name>
                  <description>Divider /32</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DivideBy64</name>
                  <description>Divider /64</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DivideBy128</name>
                  <description>Divider /128</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DivideBy256</name>
                  <description>Divider /256</description>
                  <isDefault>true</isDefault>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>RLR</name>
          <displayName>RLR</displayName>
          <description>Reload register</description>
          <addressOffset>0x8</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000FFF</resetValue>
          <fields>
            <field>
              <name>RL</name>
              <description>Watchdog counter reload value These bits
              are write access protected see Section23.3.6. They
              are written by software to define the value to be
              loaded in the watchdog counter each time the value
              0xAAAA is written in the IWDG_KR register. The
              watchdog counter counts down from this value. The
              timeout period is a function of this value and the
              clock prescaler. Refer to the datasheet for the
              timeout information. The RVU bit in the IWDG_SR
              register must be reset in order to be able to change
              the reload value. Note: Reading this register returns
              the reload value from the VDD voltage domain. This
              value may not be up to date/valid if a write
              operation to this register is ongoing on this
              register. For this reason the value read from this
              register is valid only when the RVU bit in the
              IWDG_SR register is reset.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>12</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4095</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>SR</name>
          <displayName>SR</displayName>
          <description>Status register</description>
          <addressOffset>0xC</addressOffset>
          <size>0x10</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>PVU</name>
              <description>Watchdog prescaler value update This bit
              is set by hardware to indicate that an update of the
              prescaler value is ongoing. It is reset by hardware
              when the prescaler update operation is completed in
              the VDD voltage domain (takes up to 5 RC 40 kHz
              cycles). Prescaler value can be updated only when PVU
              bit is reset.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RVU</name>
              <description>Watchdog counter reload value update
              This bit is set by hardware to indicate that an
              update of the reload value is ongoing. It is reset by
              hardware when the reload value update operation is
              completed in the VDD voltage domain (takes up to 5 RC
              40 kHz cycles). Reload value can be updated only when
              RVU bit is reset.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>WVU</name>
              <description>Watchdog counter window value update
              This bit is set by hardware to indicate that an
              update of the window value is ongoing. It is reset by
              hardware when the reload value update operation is
              completed in the VDD voltage domain (takes up to 5 RC
              40 kHz cycles). Window value can be updated only when
              WVU bit is reset. This bit is generated only if
              generic window = 1</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>WINR</name>
          <displayName>WINR</displayName>
          <description>Window register</description>
          <addressOffset>0x10</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000FFF</resetValue>
          <fields>
            <field>
              <name>WIN</name>
              <description>Watchdog counter window value These bits
              are write access protected see Section23.3.6. These
              bits contain the high limit of the window value to be
              compared to the downcounter. To prevent a reset, the
              downcounter must be reloaded when its value is lower
              than the window register value and greater than 0x0
              The WVU bit in the IWDG_SR register must be reset in
              order to be able to change the reload value. Note:
              Reading this register returns the reload value from
              the VDD voltage domain. This value may not be valid
              if a write operation to this register is ongoing. For
              this reason the value read from this register is
              valid only when the WVU bit in the IWDG_SR register
              is reset.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>12</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4095</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>WWDG</name>
      <description>WWDG</description>
      <groupName>WWDG</groupName>
      <baseAddress>0x50003000</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>WWDG1</name>
        <description>Window Watchdog interrupt</description>
        <value>0</value>
      </interrupt>
      <interrupt>
        <name>WWDG1_RST</name>
        <description>Window Watchdog interrupt</description>
        <value>143</value>
      </interrupt>
      <registers>
        <register>
          <name>CR</name>
          <displayName>CR</displayName>
          <description>Control register</description>
          <addressOffset>0x0</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x0000007F</resetValue>
          <fields>
            <field>
              <name>T</name>
              <description>7-bit counter (MSB to LSB) These bits
              contain the value of the watchdog counter. It is
              decremented every (4096 x 2WDGTB[1:0]) PCLK cycles. A
              reset is produced when it is decremented from 0x40 to
              0x3F (T6 becomes cleared).</description>
              <bitOffset>0</bitOffset>
              <bitWidth>7</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>127</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>WDGA</name>
              <description>Activation bit This bit is set by
              software and only cleared by hardware after a reset.
              When WDGA=1, the watchdog can generate a
              reset.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>WDGA</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Watchdog disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Watchdog enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CFR</name>
          <displayName>CFR</displayName>
          <description>Configuration register</description>
          <addressOffset>0x4</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x0000007F</resetValue>
          <fields>
            <field>
              <name>W</name>
              <description>7-bit window value These bits contain
              the window value to be compared to the
              downcounter.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>7</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>127</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>WDGTB</name>
              <description>Timer base The time base of the
              prescaler can be modified as follows:</description>
              <bitOffset>11</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>WDGTB</name>
                <enumeratedValue>
                  <name>Div1</name>
                  <description>Counter clock (PCLK1 div 4096) div 1</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div2</name>
                  <description>Counter clock (PCLK1 div 4096) div 2</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div4</name>
                  <description>Counter clock (PCLK1 div 4096) div 4</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div8</name>
                  <description>Counter clock (PCLK1 div 4096) div 8</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div16</name>
                  <description>Counter clock (PCLK1 div 4096) div 16</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div32</name>
                  <description>Counter clock (PCLK1 div 4096) div 32</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div64</name>
                  <description>Counter clock (PCLK1 div 4096) div 64</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div128</name>
                  <description>Counter clock (PCLK1 div 4096) div 128</description>
                  <value>7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EWI</name>
              <description>Early wakeup interrupt When set, an
              interrupt occurs whenever the counter reaches the
              value 0x40. This interrupt is only cleared by
              hardware after a reset.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>EWIW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Enable</name>
                  <description>interrupt occurs whenever the counter reaches the value 0x40</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>SR</name>
          <displayName>SR</displayName>
          <description>Status register</description>
          <addressOffset>0x8</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>EWIF</name>
              <description>Early wakeup interrupt flag This bit is
              set by hardware when the counter has reached the
              value 0x40. It must be cleared by software by writing
              0. A write of 1 has no effect. This bit is also set
              if the interrupt is not enabled.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>zeroToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>EWIFR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Finished</name>
                  <description>The EWI Interrupt Service Routine has been serviced</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Pending</name>
                  <description>The EWI Interrupt Service Routine has been triggered</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>EWIFW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Finished</name>
                  <description>The EWI Interrupt Service Routine has been serviced</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>PWR</name>
      <description>PWR</description>
      <groupName>PWR</groupName>
      <baseAddress>0x58024800</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <registers>
        <register>
          <name>CR1</name>
          <displayName>CR1</displayName>
          <description>PWR control register 1</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0xF000C000</resetValue>
          <fields>
            <field>
              <name>LPDS</name>
              <description>Low-power Deepsleep with SVOS3 (SVOS4
              and SVOS5 always use low-power, regardless of the
              setting of this bit)</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>PVDE</name>
              <description>Programmable voltage detector
              enable</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>PLS</name>
              <description>Programmable voltage detector level
              selection These bits select the voltage threshold
              detected by the PVD. Note: Refer to Section
              Electrical characteristics of the product datasheet
              for more details.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>3</bitWidth>
            </field>
            <field>
              <name>DBP</name>
              <description>Disable backup domain write protection
              In reset state, the RCC_BDCR register, the RTC
              registers (including the backup registers), BREN and
              MOEN bits in PWR_CR2 register, are protected against
              parasitic write access. This bit must be set to
              enable write access to these registers.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>FLPS</name>
              <description>Flash low-power mode in DStop mode This
              bit allows to obtain the best trade-off between
              low-power consumption and restart time when exiting
              from DStop mode. When it is set, the Flash memory
              enters low-power mode when D1 domain is in DStop
              mode.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SVOS</name>
              <description>System Stop mode voltage scaling
              selection These bits control the VCORE voltage level
              in system Stop mode, to obtain the best trade-off
              between power consumption and
              performance.</description>
              <bitOffset>14</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>AVDEN</name>
              <description>Peripheral voltage monitor on VDDA
              enable</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ALS</name>
              <description>Analog voltage detector level selection
              These bits select the voltage threshold detected by
              the AVD.</description>
              <bitOffset>17</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CSR1</name>
          <displayName>CSR1</displayName>
          <description>PWR control status register 1</description>
          <addressOffset>0x4</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00004000</resetValue>
          <fields>
            <field>
              <name>PVDO</name>
              <description>Programmable voltage detect output This
              bit is set and cleared by hardware. It is valid only
              if the PVD has been enabled by the PVDE bit. Note:
              since the PVD is disabled in Standby mode, this bit
              is equal to 0 after Standby or reset until the PVDE
              bit is set.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ACTVOSRDY</name>
              <description>Voltage levels ready bit for currently
              used VOS and SDLEVEL This bit is set to 1 by hardware
              when the voltage regulator and the SD converter are
              both disabled and Bypass mode is selected in PWR
              control register 3 (PWR_CR3).</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ACTVOS</name>
              <description>VOS currently applied for VCORE voltage
              scaling selection. These bits reflect the last VOS
              value applied to the PMU.</description>
              <bitOffset>14</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>AVDO</name>
              <description>Analog voltage detector output on VDDA
              This bit is set and cleared by hardware. It is valid
              only if AVD on VDDA is enabled by the AVDEN bit.
              Note: Since the AVD is disabled in Standby mode, this
              bit is equal to 0 after Standby or reset until the
              AVDEN bit is set.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CR2</name>
          <displayName>CR2</displayName>
          <description>This register is not reset by wakeup from
          Standby mode, RESET signal and VDD POR. It is only reset
          by VSW POR and VSWRST reset. This register shall not be
          accessed when VSWRST bit in RCC_BDCR register resets the
          VSW domain.After reset, PWR_CR2 register is
          write-protected. Prior to modifying its content, the DBP
          bit in PWR_CR1 register must be set to disable the write
          protection.</description>
          <addressOffset>0x8</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>BREN</name>
              <description>Backup regulator enable When set, the
              Backup regulator (used to maintain the backup RAM
              content in Standby and VBAT modes) is enabled. If
              BREN is reset, the backup regulator is switched off.
              The backup RAM can still be used in Run and Stop
              modes. However, its content will be lost in Standby
              and VBAT modes. If BREN is set, the application must
              wait till the Backup Regulator Ready flag (BRRDY) is
              set to indicate that the data written into the SRAM
              will be maintained in Standby and VBAT
              modes.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>MONEN</name>
              <description>VBAT and temperature monitoring enable
              When set, the VBAT supply and temperature monitoring
              is enabled.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>BRRDY</name>
              <description>Backup regulator ready This bit is set
              by hardware to indicate that the Backup regulator is
              ready.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>VBATL</name>
              <description>VBAT level monitoring versus low
              threshold</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>VBATH</name>
              <description>VBAT level monitoring versus high
              threshold</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>TEMPL</name>
              <description>Temperature level monitoring versus low
              threshold</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>TEMPH</name>
              <description>Temperature level monitoring versus high
              threshold</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>CR3</name>
          <displayName>CR3</displayName>
          <description>Reset only by POR only, not reset by wakeup
          from Standby mode and RESET pad. The lower byte of this
          register is written once after POR and shall be written
          before changing VOS level or ck_sys clock frequency. No
          limitation applies to the upper bytes.Programming data
          corresponding to an invalid combination of SDLEVEL,
          SDEXTHP, SDEN, LDOEN and BYPASS bits (see Table9) will be
          ignored: data will not be written, the written-once
          mechanism will lock the register and any further write
          access will be ignored. The default supply configuration
          will be kept and the ACTVOSRDY bit in PWR control status
          register 1 (PWR_CSR1) will go on indicating invalid
          voltage levels. The system shall be power cycled before
          writing a new value.</description>
          <addressOffset>0xC</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000006</resetValue>
          <fields>
            <field>
              <name>BYPASS</name>
              <description>Power management unit
              bypass</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>LDOEN</name>
              <description>Low drop-out regulator
              enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>SDEN</name>
              <description>SD converter Enable</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>VBE</name>
              <description>VBAT charging enable</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>VBRS</name>
              <description>VBAT charging resistor
              selection</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>USB33DEN</name>
              <description>VDD33USB voltage level detector
              enable.</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
            </field>
            <field>
              <name>USBREGEN</name>
              <description>USB regulator enable.</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>USB33RDY</name>
              <description>USB supply ready.</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>CPUCR</name>
          <displayName>CPUCR</displayName>
          <description>This register allows controlling CPU1
          power.</description>
          <addressOffset>0x10</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>PDDS_D1</name>
              <description>D1 domain Power Down Deepsleep
              selection. This bit allows CPU1 to define the
              Deepsleep mode for D1 domain.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>PDDS_D2</name>
              <description>D2 domain Power Down Deepsleep. This bit
              allows CPU1 to define the Deepsleep mode for D2
              domain.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>PDDS_D3</name>
              <description>System D3 domain Power Down Deepsleep.
              This bit allows CPU1 to define the Deepsleep mode for
              System D3 domain.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>STOPF</name>
              <description>STOP flag This bit is set by hardware
              and cleared only by any reset or by setting the CPU1
              CSSF bit.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>SBF</name>
              <description>System Standby flag This bit is set by
              hardware and cleared only by a POR (Power-on Reset)
              or by setting the CPU1 CSSF bit</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>SBF_D1</name>
              <description>D1 domain DStandby flag This bit is set
              by hardware and cleared by any system reset or by
              setting the CPU1 CSSF bit. Once set, this bit can be
              cleared only when the D1 domain is no longer in
              DStandby mode.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>SBF_D2</name>
              <description>D2 domain DStandby flag This bit is set
              by hardware and cleared by any system reset or by
              setting the CPU1 CSSF bit. Once set, this bit can be
              cleared only when the D2 domain is no longer in
              DStandby mode.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>CSSF</name>
              <description>Clear D1 domain CPU1 Standby, Stop and
              HOLD flags (always read as 0) This bit is cleared to
              0 by hardware.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>RUN_D3</name>
              <description>Keep system D3 domain in Run mode
              regardless of the CPU sub-systems modes</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>D3CR</name>
          <displayName>D3CR</displayName>
          <description>This register allows controlling D3 domain
          power.Following reset VOSRDY will be read 1 by
          software</description>
          <addressOffset>0x18</addressOffset>
          <size>0x20</size>
          <resetValue>0x00004000</resetValue>
          <fields>
            <field>
              <name>VOSRDY</name>
              <description>VOS Ready bit for VCORE voltage scaling
              output selection. This bit is set to 1 by hardware
              when Bypass mode is selected in PWR control register
              3 (PWR_CR3).</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>VOS</name>
              <description>Voltage scaling selection according to
              performance These bits control the VCORE voltage
              level and allow to obtains the best trade-off between
              power consumption and performance: When increasing
              the performance, the voltage scaling shall be changed
              before increasing the system frequency. When
              decreasing performance, the system frequency shall
              first be decreased before changing the voltage
              scaling.</description>
              <bitOffset>14</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>WKUPCR</name>
          <displayName>WKUPCR</displayName>
          <description>reset only by system reset, not reset by
          wakeup from Standby mode5 wait states are required when
          writing this register (when clearing a WKUPF bit in
          PWR_WKUPFR, the AHB write access will complete after the
          WKUPF has been cleared).</description>
          <addressOffset>0x20</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>WKUPC</name>
              <description>Clear Wakeup pin flag for WKUP. These
              bits are always read as 0.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>6</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>WKUPFR</name>
          <displayName>WKUPFR</displayName>
          <description>reset only by system reset, not reset by
          wakeup from Standby mode</description>
          <addressOffset>0x24</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>WKUPF1</name>
              <description>Wakeup pin WKUPF flag. This bit is set
              by hardware and cleared only by a Reset pin or by
              setting the WKUPCn+1 bit in the PWR wakeup clear
              register (PWR_WKUPCR).</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>WKUPF2</name>
              <description>Wakeup pin WKUPF flag. This bit is set
              by hardware and cleared only by a Reset pin or by
              setting the WKUPCn+1 bit in the PWR wakeup clear
              register (PWR_WKUPCR).</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>WKUPF3</name>
              <description>Wakeup pin WKUPF flag. This bit is set
              by hardware and cleared only by a Reset pin or by
              setting the WKUPCn+1 bit in the PWR wakeup clear
              register (PWR_WKUPCR).</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>WKUPF4</name>
              <description>Wakeup pin WKUPF flag. This bit is set
              by hardware and cleared only by a Reset pin or by
              setting the WKUPCn+1 bit in the PWR wakeup clear
              register (PWR_WKUPCR).</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>WKUPF5</name>
              <description>Wakeup pin WKUPF flag. This bit is set
              by hardware and cleared only by a Reset pin or by
              setting the WKUPCn+1 bit in the PWR wakeup clear
              register (PWR_WKUPCR).</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>WKUPF6</name>
              <description>Wakeup pin WKUPF flag. This bit is set
              by hardware and cleared only by a Reset pin or by
              setting the WKUPCn+1 bit in the PWR wakeup clear
              register (PWR_WKUPCR).</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>WKUPEPR</name>
          <displayName>WKUPEPR</displayName>
          <description>Reset only by system reset, not reset by
          wakeup from Standby mode</description>
          <addressOffset>0x28</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>WKUPEN1</name>
              <description>Enable Wakeup Pin WKUPn+1 Each bit is
              set and cleared by software. Note: An additional
              wakeup event is detected if WKUPn+1 pin is enabled
              (by setting the WKUPENn+1 bit) when WKUPn+1 pin level
              is already high when WKUPPn+1 selects rising edge, or
              low when WKUPPn+1 selects falling edge.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>WKUPEN2</name>
              <description>Enable Wakeup Pin WKUPn+1 Each bit is
              set and cleared by software. Note: An additional
              wakeup event is detected if WKUPn+1 pin is enabled
              (by setting the WKUPENn+1 bit) when WKUPn+1 pin level
              is already high when WKUPPn+1 selects rising edge, or
              low when WKUPPn+1 selects falling edge.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>WKUPEN3</name>
              <description>Enable Wakeup Pin WKUPn+1 Each bit is
              set and cleared by software. Note: An additional
              wakeup event is detected if WKUPn+1 pin is enabled
              (by setting the WKUPENn+1 bit) when WKUPn+1 pin level
              is already high when WKUPPn+1 selects rising edge, or
              low when WKUPPn+1 selects falling edge.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>WKUPEN4</name>
              <description>Enable Wakeup Pin WKUPn+1 Each bit is
              set and cleared by software. Note: An additional
              wakeup event is detected if WKUPn+1 pin is enabled
              (by setting the WKUPENn+1 bit) when WKUPn+1 pin level
              is already high when WKUPPn+1 selects rising edge, or
              low when WKUPPn+1 selects falling edge.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>WKUPEN5</name>
              <description>Enable Wakeup Pin WKUPn+1 Each bit is
              set and cleared by software. Note: An additional
              wakeup event is detected if WKUPn+1 pin is enabled
              (by setting the WKUPENn+1 bit) when WKUPn+1 pin level
              is already high when WKUPPn+1 selects rising edge, or
              low when WKUPPn+1 selects falling edge.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>WKUPEN6</name>
              <description>Enable Wakeup Pin WKUPn+1 Each bit is
              set and cleared by software. Note: An additional
              wakeup event is detected if WKUPn+1 pin is enabled
              (by setting the WKUPENn+1 bit) when WKUPn+1 pin level
              is already high when WKUPPn+1 selects rising edge, or
              low when WKUPPn+1 selects falling edge.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>WKUPP1</name>
              <description>Wakeup pin polarity bit for WKUPn-7
              These bits define the polarity used for event
              detection on WKUPn-7 external wakeup
              pin.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>WKUPP2</name>
              <description>Wakeup pin polarity bit for WKUPn-7
              These bits define the polarity used for event
              detection on WKUPn-7 external wakeup
              pin.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>WKUPP3</name>
              <description>Wakeup pin polarity bit for WKUPn-7
              These bits define the polarity used for event
              detection on WKUPn-7 external wakeup
              pin.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>WKUPP4</name>
              <description>Wakeup pin polarity bit for WKUPn-7
              These bits define the polarity used for event
              detection on WKUPn-7 external wakeup
              pin.</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>WKUPP5</name>
              <description>Wakeup pin polarity bit for WKUPn-7
              These bits define the polarity used for event
              detection on WKUPn-7 external wakeup
              pin.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>WKUPP6</name>
              <description>Wakeup pin polarity bit for WKUPn-7
              These bits define the polarity used for event
              detection on WKUPn-7 external wakeup
              pin.</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>WKUPPUPD1</name>
              <description>Wakeup pin pull
              configuration</description>
              <bitOffset>16</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>WKUPPUPD2</name>
              <description>Wakeup pin pull
              configuration</description>
              <bitOffset>18</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>WKUPPUPD3</name>
              <description>Wakeup pin pull
              configuration</description>
              <bitOffset>20</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>WKUPPUPD4</name>
              <description>Wakeup pin pull
              configuration</description>
              <bitOffset>22</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>WKUPPUPD5</name>
              <description>Wakeup pin pull
              configuration</description>
              <bitOffset>24</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>WKUPPUPD6</name>
              <description>Wakeup pin pull configuration for
              WKUP(truncate(n/2)-7) These bits define the I/O pad
              pull configuration used when WKUPEN(truncate(n/2)-7)
              = 1. The associated GPIO port pull configuration
              shall be set to the same value or to 00. The Wakeup
              pin pull configuration is kept in Standby
              mode.</description>
              <bitOffset>26</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>SPI1</name>
      <description>Serial peripheral interface</description>
      <groupName>SPI</groupName>
      <baseAddress>0x40013000</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>SPI1</name>
        <description>SPI1 global interrupt</description>
        <value>35</value>
      </interrupt>
      <registers>
        <register>
          <name>CR1</name>
          <displayName>CR1</displayName>
          <description>control register 1</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>IOLOCK</name>
              <description>Locking the AF configuration of
              associated IOs</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>IOLOCK</name>
                <enumeratedValue>
                  <name>Unlocked</name>
                  <description>IO configuration unlocked</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Locked</name>
                  <description>IO configuration locked</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TCRCINI</name>
              <description>CRC calculation initialization pattern
              control for transmitter</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>TCRCINI</name>
                <enumeratedValue>
                  <name>AllZeros</name>
                  <description>All zeros TX CRC initialization pattern</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>AllOnes</name>
                  <description>All ones TX CRC initialization pattern</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RCRCINI</name>
              <description>CRC calculation initialization pattern
              control for receiver</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>RCRCINI</name>
                <enumeratedValue>
                  <name>AllZeros</name>
                  <description>All zeros RX CRC initialization pattern</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>AllOnes</name>
                  <description>All ones RX CRC initialization pattern</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CRC33_17</name>
              <description>32-bit CRC polynomial
              configuration</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>CRC33_17</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Full size (33/17 bit) CRC polynomial is not used</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Full size (33/17 bit) CRC polynomial is used</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SSI</name>
              <description>Internal SS signal input
              level</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>SSI</name>
                <enumeratedValue>
                  <name>SlaveSelected</name>
                  <description>0 is forced onto the SS signal and the I/O value of the SS pin is ignored</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SlaveNotSelected</name>
                  <description>1 is forced onto the SS signal and the I/O value of the SS pin is ignored</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>HDDIR</name>
              <description>Rx/Tx direction at Half-duplex
              mode</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>HDDIR</name>
                <enumeratedValue>
                  <name>Receiver</name>
                  <description>Receiver in half duplex mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Transmitter</name>
                  <description>Transmitter in half duplex mode</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CSUSP</name>
              <description>Master SUSPend request</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
              <enumeratedValues>
                <name>CSUSPW</name>
                <enumeratedValue>
                  <name>NotRequested</name>
                  <description>Do not request master suspend</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Requested</name>
                  <description>Request master suspend</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CSTART</name>
              <description>Master transfer start</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>CSTART</name>
                <enumeratedValue>
                  <name>NotStarted</name>
                  <description>Do not start master transfer</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Started</name>
                  <description>Start master transfer</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MASRX</name>
              <description>Master automatic SUSP in Receive
              mode</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>MASRX</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Automatic suspend in master receive-only mode disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Automatic suspend in master receive-only mode enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SPE</name>
              <description>Serial Peripheral Enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>SPE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Peripheral disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Peripheral enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CR2</name>
          <displayName>CR2</displayName>
          <description>control register 2</description>
          <addressOffset>0x4</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TSER</name>
              <description>Number of data transfer extension to be
              reload into TSIZE just when a previous</description>
              <bitOffset>16</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-only</access>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>TSIZE</name>
              <description>Number of data at current
              transfer</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-write</access>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>CFG1</name>
          <displayName>CFG1</displayName>
          <description>configuration register 1</description>
          <addressOffset>0x8</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00070007</resetValue>
          <fields>
            <field>
              <name>MBR</name>
              <description>Master baud rate</description>
              <bitOffset>28</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>MBR</name>
                <enumeratedValue>
                  <name>Div2</name>
                  <description>f_spi_ker_ck / 2</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div4</name>
                  <description>f_spi_ker_ck / 4</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div8</name>
                  <description>f_spi_ker_ck / 8</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div16</name>
                  <description>f_spi_ker_ck / 16</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div32</name>
                  <description>f_spi_ker_ck / 32</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div64</name>
                  <description>f_spi_ker_ck / 64</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div128</name>
                  <description>f_spi_ker_ck / 128</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div256</name>
                  <description>f_spi_ker_ck / 256</description>
                  <value>7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CRCEN</name>
              <description>Hardware CRC computation
              enable</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CRCEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>CRC calculation disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>CRC calculation enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CRCSIZE</name>
              <description>Length of CRC frame to be transacted and
              compared</description>
              <bitOffset>16</bitOffset>
              <bitWidth>5</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>31</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>TXDMAEN</name>
              <description>Tx DMA stream enable</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TXDMAEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Tx buffer DMA disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Tx buffer DMA enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RXDMAEN</name>
              <description>Rx DMA stream enable</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RXDMAEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Rx buffer DMA disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Rx buffer DMA enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>UDRDET</name>
              <description>Detection of underrun condition at slave
              transmitter</description>
              <bitOffset>11</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>UDRDET</name>
                <enumeratedValue>
                  <name>StartOfFrame</name>
                  <description>Underrun is detected at begin of data frame</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>EndOfFrame</name>
                  <description>Underrun is detected at end of last data frame</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>StartOfSlaveSelect</name>
                  <description>Underrun is detected at begin of active SS signal</description>
                  <value>2</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>UDRCFG</name>
              <description>Behavior of slave transmitter at
              underrun condition</description>
              <bitOffset>9</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>UDRCFG</name>
                <enumeratedValue>
                  <name>Constant</name>
                  <description>Slave sends a constant underrun pattern</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>RepeatReceived</name>
                  <description>Slave repeats last received data frame from master</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>RepeatTransmitted</name>
                  <description>Slave repeats last transmitted data frame</description>
                  <value>2</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FTHLV</name>
              <description>threshold level</description>
              <bitOffset>5</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues>
                <name>FTHLV</name>
                <enumeratedValue>
                  <name>OneFrame</name>
                  <description>1 frame</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TwoFrames</name>
                  <description>2 frames</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ThreeFrames</name>
                  <description>3 frames</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FourFrames</name>
                  <description>4 frames</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FiveFrames</name>
                  <description>5 frames</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SixFrames</name>
                  <description>6 frames</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SevenFrames</name>
                  <description>7 frames</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>EightFrames</name>
                  <description>8 frames</description>
                  <value>7</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>NineFrames</name>
                  <description>9 frames</description>
                  <value>8</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TenFrames</name>
                  <description>10 frames</description>
                  <value>9</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ElevenFrames</name>
                  <description>11 frames</description>
                  <value>10</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TwelveFrames</name>
                  <description>12 frames</description>
                  <value>11</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ThirteenFrames</name>
                  <description>13 frames</description>
                  <value>12</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FourteenFrames</name>
                  <description>14 frames</description>
                  <value>13</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FifteenFrames</name>
                  <description>15 frames</description>
                  <value>14</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SixteenFrames</name>
                  <description>16 frames</description>
                  <value>15</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DSIZE</name>
              <description>Number of bits in at single SPI data
              frame</description>
              <bitOffset>0</bitOffset>
              <bitWidth>5</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>31</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>CFG2</name>
          <displayName>CFG2</displayName>
          <description>configuration register 2</description>
          <addressOffset>0xC</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>AFCNTR</name>
              <description>Alternate function GPIOs
              control</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>AFCNTR</name>
                <enumeratedValue>
                  <name>NotControlled</name>
                  <description>Peripheral takes no control of GPIOs while disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Controlled</name>
                  <description>Peripheral controls GPIOs while disabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SSOM</name>
              <description>SS output management in master
              mode</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SSOM</name>
                <enumeratedValue>
                  <name>Asserted</name>
                  <description>SS is asserted until data transfer complete</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>NotAsserted</name>
                  <description>Data frames interleaved with SS not asserted during MIDI</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SSOE</name>
              <description>SS output enable</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SSOE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>SS output is disabled in master mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>SS output is enabled in master mode</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SSIOP</name>
              <description>SS input/output polarity</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SSIOP</name>
                <enumeratedValue>
                  <name>ActiveLow</name>
                  <description>Low level is active for SS signal</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ActiveHigh</name>
                  <description>High level is active for SS signal</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SSM</name>
              <description>Software management of SS signal
              input</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SSM</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Software slave management disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Software slave management enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CPOL</name>
              <description>Clock polarity</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CPOL</name>
                <enumeratedValue>
                  <name>IdleLow</name>
                  <description>CK to 0 when idle</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>IdleHigh</name>
                  <description>CK to 1 when idle</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CPHA</name>
              <description>Clock phase</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CPHA</name>
                <enumeratedValue>
                  <name>FirstEdge</name>
                  <description>The first clock transition is the first data capture edge</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SecondEdge</name>
                  <description>The second clock transition is the first data capture edge</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LSBFRST</name>
              <description>Data frame format</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>LSBFRST</name>
                <enumeratedValue>
                  <name>MSBFirst</name>
                  <description>Data is transmitted/received with the MSB first</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LSBFirst</name>
                  <description>Data is transmitted/received with the LSB first</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MASTER</name>
              <description>SPI Master</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>MASTER</name>
                <enumeratedValue>
                  <name>Slave</name>
                  <description>Slave configuration</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Master</name>
                  <description>Master configuration</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SP</name>
              <description>Serial Protocol</description>
              <bitOffset>19</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>SP</name>
                <enumeratedValue>
                  <name>Motorola</name>
                  <description>Motorola SPI protocol</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TI</name>
                  <description>TI SPI protocol</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>COMM</name>
              <description>SPI Communication Mode</description>
              <bitOffset>17</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>COMM</name>
                <enumeratedValue>
                  <name>FullDuplex</name>
                  <description>Full duplex</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Transmitter</name>
                  <description>Simplex transmitter only</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Receiver</name>
                  <description>Simplex receiver only</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HalfDuplex</name>
                  <description>Half duplex</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>IOSWP</name>
              <description>Swap functionality of MISO and MOSI
              pins</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>IOSWP</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>MISO and MOSI not swapped</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>MISO and MOSI swapped</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MIDI</name>
              <description>Master Inter-Data Idleness</description>
              <bitOffset>4</bitOffset>
              <bitWidth>4</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>MSSI</name>
              <description>Master SS Idleness</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>IER</name>
          <displayName>IER</displayName>
          <description>Interrupt Enable Register</description>
          <addressOffset>0x10</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>RXPIE</name>
              <description>RXP Interrupt Enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>RXPIE</name>
                <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>
            </field>
            <field>
              <name>TSERFIE</name>
              <description>Additional number of transactions reload
              interrupt enable</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="RXPIE"/>
            </field>
            <field>
              <name>MODFIE</name>
              <description>Mode Fault interrupt
              enable</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="RXPIE"/>
            </field>
            <field>
              <name>TIFREIE</name>
              <description>TIFRE interrupt enable</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="RXPIE"/>
            </field>
            <field>
              <name>CRCEIE</name>
              <description>CRC Interrupt enable</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="RXPIE"/>
            </field>
            <field>
              <name>OVRIE</name>
              <description>OVR interrupt enable</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="RXPIE"/>
            </field>
            <field>
              <name>UDRIE</name>
              <description>UDR interrupt enable</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="RXPIE"/>
            </field>
            <field>
              <name>TXTFIE</name>
              <description>TXTFIE interrupt enable</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="RXPIE"/>
            </field>
            <field>
              <name>EOTIE</name>
              <description>EOT, SUSP and TXC interrupt
              enable</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="RXPIE"/>
            </field>
            <field>
              <name>DXPIE</name>
              <description>DXP interrupt enabled</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="RXPIE"/>
            </field>
            <field>
              <name>TXPIE</name>
              <description>TXP interrupt enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="RXPIE"/>
            </field>
          </fields>
        </register>
        <register>
          <name>SR</name>
          <displayName>SR</displayName>
          <description>Status Register</description>
          <addressOffset>0x14</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00001002</resetValue>
          <fields>
            <field>
              <name>CTSIZE</name>
              <description>Number of data frames remaining in
              current TSIZE session</description>
              <bitOffset>16</bitOffset>
              <bitWidth>16</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>RXWNE</name>
              <description>RxFIFO Word Not Empty</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RXWNE</name>
                <enumeratedValue>
                  <name>LessThan32</name>
                  <description>Less than 32-bit data frame received</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>AtLeast32</name>
                  <description>At least 32-bit data frame received</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RXPLVL</name>
              <description>RxFIFO Packing LeVeL</description>
              <bitOffset>13</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>RXPLVL</name>
                <enumeratedValue>
                  <name>ZeroFrames</name>
                  <description>Zero frames beyond packing ratio available</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OneFrame</name>
                  <description>One frame beyond packing ratio available</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TwoFrames</name>
                  <description>Two frame beyond packing ratio available</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ThreeFrames</name>
                  <description>Three frame beyond packing ratio available</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TXC</name>
              <description>TxFIFO transmission
              complete</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TXC</name>
                <enumeratedValue>
                  <name>Ongoing</name>
                  <description>Transmission ongoing</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Completed</name>
                  <description>Transmission completed</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SUSP</name>
              <description>SUSPend</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SUSP</name>
                <enumeratedValue>
                  <name>NotSuspended</name>
                  <description>Master not suspended</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Suspended</name>
                  <description>Master suspended</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TSERF</name>
              <description>Additional number of SPI data to be
              transacted was reload</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TSERF</name>
                <enumeratedValue>
                  <name>NotLoaded</name>
                  <description>Additional number of SPI data to be transacted not yet loaded</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Loaded</name>
                  <description>Additional number of SPI data to be transacted was reloaded</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODF</name>
              <description>Mode Fault</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>MODF</name>
                <enumeratedValue>
                  <name>NoFault</name>
                  <description>No mode fault detected</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Fault</name>
                  <description>Mode fault detected</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TIFRE</name>
              <description>TI frame format error</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TIFRE</name>
                <enumeratedValue>
                  <name>NoError</name>
                  <description>TI frame format error detected</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Error</name>
                  <description>TI frame format error detected</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CRCE</name>
              <description>CRC Error</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CRCE</name>
                <enumeratedValue>
                  <name>NoError</name>
                  <description>No CRC error detected</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Error</name>
                  <description>CRC error detected</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OVR</name>
              <description>Overrun</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>OVR</name>
                <enumeratedValue>
                  <name>NoOverrun</name>
                  <description>No overrun occurred</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Overrun</name>
                  <description>Overrun occurred</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>UDR</name>
              <description>Underrun at slave transmission
              mode</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>UDR</name>
                <enumeratedValue>
                  <name>NoUnderrun</name>
                  <description>No underrun occurred</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Underrun</name>
                  <description>Underrun occurred</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TXTF</name>
              <description>Transmission Transfer
              Filled</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TXTF</name>
                <enumeratedValue>
                  <name>NotCompleted</name>
                  <description>Transmission buffer incomplete</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Completed</name>
                  <description>Transmission buffer filled with at least one transfer</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EOT</name>
              <description>End Of Transfer</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>EOT</name>
                <enumeratedValue>
                  <name>NotCompleted</name>
                  <description>Transfer ongoing or not started</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Completed</name>
                  <description>Transfer complete</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DXP</name>
              <description>Duplex Packet</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DXP</name>
                <enumeratedValue>
                  <name>Unavailable</name>
                  <description>Duplex packet unavailable: no space for transmission and/or no data received</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Available</name>
                  <description>Duplex packet available: space for transmission and data received</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TXP</name>
              <description>Tx-Packet space available</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TXP</name>
                <enumeratedValue>
                  <name>Full</name>
                  <description>Tx buffer full</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>NotFull</name>
                  <description>Tx buffer not full</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RXP</name>
              <description>Rx-Packet available</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RXP</name>
                <enumeratedValue>
                  <name>Empty</name>
                  <description>Rx buffer empty</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>NotEmpty</name>
                  <description>Rx buffer not empty</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>IFCR</name>
          <displayName>IFCR</displayName>
          <description>Interrupt/Status Flags Clear
          Register</description>
          <addressOffset>0x18</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>EOTC</name>
              <description>End Of Transfer flag clear</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>EOTCW</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear interrupt flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SUSPC</name>
              <description>SUSPend flag clear</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues derivedFrom="EOTCW"/>
            </field>
            <field>
              <name>TSERFC</name>
              <description>TSERFC flag clear</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues derivedFrom="EOTCW"/>
            </field>
            <field>
              <name>MODFC</name>
              <description>Mode Fault flag clear</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues derivedFrom="EOTCW"/>
            </field>
            <field>
              <name>TIFREC</name>
              <description>TI frame format error flag
              clear</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues derivedFrom="EOTCW"/>
            </field>
            <field>
              <name>CRCEC</name>
              <description>CRC Error flag clear</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues derivedFrom="EOTCW"/>
            </field>
            <field>
              <name>OVRC</name>
              <description>Overrun flag clear</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues derivedFrom="EOTCW"/>
            </field>
            <field>
              <name>UDRC</name>
              <description>Underrun flag clear</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues derivedFrom="EOTCW"/>
            </field>
            <field>
              <name>TXTFC</name>
              <description>Transmission Transfer Filled flag
              clear</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues derivedFrom="EOTCW"/>
            </field>
          </fields>
        </register>
        <register>
          <name>TXDR</name>
          <displayName>TXDR</displayName>
          <description>Transmit Data Register</description>
          <addressOffset>0x20</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TXDR</name>
              <description>Transmit data register</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4294967295</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>TXDR16</name>
          <description>Direct 16-bit access to transmit data register</description>
          <alternateRegister>TXDR</alternateRegister>
          <addressOffset>0x20</addressOffset>
          <size>0x10</size>
          <access>write-only</access>
          <fields>
            <field>
              <name>TXDR</name>
              <description>Transmit data register</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>TXDR8</name>
          <description>Direct 8-bit access to transmit data register</description>
          <alternateRegister>TXDR</alternateRegister>
          <addressOffset>0x20</addressOffset>
          <size>0x8</size>
          <access>write-only</access>
          <fields>
            <field>
              <name>TXDR</name>
              <description>Transmit data register</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>RXDR</name>
          <displayName>RXDR</displayName>
          <description>Receive Data Register</description>
          <addressOffset>0x30</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>RXDR</name>
              <description>Receive data register</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>RXDR16</name>
          <description>Direct 16-bit access to receive data register</description>
          <alternateRegister>RXDR</alternateRegister>
          <addressOffset>0x30</addressOffset>
          <size>0x10</size>
          <access>read-only</access>
          <fields>
            <field>
              <name>RXDR</name>
              <description>Receive data register</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>RXDR8</name>
          <description>Direct 8-bit access to receive data register</description>
          <alternateRegister>RXDR</alternateRegister>
          <addressOffset>0x30</addressOffset>
          <size>0x8</size>
          <access>read-only</access>
          <fields>
            <field>
              <name>RXDR</name>
              <description>Receive data register</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CRCPOLY</name>
          <displayName>CRCPOLY</displayName>
          <description>Polynomial Register</description>
          <addressOffset>0x40</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000107</resetValue>
          <fields>
            <field>
              <name>CRCPOLY</name>
              <description>CRC polynomial register</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4294967295</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>TXCRC</name>
          <displayName>TXCRC</displayName>
          <description>Transmitter CRC Register</description>
          <addressOffset>0x44</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TXCRC</name>
              <description>CRC register for
              transmitter</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4294967295</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>RXCRC</name>
          <displayName>RXCRC</displayName>
          <description>Receiver CRC Register</description>
          <addressOffset>0x48</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>RXCRC</name>
              <description>CRC register for receiver</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4294967295</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>UDRDR</name>
          <displayName>UDRDR</displayName>
          <description>Underrun Data Register</description>
          <addressOffset>0x4C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>UDRDR</name>
              <description>Data at slave underrun
              condition</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4294967295</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>I2SCFGR</name>
          <displayName>CGFR</displayName>
          <description>configuration register</description>
          <addressOffset>0x50</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>MCKOE</name>
              <description>Master clock output enable</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>MCKOE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Master clock output disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Master clock output enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ODD</name>
              <description>Odd factor for the
              prescaler</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ODD</name>
                <enumeratedValue>
                  <name>Even</name>
                  <description>Real divider value is I2SDIV*2</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Odd</name>
                  <description>Real divider value is I2SDIV*2 + 1</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>I2SDIV</name>
              <description>I2S linear prescaler</description>
              <bitOffset>16</bitOffset>
              <bitWidth>8</bitWidth>
            </field>
            <field>
              <name>DATFMT</name>
              <description>Data format</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DATFMT</name>
                <enumeratedValue>
                  <name>RightAligned</name>
                  <description>The data inside RXDR and TXDR are right aligned</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LeftAligned</name>
                  <description>The data inside RXDR and TXDR are left aligned</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>WSINV</name>
              <description>Fixed channel length in
              SLAVE</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>WSINV</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Word select inversion disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Word select inversion enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FIXCH</name>
              <description>Word select inversion</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>FIXCH</name>
                <enumeratedValue>
                  <name>NotFixed</name>
                  <description>The channel length in slave mode is different from 16 or 32 bits (CHLEN not taken into account)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Fixed</name>
                  <description>The channel length in slave mode is supposed to be 16 or 32 bits (according to CHLEN)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CKPOL</name>
              <description>Serial audio clock
              polarity</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CKPOL</name>
                <enumeratedValue>
                  <name>SampleOnRising</name>
                  <description>Signals are sampled on rising and changed on falling clock edges</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SampleOnFalling</name>
                  <description>Signals are sampled on falling and changed on rising clock edges</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CHLEN</name>
              <description>Channel length (number of bits per audio
              channel)</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CHLEN</name>
                <enumeratedValue>
                  <name>Bits16</name>
                  <description>16 bit per channel</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bits32</name>
                  <description>32 bit per channel</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DATLEN</name>
              <description>Data length to be
              transferred</description>
              <bitOffset>8</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>DATLEN</name>
                <enumeratedValue>
                  <name>Bits16</name>
                  <description>16 bit data length</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bits24</name>
                  <description>24 bit data length</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bits32</name>
                  <description>32 bit data length</description>
                  <value>2</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PCMSYNC</name>
              <description>PCM frame synchronization</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>PCMSYNC</name>
                <enumeratedValue>
                  <name>Short</name>
                  <description>Short PCM frame synchronization</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Long</name>
                  <description>Long PCM frame synchronization</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>I2SSTD</name>
              <description>I2S standard selection</description>
              <bitOffset>4</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>I2SSTD</name>
                <enumeratedValue>
                  <name>Philips</name>
                  <description>I2S Philips standard</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LeftAligned</name>
                  <description>MSB/left justified standard</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>RightAligned</name>
                  <description>LSB/right justified standard</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PCM</name>
                  <description>PCM standard</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>I2SCFG</name>
              <description>I2S configuration mode</description>
              <bitOffset>1</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>I2SCFG</name>
                <enumeratedValue>
                  <name>SlaveTransmit</name>
                  <description>Slave, transmit</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SlaveReceive</name>
                  <description>Slave, recteive</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>MasterTransmit</name>
                  <description>Master, transmit</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>MasterReceive</name>
                  <description>Master, receive</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SlaveFullDuplex</name>
                  <description>Slave, full duplex</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>MasterFullDuplex</name>
                  <description>Master, full duplex</description>
                  <value>5</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>I2SMOD</name>
              <description>I2S mode selection</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>I2SMOD</name>
                <enumeratedValue>
                  <name>SPI</name>
                  <description>SPI mode selected</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>I2S</name>
                  <description>I2S/PCM mode selected</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral derivedFrom="SPI1">
      <name>SPI2</name>
      <baseAddress>0x40003800</baseAddress>
      <interrupt>
        <name>SPI2</name>
        <description>SPI2 global interrupt</description>
        <value>36</value>
      </interrupt>
    </peripheral>
    <peripheral derivedFrom="SPI1">
      <name>SPI3</name>
      <baseAddress>0x40003C00</baseAddress>
      <interrupt>
        <name>SPI3</name>
        <description>SPI3 global interrupt</description>
        <value>51</value>
      </interrupt>
    </peripheral>
    <peripheral derivedFrom="SPI1">
      <name>SPI4</name>
      <baseAddress>0x40013400</baseAddress>
      <interrupt>
        <name>SPI4</name>
        <description>SPI4 global interrupt</description>
        <value>84</value>
      </interrupt>
    </peripheral>
    <peripheral derivedFrom="SPI1">
      <name>SPI5</name>
      <baseAddress>0x40015000</baseAddress>
      <interrupt>
        <name>SPI5</name>
        <description>SPI5 global interrupt</description>
        <value>85</value>
      </interrupt>
    </peripheral>
    <peripheral derivedFrom="SPI1">
      <name>SPI6</name>
      <baseAddress>0x58001400</baseAddress>
      <interrupt>
        <name>SPI6</name>
        <description>SPI6 global interrupt</description>
        <value>86</value>
      </interrupt>
    </peripheral>
    <peripheral>
      <name>LTDC</name>
      <description>LCD-TFT Controller</description>
      <groupName>LTDC</groupName>
      <baseAddress>0x50001000</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x1000</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>LTDC</name>
        <description>LCD-TFT global interrupt</description>
        <value>88</value>
      </interrupt>
      <interrupt>
        <name>LTDC_ER</name>
        <description>LCD-TFT error interrupt</description>
        <value>89</value>
      </interrupt>
      <registers>
        <register>
          <name>SSCR</name>
          <displayName>SSCR</displayName>
          <description>Synchronization Size Configuration
          Register</description>
          <addressOffset>0x8</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>HSW</name>
              <description>Horizontal Synchronization Width (in
              units of pixel clock period)</description>
              <bitOffset>16</bitOffset>
              <bitWidth>12</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4095</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>VSH</name>
              <description>Vertical Synchronization Height (in
              units of horizontal scan line)</description>
              <bitOffset>0</bitOffset>
              <bitWidth>11</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>2047</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>BPCR</name>
          <displayName>BPCR</displayName>
          <description>Back Porch Configuration
          Register</description>
          <addressOffset>0xC</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>AHBP</name>
              <description>Accumulated Horizontal back porch (in
              units of pixel clock period)</description>
              <bitOffset>16</bitOffset>
              <bitWidth>12</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4095</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>AVBP</name>
              <description>Accumulated Vertical back porch (in
              units of horizontal scan line)</description>
              <bitOffset>0</bitOffset>
              <bitWidth>11</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>2047</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>AWCR</name>
          <displayName>AWCR</displayName>
          <description>Active Width Configuration
          Register</description>
          <addressOffset>0x10</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>AAW</name>
              <description>Accumulated Active Width (in units of pixel clock period)</description>
              <bitOffset>16</bitOffset>
              <bitWidth>12</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4095</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>AAH</name>
              <description>Accumulated Active Height (in units of
              horizontal scan line)</description>
              <bitOffset>0</bitOffset>
              <bitWidth>11</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>2047</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>TWCR</name>
          <displayName>TWCR</displayName>
          <description>Total Width Configuration
          Register</description>
          <addressOffset>0x14</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TOTALW</name>
              <description>Total Width (in units of pixel clock
              period)</description>
              <bitOffset>16</bitOffset>
              <bitWidth>12</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4095</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>TOTALH</name>
              <description>Total Height (in units of horizontal
              scan line)</description>
              <bitOffset>0</bitOffset>
              <bitWidth>11</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>2047</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>GCR</name>
          <displayName>GCR</displayName>
          <description>Global Control Register</description>
          <addressOffset>0x18</addressOffset>
          <size>0x20</size>
          <resetValue>0x00002220</resetValue>
          <fields>
            <field>
              <name>HSPOL</name>
              <description>Horizontal Synchronization
              Polarity</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>HSPOL</name>
                <enumeratedValue>
                  <name>ActiveLow</name>
                  <description>Horizontal synchronization polarity is active low</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ActiveHigh</name>
                  <description>Horizontal synchronization polarity is active high</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>VSPOL</name>
              <description>Vertical Synchronization
              Polarity</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>VSPOL</name>
                <enumeratedValue>
                  <name>ActiveLow</name>
                  <description>Vertical synchronization polarity is active low</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ActiveHigh</name>
                  <description>Vertical synchronization polarity is active high</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DEPOL</name>
              <description>Data Enable Polarity</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>DEPOL</name>
                <enumeratedValue>
                  <name>ActiveLow</name>
                  <description>Data enable polarity is active low</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ActiveHigh</name>
                  <description>Data enable polarity is active high</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PCPOL</name>
              <description>Pixel Clock Polarity</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>PCPOL</name>
                <enumeratedValue>
                  <name>RisingEdge</name>
                  <description>Pixel clock on rising edge</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FallingEdge</name>
                  <description>Pixel clock on falling edge</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DEN</name>
              <description>Dither Enable</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>DEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Dither disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Dither enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DRW</name>
              <description>Dither Red Width</description>
              <bitOffset>12</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>DGW</name>
              <description>Dither Green Width</description>
              <bitOffset>8</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>DBW</name>
              <description>Dither Blue Width</description>
              <bitOffset>4</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>LTDCEN</name>
              <description>LCD-TFT controller enable
              bit</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>LTDCEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>LCD-TFT controller disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>LCD-TFT controller enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>SRCR</name>
          <displayName>SRCR</displayName>
          <description>Shadow Reload Configuration
          Register</description>
          <addressOffset>0x24</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>VBR</name>
              <description>Vertical Blanking Reload</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>VBR</name>
                <enumeratedValue>
                  <name>NoEffect</name>
                  <description>This bit is set by software and cleared only by hardware after reload (it cannot be cleared through register write once it is set)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Reload</name>
                  <description>The shadow registers are reloaded during the vertical blanking period (at the beginning of the first line after the active display area).</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>IMR</name>
              <description>Immediate Reload</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>IMR</name>
                <enumeratedValue>
                  <name>NoEffect</name>
                  <description>This bit is set by software and cleared only by hardware after reload (it cannot be cleared through register write once it is set)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Reload</name>
                  <description>The shadow registers are reloaded immediately. This bit is set by software and cleared only by hardware after reload</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>BCCR</name>
          <displayName>BCCR</displayName>
          <description>Background Color Configuration
          Register</description>
          <addressOffset>0x2C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>BCBLUE</name>
              <description>Background Color Blue
              value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>BCGREEN</name>
              <description>Background Color Green
              value</description>
              <bitOffset>8</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>BCRED</name>
              <description>Background Color Red value</description>
              <bitOffset>16</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>IER</name>
          <displayName>IER</displayName>
          <description>Interrupt Enable Register</description>
          <addressOffset>0x34</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>RRIE</name>
              <description>Register Reload interrupt
              enable</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RRIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Register reload interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Register reload interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TERRIE</name>
              <description>Transfer Error Interrupt
              Enable</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TERRIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Transfer error interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Transfer error interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FUIE</name>
              <description>FIFO Underrun Interrupt
              Enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>FUIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>FIFO underrun interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>FIFO underrun interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LIE</name>
              <description>Line Interrupt Enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>LIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Line interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Line interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>ISR</name>
          <displayName>ISR</displayName>
          <description>Interrupt Status Register</description>
          <addressOffset>0x38</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>RRIF</name>
              <description>Register Reload Interrupt
              Flag</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RRIF</name>
                <enumeratedValue>
                  <name>NoReload</name>
                  <description>No register reload</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Reload</name>
                  <description>Register reload interrupt generated when a vertical blanking reload occurs (and the first line after the active area is reached)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TERRIF</name>
              <description>Transfer Error interrupt
              flag</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TERRIF</name>
                <enumeratedValue>
                  <name>NoError</name>
                  <description>No transfer error</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Error</name>
                  <description>Transfer error interrupt generated when a bus error occurs</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FUIF</name>
              <description>FIFO Underrun Interrupt
              flag</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>FUIF</name>
                <enumeratedValue>
                  <name>NoUnderrun</name>
                  <description>No FIFO underrun</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Underrun</name>
                  <description>FIFO underrun interrupt generated, if one of the layer FIFOs is empty and pixel data is read from the FIFO</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LIF</name>
              <description>Line Interrupt flag</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>LIF</name>
                <enumeratedValue>
                  <name>NotReached</name>
                  <description>Programmed line not reached</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Reached</name>
                  <description>Line interrupt generated when a programmed line is reached</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>ICR</name>
          <displayName>ICR</displayName>
          <description>Interrupt Clear Register</description>
          <addressOffset>0x3C</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CRRIF</name>
              <description>Clears Register Reload Interrupt
              Flag</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>CRRIFW</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clears the RRIF flag in the ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CTERRIF</name>
              <description>Clears the Transfer Error Interrupt
              Flag</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>CTERRIFW</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clears the TERRIF flag in the ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CFUIF</name>
              <description>Clears the FIFO Underrun Interrupt
              flag</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>CFUIFW</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clears the FUIF flag in the ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CLIF</name>
              <description>Clears the Line Interrupt
              Flag</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>CLIFW</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clears the LIF flag in the ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>LIPCR</name>
          <displayName>LIPCR</displayName>
          <description>Line Interrupt Position Configuration
          Register</description>
          <addressOffset>0x40</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>LIPOS</name>
              <description>Line Interrupt Position</description>
              <bitOffset>0</bitOffset>
              <bitWidth>11</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>2047</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>CPSR</name>
          <displayName>CPSR</displayName>
          <description>Current Position Status
          Register</description>
          <addressOffset>0x44</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CXPOS</name>
              <description>Current X Position</description>
              <bitOffset>16</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
            <field>
              <name>CYPOS</name>
              <description>Current Y Position</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CDSR</name>
          <displayName>CDSR</displayName>
          <description>Current Display Status
          Register</description>
          <addressOffset>0x48</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x0000000F</resetValue>
          <fields>
            <field>
              <name>HSYNCS</name>
              <description>Horizontal Synchronization display
              Status</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>HSYNCS</name>
                <enumeratedValue>
                  <name>NotActive</name>
                  <description>Currently not in HSYNC phase</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Active</name>
                  <description>Currently in HSYNC phase</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>VSYNCS</name>
              <description>Vertical Synchronization display
              Status</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>VSYNCS</name>
                <enumeratedValue>
                  <name>NotActive</name>
                  <description>Currently not in VSYNC phase</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Active</name>
                  <description>Currently in VSYNC phase</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>HDES</name>
              <description>Horizontal Data Enable display
              Status</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>HDES</name>
                <enumeratedValue>
                  <name>NotActive</name>
                  <description>Currently not in horizontal Data Enable phase</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Active</name>
                  <description>Currently in horizontal Data Enable phase</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>VDES</name>
              <description>Vertical Data Enable display
              Status</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>VDES</name>
                <enumeratedValue>
                  <name>NotActive</name>
                  <description>Currently not in vertical Data Enable phase</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Active</name>
                  <description>Currently in vertical Data Enable phase</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <cluster>
          <dim>2</dim>
          <dimIncrement>0x80</dimIncrement>
          <dimIndex>1-2</dimIndex>
          <name>LAYER%s</name>
          <description>Cluster LAYER%s, containing L?CR, L?WHPCR, L?WVPCR, L?CKCR, L?PFCR, L?CACR, L?DCCR, L?BFCR, L?CFBAR, L?CFBLR, L?CFBLNR, L?CLUTWR</description>
          <addressOffset>0x84</addressOffset>
          <register>
            <name>CR</name>
            <displayName>L1CR</displayName>
            <description>Layerx Control Register</description>
            <addressOffset>0x0</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>CLUTEN</name>
                <description>Color Look-Up Table Enable</description>
                <bitOffset>4</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>CLUTEN</name>
                  <enumeratedValue>
                    <name>Disabled</name>
                    <description>Color look-up table disabled</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Enabled</name>
                    <description>Color look-up table enabled</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>COLKEN</name>
                <description>Color Keying Enable</description>
                <bitOffset>1</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>COLKEN</name>
                  <enumeratedValue>
                    <name>Disabled</name>
                    <description>Color keying disabled</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Enabled</name>
                    <description>Color keying enabled</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>LEN</name>
                <description>Layer Enable</description>
                <bitOffset>0</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>LEN</name>
                  <enumeratedValue>
                    <name>Disabled</name>
                    <description>Layer disabled</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Enabled</name>
                    <description>Layer enabled</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
            </fields>
          </register>
          <register>
            <name>WHPCR</name>
            <displayName>L1WHPCR</displayName>
            <description>Layerx Window Horizontal Position
          Configuration Register</description>
            <addressOffset>0x4</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>WHSPPOS</name>
                <description>Window Horizontal Stop
              Position</description>
                <bitOffset>16</bitOffset>
                <bitWidth>12</bitWidth>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>4095</maximum>
                  </range>
                </writeConstraint>
              </field>
              <field>
                <name>WHSTPOS</name>
                <description>Window Horizontal Start
              Position</description>
                <bitOffset>0</bitOffset>
                <bitWidth>12</bitWidth>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>4095</maximum>
                  </range>
                </writeConstraint>
              </field>
            </fields>
          </register>
          <register>
            <name>WVPCR</name>
            <displayName>L1WVPCR</displayName>
            <description>Layerx Window Vertical Position
          Configuration Register</description>
            <addressOffset>0x8</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>WVSPPOS</name>
                <description>Window Vertical Stop
              Position</description>
                <bitOffset>16</bitOffset>
                <bitWidth>11</bitWidth>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>2047</maximum>
                  </range>
                </writeConstraint>
              </field>
              <field>
                <name>WVSTPOS</name>
                <description>Window Vertical Start
              Position</description>
                <bitOffset>0</bitOffset>
                <bitWidth>11</bitWidth>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>2047</maximum>
                  </range>
                </writeConstraint>
              </field>
            </fields>
          </register>
          <register>
            <name>CKCR</name>
            <displayName>L1CKCR</displayName>
            <description>Layerx Color Keying Configuration
          Register</description>
            <addressOffset>0xC</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>CKRED</name>
                <description>Color Key Red value</description>
                <bitOffset>16</bitOffset>
                <bitWidth>8</bitWidth>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>255</maximum>
                  </range>
                </writeConstraint>
              </field>
              <field>
                <name>CKGREEN</name>
                <description>Color Key Green value</description>
                <bitOffset>8</bitOffset>
                <bitWidth>8</bitWidth>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>255</maximum>
                  </range>
                </writeConstraint>
              </field>
              <field>
                <name>CKBLUE</name>
                <description>Color Key Blue value</description>
                <bitOffset>0</bitOffset>
                <bitWidth>8</bitWidth>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>255</maximum>
                  </range>
                </writeConstraint>
              </field>
            </fields>
          </register>
          <register>
            <name>PFCR</name>
            <displayName>L1PFCR</displayName>
            <description>Layerx Pixel Format Configuration
          Register</description>
            <addressOffset>0x10</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>PF</name>
                <description>Pixel Format</description>
                <bitOffset>0</bitOffset>
                <bitWidth>3</bitWidth>
                <enumeratedValues>
                  <name>PF</name>
                  <enumeratedValue>
                    <name>ARGB8888</name>
                    <description>ARGB8888</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>RGB888</name>
                    <description>RGB888</description>
                    <value>1</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>RGB565</name>
                    <description>RGB565</description>
                    <value>2</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>ARGB1555</name>
                    <description>ARGB1555</description>
                    <value>3</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>ARGB4444</name>
                    <description>ARGB4444</description>
                    <value>4</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>L8</name>
                    <description>L8 (8-bit luminance)</description>
                    <value>5</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>AL44</name>
                    <description>AL44 (4-bit alpha, 4-bit luminance)</description>
                    <value>6</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>AL88</name>
                    <description>AL88 (8-bit alpha, 8-bit luminance)</description>
                    <value>7</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
            </fields>
          </register>
          <register>
            <name>CACR</name>
            <displayName>L1CACR</displayName>
            <description>Layerx Constant Alpha Configuration
          Register</description>
            <addressOffset>0x14</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>CONSTA</name>
                <description>Constant Alpha</description>
                <bitOffset>0</bitOffset>
                <bitWidth>8</bitWidth>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>255</maximum>
                  </range>
                </writeConstraint>
              </field>
            </fields>
          </register>
          <register>
            <name>DCCR</name>
            <displayName>L1DCCR</displayName>
            <description>Layerx Default Color Configuration
          Register</description>
            <addressOffset>0x18</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>DCALPHA</name>
                <description>Default Color Alpha</description>
                <bitOffset>24</bitOffset>
                <bitWidth>8</bitWidth>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>255</maximum>
                  </range>
                </writeConstraint>
              </field>
              <field>
                <name>DCRED</name>
                <description>Default Color Red</description>
                <bitOffset>16</bitOffset>
                <bitWidth>8</bitWidth>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>255</maximum>
                  </range>
                </writeConstraint>
              </field>
              <field>
                <name>DCGREEN</name>
                <description>Default Color Green</description>
                <bitOffset>8</bitOffset>
                <bitWidth>8</bitWidth>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>255</maximum>
                  </range>
                </writeConstraint>
              </field>
              <field>
                <name>DCBLUE</name>
                <description>Default Color Blue</description>
                <bitOffset>0</bitOffset>
                <bitWidth>8</bitWidth>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>255</maximum>
                  </range>
                </writeConstraint>
              </field>
            </fields>
          </register>
          <register>
            <name>BFCR</name>
            <displayName>L1BFCR</displayName>
            <description>Layerx Blending Factors Configuration
          Register</description>
            <addressOffset>0x1C</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000607</resetValue>
            <fields>
              <field>
                <name>BF1</name>
                <description>Blending Factor 1</description>
                <bitOffset>8</bitOffset>
                <bitWidth>3</bitWidth>
                <enumeratedValues>
                  <name>BF1</name>
                  <enumeratedValue>
                    <name>Constant</name>
                    <description>BF1 = constant alpha</description>
                    <value>4</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Pixel</name>
                    <description>BF1 = pixel alpha * constant alpha</description>
                    <value>6</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>BF2</name>
                <description>Blending Factor 2</description>
                <bitOffset>0</bitOffset>
                <bitWidth>3</bitWidth>
                <enumeratedValues>
                  <name>BF2</name>
                  <enumeratedValue>
                    <name>Constant</name>
                    <description>BF2 = 1 - constant alpha</description>
                    <value>5</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Pixel</name>
                    <description>BF2 = 1 - pixel alpha * constant alpha</description>
                    <value>7</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
            </fields>
          </register>
          <register>
            <name>CFBAR</name>
            <displayName>L1CFBAR</displayName>
            <description>Layerx Color Frame Buffer Address
          Register</description>
            <addressOffset>0x28</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>CFBADD</name>
                <description>Color Frame Buffer Start
              Address</description>
                <bitOffset>0</bitOffset>
                <bitWidth>32</bitWidth>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>4294967295</maximum>
                  </range>
                </writeConstraint>
              </field>
            </fields>
          </register>
          <register>
            <name>CFBLR</name>
            <displayName>L1CFBLR</displayName>
            <description>Layerx Color Frame Buffer Length
          Register</description>
            <addressOffset>0x2C</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>CFBP</name>
                <description>Color Frame Buffer Pitch in
              bytes</description>
                <bitOffset>16</bitOffset>
                <bitWidth>13</bitWidth>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>8191</maximum>
                  </range>
                </writeConstraint>
              </field>
              <field>
                <name>CFBLL</name>
                <description>Color Frame Buffer Line
              Length</description>
                <bitOffset>0</bitOffset>
                <bitWidth>13</bitWidth>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>8191</maximum>
                  </range>
                </writeConstraint>
              </field>
            </fields>
          </register>
          <register>
            <name>CFBLNR</name>
            <displayName>L1CFBLNR</displayName>
            <description>Layerx ColorFrame Buffer Line Number
          Register</description>
            <addressOffset>0x30</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>CFBLNBR</name>
                <description>Frame Buffer Line Number</description>
                <bitOffset>0</bitOffset>
                <bitWidth>11</bitWidth>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>2047</maximum>
                  </range>
                </writeConstraint>
              </field>
            </fields>
          </register>
          <register>
            <name>CLUTWR</name>
            <displayName>L1CLUTWR</displayName>
            <description>Layerx CLUT Write Register</description>
            <addressOffset>0x40</addressOffset>
            <size>0x20</size>
            <access>write-only</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>CLUTADD</name>
                <description>CLUT Address</description>
                <bitOffset>24</bitOffset>
                <bitWidth>8</bitWidth>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>255</maximum>
                  </range>
                </writeConstraint>
              </field>
              <field>
                <name>RED</name>
                <description>Red value</description>
                <bitOffset>16</bitOffset>
                <bitWidth>8</bitWidth>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>255</maximum>
                  </range>
                </writeConstraint>
              </field>
              <field>
                <name>GREEN</name>
                <description>Green value</description>
                <bitOffset>8</bitOffset>
                <bitWidth>8</bitWidth>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>255</maximum>
                  </range>
                </writeConstraint>
              </field>
              <field>
                <name>BLUE</name>
                <description>Blue value</description>
                <bitOffset>0</bitOffset>
                <bitWidth>8</bitWidth>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>255</maximum>
                  </range>
                </writeConstraint>
              </field>
            </fields>
          </register>
        </cluster>
      </registers>
    </peripheral>
    <peripheral>
      <name>SPDIFRX</name>
      <description>Receiver Interface</description>
      <groupName>SPDIFRX</groupName>
      <baseAddress>0x40004000</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>SPDIF</name>
        <description>SPDIFRX global interrupt</description>
        <value>97</value>
      </interrupt>
      <registers>
        <register>
          <name>CR</name>
          <displayName>CR</displayName>
          <description>Control register</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>SPDIFRXEN</name>
              <description>Peripheral Block Enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>RXDMAEN</name>
              <description>Receiver DMA ENable for data
              flow</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RXSTEO</name>
              <description>STerEO Mode</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DRFMT</name>
              <description>RX Data format</description>
              <bitOffset>4</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>PMSK</name>
              <description>Mask Parity error bit</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>VMSK</name>
              <description>Mask of Validity bit</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CUMSK</name>
              <description>Mask of channel status and user
              bits</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>PTMSK</name>
              <description>Mask of Preamble Type bits</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CBDMAEN</name>
              <description>Control Buffer DMA ENable for control
              flow</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CHSEL</name>
              <description>Channel Selection</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>NBTR</name>
              <description>Maximum allowed re-tries during
              synchronization phase</description>
              <bitOffset>12</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>WFA</name>
              <description>Wait For Activity</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>INSEL</name>
              <description>input selection</description>
              <bitOffset>16</bitOffset>
              <bitWidth>3</bitWidth>
            </field>
            <field>
              <name>CKSEN</name>
              <description>Symbol Clock Enable</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CKSBKPEN</name>
              <description>Backup Symbol Clock Enable</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>IMR</name>
          <displayName>IMR</displayName>
          <description>Interrupt mask register</description>
          <addressOffset>0x4</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>RXNEIE</name>
              <description>RXNE interrupt enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CSRNEIE</name>
              <description>Control Buffer Ready Interrupt
              Enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>PERRIE</name>
              <description>Parity error interrupt
              enable</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>OVRIE</name>
              <description>Overrun error Interrupt
              Enable</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SBLKIE</name>
              <description>Synchronization Block Detected Interrupt
              Enable</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SYNCDIE</name>
              <description>Synchronization Done</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IFEIE</name>
              <description>Serial Interface Error Interrupt
              Enable</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>SR</name>
          <displayName>SR</displayName>
          <description>Status register</description>
          <addressOffset>0x8</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>RXNE</name>
              <description>Read data register not
              empty</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CSRNE</name>
              <description>Control Buffer register is not
              empty</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>PERR</name>
              <description>Parity error</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>OVR</name>
              <description>Overrun error</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SBD</name>
              <description>Synchronization Block
              Detected</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SYNCD</name>
              <description>Synchronization Done</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>FERR</name>
              <description>Framing error</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SERR</name>
              <description>Synchronization error</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TERR</name>
              <description>Time-out error</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>WIDTH5</name>
              <description>Duration of 5 symbols counted with
              SPDIF_CLK</description>
              <bitOffset>16</bitOffset>
              <bitWidth>15</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>IFCR</name>
          <displayName>IFCR</displayName>
          <description>Interrupt Flag Clear register</description>
          <addressOffset>0xC</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>PERRCF</name>
              <description>Clears the Parity error
              flag</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>OVRCF</name>
              <description>Clears the Overrun error
              flag</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SBDCF</name>
              <description>Clears the Synchronization Block
              Detected flag</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SYNCDCF</name>
              <description>Clears the Synchronization Done
              flag</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DR_00</name>
          <displayName>DR_00</displayName>
          <description>Data input register</description>
          <addressOffset>0x10</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DR</name>
              <description>Parity Error bit</description>
              <bitOffset>0</bitOffset>
              <bitWidth>24</bitWidth>
            </field>
            <field>
              <name>PE</name>
              <description>Parity Error bit</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>V</name>
              <description>Validity bit</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>U</name>
              <description>User bit</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>C</name>
              <description>Channel Status bit</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>PT</name>
              <description>Preamble Type</description>
              <bitOffset>28</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CSR</name>
          <displayName>CSR</displayName>
          <description>Channel Status register</description>
          <addressOffset>0x14</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>USR</name>
              <description>User data information</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
            <field>
              <name>CS</name>
              <description>Channel A status
              information</description>
              <bitOffset>16</bitOffset>
              <bitWidth>8</bitWidth>
            </field>
            <field>
              <name>SOB</name>
              <description>Start Of Block</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DIR</name>
          <displayName>DIR</displayName>
          <description>Debug Information register</description>
          <addressOffset>0x18</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>THI</name>
              <description>Threshold HIGH</description>
              <bitOffset>0</bitOffset>
              <bitWidth>13</bitWidth>
            </field>
            <field>
              <name>TLO</name>
              <description>Threshold LOW</description>
              <bitOffset>16</bitOffset>
              <bitWidth>13</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>VERR</name>
          <displayName>VERR</displayName>
          <description>SPDIFRX version register</description>
          <addressOffset>0x3F4</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000012</resetValue>
          <fields>
            <field>
              <name>MINREV</name>
              <description>Minor revision</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>MAJREV</name>
              <description>Major revision</description>
              <bitOffset>4</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>IDR</name>
          <displayName>IDR</displayName>
          <description>SPDIFRX identification
          register</description>
          <addressOffset>0x3F8</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00130041</resetValue>
          <fields>
            <field>
              <name>ID</name>
              <description>SPDIFRX identifier</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>SIDR</name>
          <displayName>SIDR</displayName>
          <description>SPDIFRX size identification
          register</description>
          <addressOffset>0x3FC</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0xA3C5DD01</resetValue>
          <fields>
            <field>
              <name>SID</name>
              <description>Size identification</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DR_01</name>
          <displayName>DR_01</displayName>
          <description>Data input register</description>
          <alternateRegister>DR_00</alternateRegister>
          <addressOffset>0x10</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>PE</name>
              <description>Parity Error bit</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>V</name>
              <description>Validity bit</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>U</name>
              <description>User bit</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>C</name>
              <description>Channel Status bit</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>PT</name>
              <description>Preamble Type</description>
              <bitOffset>4</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>DR</name>
              <description>Data value</description>
              <bitOffset>8</bitOffset>
              <bitWidth>24</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DR_10</name>
          <displayName>DR_10</displayName>
          <description>Data input register</description>
          <addressOffset>0x10</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DRNL1</name>
              <description>Data value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
            <field>
              <name>DRNL2</name>
              <description>Data value</description>
              <bitOffset>16</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>RAMECC1</name>
      <description>ECC controller is associated to each RAM
      area</description>
      <groupName>RAMECC</groupName>
      <baseAddress>0x52009000</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <registers>
        <register>
          <name>IER</name>
          <displayName>IER</displayName>
          <description>RAMECC interrupt enable
          register</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>GIE</name>
              <description>Global interrupt enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>GECCSEIE</name>
              <description>Global ECC single error interrupt
              enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>GECCDEIE</name>
              <description>Global ECC double error interrupt
              enable</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>GECCDEBWIE</name>
              <description>Global ECC double error on byte write
              (BW) interrupt enable</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <cluster>
          <dim>5</dim>
          <dimIncrement>0x20</dimIncrement>
          <dimIndex>1-5</dimIndex>
          <name>M%s</name>
          <description>Cluster M%s, containing M?CR, M?SR, M?FAR, M?FDRL, M?FDRH, M?FECR</description>
          <addressOffset>0x20</addressOffset>
          <register>
            <name>CR</name>
            <displayName>M1CR</displayName>
            <description>RAMECC monitor x configuration
          register</description>
            <addressOffset>0x0</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>ECCSEIE</name>
                <description>ECC single error interrupt
              enable</description>
                <bitOffset>2</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>ECCDEIE</name>
                <description>ECC double error interrupt
              enable</description>
                <bitOffset>3</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>ECCDEBWIE</name>
                <description>ECC double error on byte write (BW)
              interrupt enable</description>
                <bitOffset>4</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>ECCELEN</name>
                <description>ECC error latching enable</description>
                <bitOffset>5</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>SR</name>
            <displayName>M1SR</displayName>
            <description>RAMECC monitor x status
          register</description>
            <addressOffset>0x4</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>SEDCF</name>
                <description>ECC single error detected and corrected
              flag</description>
                <bitOffset>0</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>DEDF</name>
                <description>ECC double error detected
              flag</description>
                <bitOffset>1</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>DEBWDF</name>
                <description>ECC double error on byte write (BW)
              detected flag</description>
                <bitOffset>2</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>FAR</name>
            <displayName>M1FAR</displayName>
            <description>RAMECC monitor x failing address
          register</description>
            <addressOffset>0x8</addressOffset>
            <size>0x20</size>
            <access>read-only</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>FADD</name>
                <description>ECC error failing address</description>
                <bitOffset>0</bitOffset>
                <bitWidth>32</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>FDRL</name>
            <displayName>M1FDRL</displayName>
            <description>RAMECC monitor x failing data low
          register</description>
            <addressOffset>0xC</addressOffset>
            <size>0x20</size>
            <access>read-only</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>FDATAL</name>
                <description>Failing data low</description>
                <bitOffset>0</bitOffset>
                <bitWidth>32</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>FDRH</name>
            <displayName>M1FDRH</displayName>
            <description>RAMECC monitor x failing data high
          register</description>
            <addressOffset>0x10</addressOffset>
            <size>0x20</size>
            <access>read-only</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>FDATAH</name>
                <description>Failing data high (64-bit
              memory)</description>
                <bitOffset>0</bitOffset>
                <bitWidth>32</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>FECR</name>
            <displayName>M1FECR</displayName>
            <description>RAMECC monitor x failing ECC error code
          register</description>
            <addressOffset>0x14</addressOffset>
            <size>0x20</size>
            <access>read-only</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>FEC</name>
                <description>Failing error code</description>
                <bitOffset>0</bitOffset>
                <bitWidth>32</bitWidth>
              </field>
            </fields>
          </register>
        </cluster>
      </registers>
    </peripheral>
    <peripheral derivedFrom="RAMECC1">
      <name>RAMECC2</name>
      <description>ECC controller is associated to each RAM
      area</description>
      <groupName>RAMECC</groupName>
      <baseAddress>0x48023000</baseAddress>
    </peripheral>
    <peripheral>
      <name>RAMECC3</name>
      <description>ECC controller is associated to each RAM
      area</description>
      <groupName>RAMECC</groupName>
      <baseAddress>0x58027000</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <registers>
        <register derivedFrom="RAMECC1.IER">
          <name>IER</name>
          <displayName>IER</displayName>
          <description>RAMECC interrupt enable
          register</description>
          <addressOffset>0x0</addressOffset>
        </register>
        <cluster derivedFrom="RAMECC1.M%s">
          <dim>2</dim>
          <dimIncrement>0x20</dimIncrement>
          <dimIndex>1-2</dimIndex>
          <name>M%s</name>
          <description>Cluster M%s, containing M?CR, M?SR, M?FAR, M?FDRL, M?FDRH, M?FECR</description>
          <addressOffset>0x20</addressOffset>
        </cluster>
      </registers>
    </peripheral>
    <peripheral>
      <name>ADC3</name>
      <description>Analog to Digital Converter</description>
      <groupName>ADC</groupName>
      <baseAddress>0x58026000</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0xD1</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>ADC3</name>
        <description>ADC3 global interrupt</description>
        <value>127</value>
      </interrupt>
      <registers>
        <register>
          <name>ISR</name>
          <displayName>ISR</displayName>
          <description>ADC interrupt and status
          register</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>JQOVF</name>
              <description>ADC group injected contexts queue
              overflow flag</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>JQOVFR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoOverflow</name>
                  <description>No injected context queue overflow has occurred</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Overflow</name>
                  <description>Injected context queue overflow has occurred</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>JQOVFW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear injected context queue overflow flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>3</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-3</dimIndex>
              <name>AWD%s</name>
              <description>Analog watchdog %s flag</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>AWD1R</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoEvent</name>
                  <description>No analog watchdog event occurred</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Event</name>
                  <description>Analog watchdog event occurred</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>AWD1W</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear analog watchdog event occurred flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>JEOS</name>
              <description>ADC group injected end of sequence
              conversions flag</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>JEOSR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NotComplete</name>
                  <description>Injected sequence is not complete</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Complete</name>
                  <description>Injected sequence complete</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>JEOSW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear Injected sequence complete flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>JEOC</name>
              <description>ADC group injected end of unitary
              conversion flag</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>JEOCR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NotComplete</name>
                  <description>Injected conversion is not complete</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Complete</name>
                  <description>Injected conversion complete</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>JEOCW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear injected conversion complete flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OVR</name>
              <description>ADC group regular overrun
              flag</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>OVRR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoOverrun</name>
                  <description>No overrun occurred</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Overrun</name>
                  <description>Overrun occurred</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>OVRW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear overrun occurred flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EOS</name>
              <description>ADC group regular end of sequence
              conversions flag</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>EOSR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NotComplete</name>
                  <description>Regular sequence is not complete</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Complete</name>
                  <description>Regular sequence complete</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>EOSW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear regular sequence complete flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EOC</name>
              <description>ADC group regular end of unitary
              conversion flag</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>EOCR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NotComplete</name>
                  <description>Regular conversion is not complete</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Complete</name>
                  <description>Regular conversion complete</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>EOCW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear regular conversion complete flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EOSMP</name>
              <description>ADC group regular end of sampling
              flag</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>EOSMPR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NotEnded</name>
                  <description>End of sampling phase no yet reached</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Ended</name>
                  <description>End of sampling phase reached</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>EOSMPW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear end of sampling phase reached flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ADRDY</name>
              <description>ADC ready flag</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>ADRDYR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NotReady</name>
                  <description>ADC is not ready to start conversion</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Ready</name>
                  <description>ADC is ready to start conversion</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>ADRDYW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear ADC is ready to start conversion flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>IER</name>
          <displayName>IER</displayName>
          <description>ADC interrupt enable register</description>
          <addressOffset>0x4</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>JQOVFIE</name>
              <description>ADC group injected contexts queue
              overflow interrupt</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>JQOVFIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Injected context queue overflow interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Injected context queue overflow interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>3</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-3</dimIndex>
              <name>AWD%sIE</name>
              <description>Analog watchdog %s interrupt enable</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>AWD1IE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Analog watchdog interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Analog watchdog interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>JEOSIE</name>
              <description>ADC group injected end of sequence
              conversions interrupt</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>JEOSIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>End of injected sequence interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>End of injected sequence interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>JEOCIE</name>
              <description>ADC group injected end of unitary
              conversion interrupt</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>JEOCIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>End of injected conversion interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>End of injected conversion interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OVRIE</name>
              <description>ADC group regular overrun
              interrupt</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>OVRIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Overrun interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Overrun interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EOSIE</name>
              <description>ADC group regular end of sequence
              conversions interrupt</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>EOSIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>End of regular sequence interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>End of regular sequence interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EOCIE</name>
              <description>ADC group regular end of unitary
              conversion interrupt</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>EOCIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>End of regular conversion interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>End of regular conversion interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EOSMPIE</name>
              <description>ADC group regular end of sampling
              interrupt</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>EOSMPIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>End of regular conversion sampling phase interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>End of regular conversion sampling phase interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ADRDYIE</name>
              <description>ADC ready interrupt</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ADRDYIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>ADC ready interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>ADC ready interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CR</name>
          <displayName>CR</displayName>
          <description>ADC control register</description>
          <addressOffset>0x8</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>ADCAL</name>
              <description>ADC calibration</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToSet</modifiedWriteValues>
              <enumeratedValues>
                <name>ADCALR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NotCalibrating</name>
                  <description>ADC calibration either not yet performed or completed</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Calibrating</name>
                  <description>ADC calibration in progress</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>ADCALW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>StartCalibration</name>
                  <description>Start the ADC calibration sequence</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ADCALDIF</name>
              <description>ADC differential mode for
              calibration</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ADCALDIF</name>
                <enumeratedValue>
                  <name>SingleEnded</name>
                  <description>Calibration for single-ended mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Differential</name>
                  <description>Calibration for differential mode</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DEEPPWD</name>
              <description>ADC deep power down enable</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DEEPPWD</name>
                <enumeratedValue>
                  <name>PowerUp</name>
                  <description>ADC not in deep power down</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PowerDown</name>
                  <description>ADC in deep power down</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ADVREGEN</name>
              <description>ADC voltage regulator
              enable</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ADVREGEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>ADC voltage regulator disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>ADC voltage regulator enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>6</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-6</dimIndex>
              <name>LINCALRDYW%s</name>
              <description>Linearity calibration ready Word %s</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>LINCALRDYW1</name>
                <enumeratedValue>
                  <name>Reset</name>
                  <description>LINCALFACT Word Read</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Set</name>
                  <description>LINCALFACT Word Write</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ADCALLIN</name>
              <description>Linearity calibration</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ADCALLIN</name>
                <enumeratedValue>
                  <name>NoLinearity</name>
                  <description>ADC calibration without linearaity calibration</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Linearity</name>
                  <description>ADC calibration with linearaity calibration</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BOOST</name>
              <description>Boost mode control</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ADSTP</name>
              <description>ADC group regular conversion
              stop</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToSet</modifiedWriteValues>
              <enumeratedValues>
                <name>ADSTPR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NotStopping</name>
                  <description>No stop command active</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Stopping</name>
                  <description>ADC stopping conversion</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>ADSTPW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>StopConversion</name>
                  <description>Stop the active conversion</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>JADSTP</name>
              <description>ADC group injected conversion
              stop</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToSet</modifiedWriteValues>
              <enumeratedValues derivedFrom="ADSTPR">
                <usage>read</usage>
              </enumeratedValues>
              <enumeratedValues derivedFrom="ADSTPW">
                <usage>write</usage>
              </enumeratedValues>
            </field>
            <field>
              <name>ADSTART</name>
              <description>ADC group regular conversion
              start</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToSet</modifiedWriteValues>
              <enumeratedValues>
                <name>ADSTARTR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NotActive</name>
                  <description>No conversion ongoing</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Active</name>
                  <description>ADC operating and may be converting</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>ADSTARTW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>StartConversion</name>
                  <description>Start the ADC conversion (may be delayed for hardware triggers)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>JADSTART</name>
              <description>ADC group injected conversion
              start</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToSet</modifiedWriteValues>
              <enumeratedValues derivedFrom="ADSTARTR">
                <usage>read</usage>
              </enumeratedValues>
              <enumeratedValues derivedFrom="ADSTARTW">
                <usage>write</usage>
              </enumeratedValues>
            </field>
            <field>
              <name>ADDIS</name>
              <description>ADC disable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToSet</modifiedWriteValues>
              <enumeratedValues>
                <name>ADDISR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NotDisabling</name>
                  <description>No disable command active</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Disabling</name>
                  <description>ADC disabling</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>ADDISW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Disable</name>
                  <description>Disable the ADC</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ADEN</name>
              <description>ADC enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToSet</modifiedWriteValues>
              <enumeratedValues>
                <name>ADENR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>ADC disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>ADC enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>ADENW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Enable the ADC</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CFGR</name>
          <displayName>CFGR</displayName>
          <description>ADC configuration register 1</description>
          <addressOffset>0xC</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>JQDIS</name>
              <description>ADC group injected contexts queue
              disable</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>JQDIS</name>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Injected Queue enabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Injected Queue disabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>AWD1CH</name>
              <description>ADC analog watchdog 1 monitored channel
              selection</description>
              <bitOffset>26</bitOffset>
              <bitWidth>5</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>19</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>JAUTO</name>
              <description>ADC group injected automatic trigger
              mode</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>JAUTO</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Automatic injected group conversion disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Automatic injected group conversion enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>JAWD1EN</name>
              <description>ADC analog watchdog 1 enable on scope
              ADC group injected</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>JAWD1EN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Analog watchdog 1 disabled on injected channels</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Analog watchdog 1 enabled on injected channels</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>AWD1EN</name>
              <description>ADC analog watchdog 1 enable on scope
              ADC group regular</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>AWD1EN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Analog watchdog 1 disabled on regular channels</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Analog watchdog 1 enabled on regular channels</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>AWD1SGL</name>
              <description>ADC analog watchdog 1 monitoring a
              single channel or all channels</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>AWD1SGL</name>
                <enumeratedValue>
                  <name>All</name>
                  <description>Analog watchdog 1 enabled on all channels</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Single</name>
                  <description>Analog watchdog 1 enabled on single channel selected in AWD1CH</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>JQM</name>
              <description>ADC group injected contexts queue
              mode</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>JQM</name>
                <enumeratedValue>
                  <name>Mode0</name>
                  <description>JSQR Mode 0: Queue maintains the last written configuration into JSQR</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Mode1</name>
                  <description>JSQR Mode 1: An empty queue disables software and hardware triggers of the injected sequence</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>JDISCEN</name>
              <description>ADC group injected sequencer
              discontinuous mode</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>JDISCEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Discontinuous mode on injected channels disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Discontinuous mode on injected channels enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DISCNUM</name>
              <description>ADC group regular sequencer
              discontinuous number of ranks</description>
              <bitOffset>17</bitOffset>
              <bitWidth>3</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>7</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>DISCEN</name>
              <description>ADC group regular sequencer
              discontinuous mode</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DISCEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Discontinuous mode on regular channels disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Discontinuous mode on regular channels enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>AUTDLY</name>
              <description>ADC low power auto wait</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>AUTDLY</name>
                <enumeratedValue>
                  <name>Off</name>
                  <description>Auto delayed conversion mode off</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>On</name>
                  <description>Auto delayed conversion mode on</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CONT</name>
              <description>ADC group regular continuous conversion
              mode</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CONT</name>
                <enumeratedValue>
                  <name>Single</name>
                  <description>Single conversion mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Continuous</name>
                  <description>Continuous conversion mode</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OVRMOD</name>
              <description>ADC group regular overrun
              configuration</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>OVRMOD</name>
                <enumeratedValue>
                  <name>Preserve</name>
                  <description>Preserve DR register when an overrun is detected</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Overwrite</name>
                  <description>Overwrite DR register when an overrun is detected</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EXTEN</name>
              <description>ADC group regular external trigger
              polarity</description>
              <bitOffset>10</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>EXTEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Trigger detection disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>RisingEdge</name>
                  <description>Trigger detection on the rising edge</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FallingEdge</name>
                  <description>Trigger detection on the falling edge</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>BothEdges</name>
                  <description>Trigger detection on both the rising and falling edges</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EXTSEL</name>
              <description>ADC group regular external trigger
              source</description>
              <bitOffset>5</bitOffset>
              <bitWidth>5</bitWidth>
              <enumeratedValues>
                <name>EXTSEL</name>
                <enumeratedValue>
                  <name>TIM1_CC1</name>
                  <description>Timer 1 CC1 event</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TIM1_CC2</name>
                  <description>Timer 1 CC2 event</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TIM1_CC3</name>
                  <description>Timer 1 CC3 event</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TIM2_CC2</name>
                  <description>Timer 2 CC2 event</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TIM3_TRGO</name>
                  <description>Timer 3 TRGO event</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TIM4_CC4</name>
                  <description>Timer 4 CC4 event</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>EXTI11</name>
                  <description>EXTI line 11</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TIM8_TRGO</name>
                  <description>Timer 8 TRGO event</description>
                  <value>7</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TIM8_TRGO2</name>
                  <description>Timer 8 TRGO2 event</description>
                  <value>8</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TIM1_TRGO</name>
                  <description>Timer 1 TRGO event</description>
                  <value>9</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TIM1_TRGO2</name>
                  <description>Timer 1 TRGO2 event</description>
                  <value>10</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TIM2_TRGO</name>
                  <description>Timer 2 TRGO event</description>
                  <value>11</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TIM4_TRGO</name>
                  <description>Timer 4 TRGO event</description>
                  <value>12</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TIM6_TRGO</name>
                  <description>Timer 6 TRGO event</description>
                  <value>13</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TIM15_TRGO</name>
                  <description>Timer 15 TRGO event</description>
                  <value>14</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TIM3_CC4</name>
                  <description>Timer 3 CC4 event</description>
                  <value>15</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HRTIM1_ADCTRG1</name>
                  <description>HRTIM1_ADCTRG1 event</description>
                  <value>16</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HRTIM1_ADCTRG3</name>
                  <description>HRTIM1_ADCTRG3 event</description>
                  <value>17</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LPTIM1_OUT</name>
                  <description>LPTIM1_OUT event</description>
                  <value>18</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LPTIM2_OUT</name>
                  <description>LPTIM2_OUT event</description>
                  <value>19</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LPTIM3_OUT</name>
                  <description>LPTIM3_OUT event</description>
                  <value>20</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RES</name>
              <description>ADC data resolution</description>
              <bitOffset>2</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>DMNGT</name>
              <description>ADC DMA transfer enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>DMNGT</name>
                <enumeratedValue>
                  <name>DR</name>
                  <description>Store output data in DR only</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DMA_OneShot</name>
                  <description>DMA One Shot Mode selected</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DFSDM</name>
                  <description>DFSDM mode selected</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DMA_Circular</name>
                  <description>DMA Circular Mode selected</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CFGR2</name>
          <displayName>CFGR2</displayName>
          <description>ADC configuration register 2</description>
          <addressOffset>0x10</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>ROVSE</name>
              <description>ADC oversampler enable on scope ADC
              group regular</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ROVSE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Regular oversampling disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Regular oversampling enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>JOVSE</name>
              <description>ADC oversampler enable on scope ADC
              group injected</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>JOVSE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Injected oversampling disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Injected oversampling enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OVSS</name>
              <description>ADC oversampling shift</description>
              <bitOffset>5</bitOffset>
              <bitWidth>4</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>11</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>TROVS</name>
              <description>ADC oversampling discontinuous mode
              (triggered mode) for ADC group regular</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TROVS</name>
                <enumeratedValue>
                  <name>Automatic</name>
                  <description>All oversampled conversions for a channel are run following a trigger</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Triggered</name>
                  <description>Each oversampled conversion for a channel needs a new trigger</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ROVSM</name>
              <description>Regular Oversampling mode</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ROVSM</name>
                <enumeratedValue>
                  <name>Continued</name>
                  <description>Oversampling is temporary stopped and continued after injection sequence</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Resumed</name>
                  <description>Oversampling is aborted and resumed from start after injection sequence</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>4</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-4</dimIndex>
              <name>RSHIFT%s</name>
              <description>Right-shift data after Offset %s correction</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RSHIFT1</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Right-shifting disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Data is right-shifted 1-bit</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OSVR</name>
              <description>Oversampling ratio</description>
              <bitOffset>16</bitOffset>
              <bitWidth>10</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>1023</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>LSHIFT</name>
              <description>Left shift factor</description>
              <bitOffset>28</bitOffset>
              <bitWidth>4</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>SMPR1</name>
          <displayName>SMPR1</displayName>
          <description>ADC sampling time register 1</description>
          <addressOffset>0x14</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>10</dim>
              <dimIncrement>0x3</dimIncrement>
              <dimIndex>0-9</dimIndex>
              <name>SMP%s</name>
              <description>Channel %s sample time selection</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>SMP0</name>
                <enumeratedValue>
                  <name>Cycles1_5</name>
                  <description>1.5 ADC clock cycles</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Cycles2_5</name>
                  <description>2.5 ADC clock cycles</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Cycles8_5</name>
                  <description>8.5 ADC clock cycles</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Cycles16_5</name>
                  <description>16.5 ADC clock cycles</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Cycles32_5</name>
                  <description>32.5 ADC clock cycles</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Cycles64_5</name>
                  <description>64.5 ADC clock cycles</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Cycles387_5</name>
                  <description>387.5 ADC clock cycles</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Cycles810_5</name>
                  <description>810.5 ADC clock cycles</description>
                  <value>7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>SMPR2</name>
          <displayName>SMPR2</displayName>
          <description>ADC sampling time register 2</description>
          <addressOffset>0x18</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field derivedFrom="ADC3.SMPR1.SMP%s">
              <dim>10</dim>
              <dimIncrement>0x3</dimIncrement>
              <dimIndex>10-19</dimIndex>
              <name>SMP%s</name>
              <description>Channel %s sample time selection</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>LTR1</name>
          <displayName>LTR1</displayName>
          <description>ADC analog watchdog 1 threshold
          register</description>
          <addressOffset>0x20</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x0FFF0000</resetValue>
          <fields>
            <field>
              <name>LTR1</name>
              <description>ADC analog watchdog 1 threshold
              low</description>
              <bitOffset>0</bitOffset>
              <bitWidth>26</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>67108863</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>HTR1</name>
          <displayName>LHTR1</displayName>
          <description>ADC analog watchdog 2 threshold
          register</description>
          <addressOffset>0x24</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x0FFF0000</resetValue>
          <fields>
            <field>
              <name>HTR1</name>
              <description>ADC analog watchdog 2 threshold
              low</description>
              <bitOffset>0</bitOffset>
              <bitWidth>26</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>67108863</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>SQR1</name>
          <displayName>SQR1</displayName>
          <description>ADC group regular sequencer ranks register
          1</description>
          <addressOffset>0x30</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>4</dim>
              <dimIncrement>0x6</dimIncrement>
              <dimIndex>1-4</dimIndex>
              <name>SQ%s</name>
              <description>%s conversion in regular sequence</description>
              <bitOffset>6</bitOffset>
              <bitWidth>5</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>19</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>L</name>
              <description>L3</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>SQR2</name>
          <displayName>SQR2</displayName>
          <description>ADC group regular sequencer ranks register
          2</description>
          <addressOffset>0x34</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field derivedFrom="ADC3.SQR1.SQ%s">
              <dim>5</dim>
              <dimIncrement>0x6</dimIncrement>
              <dimIndex>5-9</dimIndex>
              <name>SQ%s</name>
              <description>%s conversion in regular sequence</description>
              <bitOffset>0</bitOffset>
              <bitWidth>5</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>SQR3</name>
          <displayName>SQR3</displayName>
          <description>ADC group regular sequencer ranks register
          3</description>
          <addressOffset>0x38</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field derivedFrom="ADC3.SQR1.SQ%s">
              <dim>5</dim>
              <dimIncrement>0x6</dimIncrement>
              <dimIndex>10-14</dimIndex>
              <name>SQ%s</name>
              <description>%s conversion in regular sequence</description>
              <bitOffset>0</bitOffset>
              <bitWidth>5</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>SQR4</name>
          <displayName>SQR4</displayName>
          <description>ADC group regular sequencer ranks register
          4</description>
          <addressOffset>0x3C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field derivedFrom="ADC3.SQR1.SQ%s">
              <dim>2</dim>
              <dimIncrement>0x6</dimIncrement>
              <dimIndex>15-16</dimIndex>
              <name>SQ%s</name>
              <description>%s conversion in regular sequence</description>
              <bitOffset>0</bitOffset>
              <bitWidth>5</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DR</name>
          <displayName>DR</displayName>
          <description>ADC group regular conversion data
          register</description>
          <addressOffset>0x40</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>RDATA</name>
              <description>ADC group regular conversion
              data</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>JSQR</name>
          <displayName>JSQR</displayName>
          <description>ADC group injected sequencer
          register</description>
          <addressOffset>0x4C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>4</dim>
              <dimIncrement>0x6</dimIncrement>
              <dimIndex>1-4</dimIndex>
              <name>JSQ%s</name>
              <description>%s conversion in injected sequence</description>
              <bitOffset>9</bitOffset>
              <bitWidth>5</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>19</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>JEXTEN</name>
              <description>ADC group injected external trigger
              polarity</description>
              <bitOffset>7</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>JEXTEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Trigger detection disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>RisingEdge</name>
                  <description>Trigger detection on the rising edge</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FallingEdge</name>
                  <description>Trigger detection on the falling edge</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>BothEdges</name>
                  <description>Trigger detection on both the rising and falling edges</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>JEXTSEL</name>
              <description>ADC group injected external trigger
              source</description>
              <bitOffset>2</bitOffset>
              <bitWidth>5</bitWidth>
              <enumeratedValues>
                <name>JEXTSEL</name>
                <enumeratedValue>
                  <name>TIM1_TRGO</name>
                  <description>Timer 1 TRGO event</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TIM1_CC4</name>
                  <description>Timer 1 CC4 event</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TIM2_TRGO</name>
                  <description>Timer 2 TRGO event</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TIM2_CC1</name>
                  <description>Timer 2 CC1 event</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TIM3_CC4</name>
                  <description>Timer 3 CC4 event</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TIM4_TRGO</name>
                  <description>Timer 4 TRGO event</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>EXTI15</name>
                  <description>EXTI line 15</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TIM8_CC4</name>
                  <description>Timer 8 CC4 event</description>
                  <value>7</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TIM1_TRGO2</name>
                  <description>Timer 1 TRGO2 event</description>
                  <value>8</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TIM8_TRGO</name>
                  <description>Timer 8 TRGO event</description>
                  <value>9</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TIM8_TRGO2</name>
                  <description>Timer 8 TRGO2 event</description>
                  <value>10</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TIM3_CC3</name>
                  <description>Timer 3 CC3 event</description>
                  <value>11</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TIM3_TRGO</name>
                  <description>Timer 3 TRGO event</description>
                  <value>12</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TIM3_CC1</name>
                  <description>Timer 3 CC1 event</description>
                  <value>13</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TIM6_TRGO</name>
                  <description>Timer 6 TRGO event</description>
                  <value>14</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TIM15_TRGO</name>
                  <description>Timer 15 TRGO event</description>
                  <value>15</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HRTIM1_ADCTRG2</name>
                  <description>HRTIM1_ADCTRG2 event</description>
                  <value>16</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HRTIM1_ADCTRG4</name>
                  <description>HRTIM1_ADCTRG4 event</description>
                  <value>17</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LPTIM1_OUT</name>
                  <description>LPTIM1_OUT event</description>
                  <value>18</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LPTIM2_OUT</name>
                  <description>LPTIM2_OUT event</description>
                  <value>19</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LPTIM3_OUT</name>
                  <description>LPTIM3_OUT event</description>
                  <value>20</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>JL</name>
              <description>ADC group injected sequencer scan
              length</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>3</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <dim>4</dim>
          <dimIncrement>0x4</dimIncrement>
          <dimIndex>1-4</dimIndex>
          <name>OFR%s</name>
          <displayName>OFR%s</displayName>
          <description>ADC offset number %s register</description>
          <addressOffset>0x60</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>SSATE</name>
              <description>Signed saturation enable</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SSATE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Offset is subtracted maintaining data integrity and extending result size (9-bit and 17-bit signed format)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Offset is subtracted and result is saturated to maintain result size</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OFFSET_CH</name>
              <description>Channel selection for the data offset X</description>
              <bitOffset>26</bitOffset>
              <bitWidth>5</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>31</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>OFFSET</name>
              <description>Data offset X for the channel programmed into bits OFFSET_CH</description>
              <bitOffset>0</bitOffset>
              <bitWidth>26</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>67108863</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <dim>4</dim>
          <dimIncrement>0x4</dimIncrement>
          <dimIndex>1-4</dimIndex>
          <name>JDR%s</name>
          <displayName>JDR%s</displayName>
          <description>ADC group injected sequencer rank %s
          register</description>
          <addressOffset>0x80</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>JDATA</name>
              <description>Injected data</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>AWD2CR</name>
          <displayName>AWD2CR</displayName>
          <description>ADC analog watchdog 2 configuration
          register</description>
          <addressOffset>0xA0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>20</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>0-19</dimIndex>
              <name>AWD2CH%s</name>
              <description>ADC analog watchdog 2 monitored channel
              selection</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>AWD2CH0</name>
                <enumeratedValue>
                  <name>NotMonitored</name>
                  <description>Input channel not monitored by AWDx</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Monitored</name>
                  <description>Input channel monitored by AWDx</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>AWD3CR</name>
          <displayName>AWD3CR</displayName>
          <description>ADC analog watchdog 3 configuration
          register</description>
          <addressOffset>0xA4</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>20</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>0-19</dimIndex>
              <name>AWD3CH%s</name>
              <description>ADC analog watchdog 3 monitored channel
              selection</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>AWD3CH0</name>
                <enumeratedValue>
                  <name>NotMonitored</name>
                  <description>Input channel not monitored by AWDx</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Monitored</name>
                  <description>Input channel monitored by AWDx</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>DIFSEL</name>
          <displayName>DIFSEL</displayName>
          <description>ADC channel differential or single-ended
          mode selection register</description>
          <addressOffset>0xC0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>20</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>0-19</dimIndex>
              <name>DIFSEL%s</name>
              <description>Differential mode for channel %s</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DIFSEL0</name>
                <enumeratedValue>
                  <name>SingleEnded</name>
                  <description>Input channel is configured in single-ended mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Differential</name>
                  <description>Input channel is configured in differential mode</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CALFACT</name>
          <displayName>CALFACT</displayName>
          <description>ADC calibration factors
          register</description>
          <addressOffset>0xC4</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CALFACT_D</name>
              <description>ADC calibration factor in differential
              mode</description>
              <bitOffset>16</bitOffset>
              <bitWidth>11</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>2047</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>CALFACT_S</name>
              <description>ADC calibration factor in single-ended
              mode</description>
              <bitOffset>0</bitOffset>
              <bitWidth>11</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>2047</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>CCR</name>
          <displayName>CCR</displayName>
          <description>ADC common control register</description>
          <alternateRegister>CR</alternateRegister>
          <addressOffset>0x8</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CKMODE</name>
              <description>ADC clock mode</description>
              <bitOffset>16</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>PRESC</name>
              <description>ADC prescaler</description>
              <bitOffset>18</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>VREFEN</name>
              <description>VREFINT enable</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>VSENSEEN</name>
              <description>Temperature sensor enable</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>VBATEN</name>
              <description>VBAT enable</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>PCSEL</name>
          <displayName>PCSEL</displayName>
          <description>ADC pre channel selection
          register</description>
          <addressOffset>0x1C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>PCSEL</name>
              <description>Channel x (VINP[i]) pre
              selection</description>
              <bitOffset>0</bitOffset>
              <bitWidth>20</bitWidth>
              <enumeratedValues>
                <name>PCSEL</name>
                <enumeratedValue>
                  <name>NotPreselected</name>
                  <description>Input channel x is not pre-selected</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Preselected</name>
                  <description>Pre-select input channel x</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>LTR2</name>
          <displayName>LTR2</displayName>
          <description>ADC watchdog lower threshold register
          2</description>
          <addressOffset>0xB0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>LTR2</name>
              <description>Analog watchdog 2 lower
              threshold</description>
              <bitOffset>0</bitOffset>
              <bitWidth>26</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>67108863</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>HTR2</name>
          <displayName>HTR2</displayName>
          <description>ADC watchdog higher threshold register
          2</description>
          <addressOffset>0xB4</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>HTR2</name>
              <description>Analog watchdog 2 higher
              threshold</description>
              <bitOffset>0</bitOffset>
              <bitWidth>26</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>67108863</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>LTR3</name>
          <displayName>LTR3</displayName>
          <description>ADC watchdog lower threshold register
          3</description>
          <addressOffset>0xB8</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>LTR3</name>
              <description>Analog watchdog 3 lower
              threshold</description>
              <bitOffset>0</bitOffset>
              <bitWidth>26</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>67108863</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>HTR3</name>
          <displayName>HTR3</displayName>
          <description>ADC watchdog higher threshold register
          3</description>
          <addressOffset>0xBC</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>HTR3</name>
              <description>Analog watchdog 3 higher
              threshold</description>
              <bitOffset>0</bitOffset>
              <bitWidth>26</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>67108863</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>CALFACT2</name>
          <displayName>CALFACT2</displayName>
          <description>ADC Calibration Factor register
          2</description>
          <addressOffset>0xC8</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>LINCALFACT</name>
              <description>Linearity Calibration
              Factor</description>
              <bitOffset>0</bitOffset>
              <bitWidth>30</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>1073741823</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral derivedFrom="ADC3">
      <name>ADC1</name>
      <baseAddress>0x40022000</baseAddress>
      <interrupt>
        <name>ADC1_2</name>
        <description>ADC1 and ADC2</description>
        <value>18</value>
      </interrupt>
    </peripheral>
    <peripheral derivedFrom="ADC3">
      <name>ADC2</name>
      <baseAddress>0x40022100</baseAddress>
    </peripheral>
    <peripheral>
      <name>ADC3_Common</name>
      <description>Analog-to-Digital Converter</description>
      <groupName>ADC</groupName>
      <baseAddress>0x58026300</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x11</size>
        <usage>registers</usage>
      </addressBlock>
      <registers>
        <register>
          <name>CSR</name>
          <displayName>CSR</displayName>
          <description>ADC Common status register</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>ADRDY_MST</name>
              <description>Master ADC ready</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ADRDY_MST</name>
                <enumeratedValue>
                  <name>NotReady</name>
                  <description>ADC is not ready to start conversion</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Ready</name>
                  <description>ADC is ready to start conversion</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EOSMP_MST</name>
              <description>End of Sampling phase flag of the master
              ADC</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>EOSMP_MST</name>
                <enumeratedValue>
                  <name>NotEnded</name>
                  <description>End of sampling phase no yet reached</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Ended</name>
                  <description>End of sampling phase reached</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EOC_MST</name>
              <description>End of regular conversion of the master
              ADC</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>EOC_MST</name>
                <enumeratedValue>
                  <name>NotComplete</name>
                  <description>Regular conversion is not complete</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Complete</name>
                  <description>Regular conversion complete</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EOS_MST</name>
              <description>End of regular sequence flag of the
              master ADC</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>EOS_MST</name>
                <enumeratedValue>
                  <name>NotComplete</name>
                  <description>Regular sequence is not complete</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Complete</name>
                  <description>Regular sequence complete</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OVR_MST</name>
              <description>Overrun flag of the master
              ADC</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>OVR_MST</name>
                <enumeratedValue>
                  <name>NoOverrun</name>
                  <description>No overrun occurred</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Overrun</name>
                  <description>Overrun occurred</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>JEOC_MST</name>
              <description>End of injected conversion flag of the
              master ADC</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>JEOC_MST</name>
                <enumeratedValue>
                  <name>NotComplete</name>
                  <description>Injected conversion is not complete</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Complete</name>
                  <description>Injected conversion complete</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>JEOS_MST</name>
              <description>End of injected sequence flag of the
              master ADC</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>JEOS_MST</name>
                <enumeratedValue>
                  <name>NotComplete</name>
                  <description>Injected sequence is not complete</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Complete</name>
                  <description>Injected sequence complete</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>AWD1_MST</name>
              <description>Analog watchdog 1 flag of the master
              ADC</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>AWD1_MST</name>
                <enumeratedValue>
                  <name>NoEvent</name>
                  <description>No analog watchdog event occurred</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Event</name>
                  <description>Analog watchdog event occurred</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>AWD2_MST</name>
              <description>Analog watchdog 2 flag of the master
              ADC</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="AWD1_MST"/>
            </field>
            <field>
              <name>AWD3_MST</name>
              <description>Analog watchdog 3 flag of the master
              ADC</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="AWD1_MST"/>
            </field>
            <field>
              <name>JQOVF_MST</name>
              <description>Injected Context Queue Overflow flag of
              the master ADC</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>JQOVF_MST</name>
                <enumeratedValue>
                  <name>NoOverflow</name>
                  <description>No injected context queue overflow has occurred</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Overflow</name>
                  <description>Injected context queue overflow has occurred</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ADRDY_SLV</name>
              <description>Slave ADC ready</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="ADRDY_MST"/>
            </field>
            <field>
              <name>EOSMP_SLV</name>
              <description>End of Sampling phase flag of the slave
              ADC</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EOSMP_MST"/>
            </field>
            <field>
              <name>EOC_SLV</name>
              <description>End of regular conversion of the slave
              ADC</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EOC_MST"/>
            </field>
            <field>
              <name>EOS_SLV</name>
              <description>End of regular sequence flag of the
              slave ADC</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EOS_MST"/>
            </field>
            <field>
              <name>OVR_SLV</name>
              <description>Overrun flag of the slave
              ADC</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="OVR_MST"/>
            </field>
            <field>
              <name>JEOC_SLV</name>
              <description>End of injected conversion flag of the
              slave ADC</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="JEOC_MST"/>
            </field>
            <field>
              <name>JEOS_SLV</name>
              <description>End of injected sequence flag of the
              slave ADC</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="JEOS_MST"/>
            </field>
            <field>
              <name>AWD1_SLV</name>
              <description>Analog watchdog 1 flag of the slave
              ADC</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="AWD1_MST"/>
            </field>
            <field>
              <name>AWD2_SLV</name>
              <description>Analog watchdog 2 flag of the slave
              ADC</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="AWD1_MST"/>
            </field>
            <field>
              <name>AWD3_SLV</name>
              <description>Analog watchdog 3 flag of the slave
              ADC</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="AWD1_MST"/>
            </field>
            <field>
              <name>JQOVF_SLV</name>
              <description>Injected Context Queue Overflow flag of
              the slave ADC</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="JQOVF_MST"/>
            </field>
          </fields>
        </register>
        <register>
          <name>CCR</name>
          <displayName>CCR</displayName>
          <description>ADC common control register</description>
          <addressOffset>0x8</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DUAL</name>
              <description>Dual ADC mode selection</description>
              <bitOffset>0</bitOffset>
              <bitWidth>5</bitWidth>
              <enumeratedValues>
                <name>DUAL</name>
                <enumeratedValue>
                  <name>Independent</name>
                  <description>Independent mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DualRJ</name>
                  <description>Dual, combined regular simultaneous + injected simultaneous mode</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DualRA</name>
                  <description>Dual, combined regular simultaneous + alternate trigger mode</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DualIJ</name>
                  <description>Dual, combined interleaved mode + injected simultaneous mode</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DualJ</name>
                  <description>Dual, injected simultaneous mode only</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DualR</name>
                  <description>Dual, regular simultaneous mode only</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DualI</name>
                  <description>Dual, interleaved mode only</description>
                  <value>7</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DualA</name>
                  <description>Dual, alternate trigger mode only</description>
                  <value>9</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DELAY</name>
              <description>Delay between 2 sampling
              phases</description>
              <bitOffset>8</bitOffset>
              <bitWidth>4</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>DAMDF</name>
              <description>Dual ADC Mode Data Format</description>
              <bitOffset>14</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>DAMDF</name>
                <enumeratedValue>
                  <name>NoPack</name>
                  <description>Without data packing, CDR/CDR2 not used</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Format32to10</name>
                  <description>CDR formatted for 32-bit down to 10-bit resolution</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Format8</name>
                  <description>CDR formatted for 8-bit resolution</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CKMODE</name>
              <description>ADC clock mode</description>
              <bitOffset>16</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>CKMODE</name>
                <enumeratedValue>
                  <name>Asynchronous</name>
                  <description>Use Kernel Clock adc_ker_ck_input divided by PRESC. Asynchronous to AHB clock</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SyncDiv1</name>
                  <description>Use AHB clock rcc_hclk3. In this case rcc_hclk must equal sys_d1cpre_ck</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SyncDiv2</name>
                  <description>Use AHB clock rcc_hclk3 divided by 2</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SyncDiv4</name>
                  <description>Use AHB clock rcc_hclk3 divided by 4</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PRESC</name>
              <description>ADC prescaler</description>
              <bitOffset>18</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues>
                <name>PRESC</name>
                <enumeratedValue>
                  <name>Div1</name>
                  <description>adc_ker_ck_input not divided</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div2</name>
                  <description>adc_ker_ck_input divided by 2</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div4</name>
                  <description>adc_ker_ck_input divided by 4</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div6</name>
                  <description>adc_ker_ck_input divided by 6</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div8</name>
                  <description>adc_ker_ck_input divided by 8</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div10</name>
                  <description>adc_ker_ck_input divided by 10</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div12</name>
                  <description>adc_ker_ck_input divided by 12</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div16</name>
                  <description>adc_ker_ck_input divided by 16</description>
                  <value>7</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div32</name>
                  <description>adc_ker_ck_input divided by 32</description>
                  <value>8</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div64</name>
                  <description>adc_ker_ck_input divided by 64</description>
                  <value>9</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div128</name>
                  <description>adc_ker_ck_input divided by 128</description>
                  <value>10</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div256</name>
                  <description>adc_ker_ck_input divided by 256</description>
                  <value>11</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>VREFEN</name>
              <description>VREFINT enable</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>VREFEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>V_REFINT channel disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>V_REFINT channel enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>VSENSEEN</name>
              <description>Temperature sensor enable</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>VSENSEEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>The selected ADC channel disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>The selected ADC channel enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>VBATEN</name>
              <description>VBAT enable</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="VSENSEEN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>CDR</name>
          <displayName>CDR</displayName>
          <description>ADC common regular data register for dual
          and triple modes</description>
          <addressOffset>0xC</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>RDATA_SLV</name>
              <description>Regular data of the slave
              ADC</description>
              <bitOffset>16</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
            <field>
              <name>RDATA_MST</name>
              <description>Regular data of the master
              ADC</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral derivedFrom="ADC3_Common">
      <name>ADC12_Common</name>
      <baseAddress>0x40022300</baseAddress>
    </peripheral>
    <peripheral>
      <name>CRC</name>
      <description>Cryptographic processor</description>
      <groupName>CRC</groupName>
      <baseAddress>0x58024C00</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <registers>
        <register>
          <name>DR</name>
          <displayName>DR</displayName>
          <description>Data register</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0xFFFFFFFF</resetValue>
          <fields>
            <field>
              <name>DR</name>
              <description>Data Register</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4294967295</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>DR8</name>
          <description>Data register - byte sized</description>
          <alternateRegister>DR</alternateRegister>
          <addressOffset>0x0</addressOffset>
          <size>0x8</size>
          <access>read-write</access>
          <resetValue>0x000000FF</resetValue>
          <fields>
            <field>
              <name>DR8</name>
              <description>Data register bits</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>DR16</name>
          <description>Data register - half-word sized</description>
          <alternateRegister>DR</alternateRegister>
          <addressOffset>0x0</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x0000FFFF</resetValue>
          <fields>
            <field>
              <name>DR16</name>
              <description>Data register bits</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>IDR</name>
          <displayName>IDR</displayName>
          <description>Independent Data register</description>
          <addressOffset>0x4</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>IDR</name>
              <description>Independent Data register</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4294967295</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>CR</name>
          <displayName>CR</displayName>
          <description>Control register</description>
          <addressOffset>0x8</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>RESET</name>
              <description>RESET bit</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
              <enumeratedValues>
                <name>RESETW</name>
                <enumeratedValue>
                  <name>Reset</name>
                  <description>Resets the CRC calculation unit and sets the data register to 0xFFFF FFFF</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>POLYSIZE</name>
              <description>Polynomial size</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>POLYSIZE</name>
                <enumeratedValue>
                  <name>Polysize32</name>
                  <description>32-bit polynomial</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Polysize16</name>
                  <description>16-bit polynomial</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Polysize8</name>
                  <description>8-bit polynomial</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Polysize7</name>
                  <description>7-bit polynomial</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>REV_IN</name>
              <description>Reverse input data</description>
              <bitOffset>5</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>REV_IN</name>
                <enumeratedValue>
                  <name>Normal</name>
                  <description>Bit order not affected</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Byte</name>
                  <description>Bit reversal done by byte</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HalfWord</name>
                  <description>Bit reversal done by half-word</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Word</name>
                  <description>Bit reversal done by word</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>REV_OUT</name>
              <description>Reverse output data</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>REV_OUT</name>
                <enumeratedValue>
                  <name>Normal</name>
                  <description>Bit order not affected</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Reversed</name>
                  <description>Bit reversed output</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>INIT</name>
          <displayName>INIT</displayName>
          <description>Initial CRC value</description>
          <addressOffset>0x10</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0xFFFFFFFF</resetValue>
          <fields>
            <field>
              <name>INIT</name>
              <description>Programmable initial CRC
              value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4294967295</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>POL</name>
          <displayName>POL</displayName>
          <description>CRC polynomial</description>
          <addressOffset>0x14</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x04C11DB7</resetValue>
          <fields>
            <field>
              <name>POL</name>
              <description>Programmable polynomial</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4294967295</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>RCC</name>
      <description>Reset and clock control</description>
      <groupName>RCC</groupName>
      <baseAddress>0x58024400</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>RCC</name>
        <description>RCC global interrupt</description>
        <value>5</value>
      </interrupt>
      <registers>
        <register>
          <name>CR</name>
          <displayName>CR</displayName>
          <description>clock control register</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000083</resetValue>
          <fields>
            <field>
              <name>HSION</name>
              <description>Internal high-speed clock
              enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>HSION</name>
                <enumeratedValue>
                  <name>Off</name>
                  <description>Clock Off</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>On</name>
                  <description>Clock On</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>HSIKERON</name>
              <description>High Speed Internal clock enable in Stop
              mode</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="HSION"/>
            </field>
            <field>
              <name>HSIRDY</name>
              <description>HSI clock ready flag</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>HSIRDYR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NotReady</name>
                  <description>Clock not ready</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Ready</name>
                  <description>Clock ready</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>HSIDIV</name>
              <description>HSI clock divider</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>HSIDIV</name>
                <enumeratedValue>
                  <name>Div1</name>
                  <description>No division</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div2</name>
                  <description>Division by 2</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div4</name>
                  <description>Division by 4</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div8</name>
                  <description>Division by 8</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>HSIDIVF</name>
              <description>HSI divider flag</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>HSIDIVFR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NotPropagated</name>
                  <description>New HSIDIV ratio has not yet propagated to hsi_ck</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Propagated</name>
                  <description>HSIDIV ratio has propagated to hsi_ck</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CSION</name>
              <description>CSI clock enable</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="HSION"/>
            </field>
            <field>
              <name>CSIRDY</name>
              <description>CSI clock ready flag</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="HSIRDYR"/>
            </field>
            <field>
              <name>CSIKERON</name>
              <description>CSI clock enable in Stop
              mode</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="HSION"/>
            </field>
            <field>
              <name>HSI48ON</name>
              <description>RC48 clock enable</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="HSION"/>
            </field>
            <field>
              <name>HSI48RDY</name>
              <description>RC48 clock ready flag</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="HSIRDYR"/>
            </field>
            <field>
              <name>D1CKRDY</name>
              <description>D1 domain clocks ready
              flag</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="HSIRDYR"/>
            </field>
            <field>
              <name>D2CKRDY</name>
              <description>D2 domain clocks ready
              flag</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="HSIRDYR"/>
            </field>
            <field>
              <name>HSEON</name>
              <description>HSE clock enable</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="HSION"/>
            </field>
            <field>
              <name>HSERDY</name>
              <description>HSE clock ready flag</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="HSIRDYR"/>
            </field>
            <field>
              <name>HSEBYP</name>
              <description>HSE clock bypass</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>HSEBYP</name>
                <enumeratedValue>
                  <name>NotBypassed</name>
                  <description>HSE crystal oscillator not bypassed</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bypassed</name>
                  <description>HSE crystal oscillator bypassed with external clock</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>HSECSSON</name>
              <description>HSE Clock Security System
              enable</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="HSION"/>
            </field>
            <field>
              <name>PLL1ON</name>
              <description>PLL1 enable</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="HSION"/>
            </field>
            <field>
              <name>PLL1RDY</name>
              <description>PLL1 clock ready flag</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="HSIRDYR"/>
            </field>
            <field>
              <name>PLL2ON</name>
              <description>PLL2 enable</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="HSION"/>
            </field>
            <field>
              <name>PLL2RDY</name>
              <description>PLL2 clock ready flag</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="HSIRDYR"/>
            </field>
            <field>
              <name>PLL3ON</name>
              <description>PLL3 enable</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="HSION"/>
            </field>
            <field>
              <name>PLL3RDY</name>
              <description>PLL3 clock ready flag</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="HSIRDYR"/>
            </field>
          </fields>
        </register>
        <register>
          <name>ICSCR</name>
          <displayName>ICSCR</displayName>
          <description>RCC Internal Clock Source Calibration
          Register</description>
          <addressOffset>0x4</addressOffset>
          <size>0x20</size>
          <resetValue>0x40000000</resetValue>
          <fields>
            <field>
              <name>HSICAL</name>
              <description>HSI clock calibration</description>
              <bitOffset>0</bitOffset>
              <bitWidth>12</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>HSITRIM</name>
              <description>HSI clock trimming</description>
              <bitOffset>12</bitOffset>
              <bitWidth>6</bitWidth>
              <access>read-write</access>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>63</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>CSICAL</name>
              <description>CSI clock calibration</description>
              <bitOffset>18</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>CSITRIM</name>
              <description>CSI clock trimming</description>
              <bitOffset>26</bitOffset>
              <bitWidth>5</bitWidth>
              <access>read-write</access>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>31</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>HSICFGR</name>
          <displayName>HSICFGR</displayName>
          <description>RCC HSI configuration register</description>
          <alternateRegister>ICSCR</alternateRegister>
          <addressOffset>0x4</addressOffset>
          <size>0x20</size>
          <resetValue>0x40000000</resetValue>
          <fields>
            <field>
              <name>HSICAL</name>
              <description>HSI clock calibration</description>
              <bitOffset>0</bitOffset>
              <bitWidth>12</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>HSITRIM</name>
              <description>HSI clock trimming</description>
              <bitOffset>24</bitOffset>
              <bitWidth>7</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>CRRCR</name>
          <displayName>CRRCR</displayName>
          <description>RCC Clock Recovery RC Register</description>
          <addressOffset>0x8</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>HSI48CAL</name>
              <description>Internal RC 48 MHz clock
              calibration</description>
              <bitOffset>0</bitOffset>
              <bitWidth>10</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CFGR</name>
          <displayName>CFGR</displayName>
          <description>RCC Clock Configuration
          Register</description>
          <addressOffset>0x10</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>SW</name>
              <description>System clock switch</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>SW</name>
                <enumeratedValue>
                  <name>HSI</name>
                  <description>HSI selected as system clock</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CSI</name>
                  <description>CSI selected as system clock</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HSE</name>
                  <description>HSE selected as system clock</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PLL1</name>
                  <description>PLL1 selected as system clock</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SWS</name>
              <description>System clock switch status</description>
              <bitOffset>3</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>SWSR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>HSI</name>
                  <description>HSI oscillator used as system clock</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CSI</name>
                  <description>CSI oscillator used as system clock</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HSE</name>
                  <description>HSE oscillator used as system clock</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PLL1</name>
                  <description>PLL1 used as system clock</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>STOPWUCK</name>
              <description>System clock selection after a wake up
              from system Stop</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>STOPWUCK</name>
                <enumeratedValue>
                  <name>HSI</name>
                  <description>HSI selected as wake up clock from system Stop</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CSI</name>
                  <description>CSI selected as wake up clock from system Stop</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>STOPKERWUCK</name>
              <description>Kernel clock selection after a wake up
              from system Stop</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="STOPWUCK"/>
            </field>
            <field>
              <name>RTCPRE</name>
              <description>HSE division factor for RTC
              clock</description>
              <bitOffset>8</bitOffset>
              <bitWidth>6</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>63</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>HRTIMSEL</name>
              <description>High Resolution Timer clock prescaler
              selection</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>HRTIMSEL</name>
                <enumeratedValue>
                  <name>TIMY_KER</name>
                  <description>The HRTIM prescaler clock source is the same as other timers (rcc_timy_ker_ck)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>C_CK</name>
                  <description>The HRTIM prescaler clock source is the CPU clock (c_ck)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TIMPRE</name>
              <description>Timers clocks prescaler
              selection</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TIMPRE</name>
                <enumeratedValue>
                  <name>DefaultX2</name>
                  <description>Timer kernel clock equal to 2x pclk by default</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DefaultX4</name>
                  <description>Timer kernel clock equal to 4x pclk by default</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MCO1PRE</name>
              <description>MCO1 prescaler</description>
              <bitOffset>18</bitOffset>
              <bitWidth>4</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>MCO1</name>
              <description>Micro-controller clock output
              1</description>
              <bitOffset>22</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>MCO1</name>
                <enumeratedValue>
                  <name>HSI</name>
                  <description>HSI selected for micro-controller clock output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LSE</name>
                  <description>LSE selected for micro-controller clock output</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HSE</name>
                  <description>HSE selected for micro-controller clock output</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PLL1_Q</name>
                  <description>pll1_q selected for micro-controller clock output</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HSI48</name>
                  <description>HSI48 selected for micro-controller clock output</description>
                  <value>4</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MCO2PRE</name>
              <description>MCO2 prescaler</description>
              <bitOffset>25</bitOffset>
              <bitWidth>4</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>MCO2</name>
              <description>Micro-controller clock output
              2</description>
              <bitOffset>29</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>MCO2</name>
                <enumeratedValue>
                  <name>SYSCLK</name>
                  <description>System clock selected for micro-controller clock output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PLL2_P</name>
                  <description>pll2_p selected for micro-controller clock output</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HSE</name>
                  <description>HSE selected for micro-controller clock output</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PLL1_P</name>
                  <description>pll1_p selected for micro-controller clock output</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CSI</name>
                  <description>CSI selected for micro-controller clock output</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LSI</name>
                  <description>LSI selected for micro-controller clock output</description>
                  <value>5</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>D1CFGR</name>
          <displayName>D1CFGR</displayName>
          <description>RCC Domain 1 Clock Configuration
          Register</description>
          <addressOffset>0x18</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>HPRE</name>
              <description>D1 domain AHB prescaler</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues>
                <name>HPRE</name>
                <enumeratedValue>
                  <name>Div2</name>
                  <description>sys_ck divided by 2</description>
                  <value>8</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div4</name>
                  <description>sys_ck divided by 4</description>
                  <value>9</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div8</name>
                  <description>sys_ck divided by 8</description>
                  <value>10</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div16</name>
                  <description>sys_ck divided by 16</description>
                  <value>11</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div64</name>
                  <description>sys_ck divided by 64</description>
                  <value>12</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div128</name>
                  <description>sys_ck divided by 128</description>
                  <value>13</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div256</name>
                  <description>sys_ck divided by 256</description>
                  <value>14</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div512</name>
                  <description>sys_ck divided by 512</description>
                  <value>15</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div1</name>
                  <description>sys_ck not divided</description>
                  <isDefault>true</isDefault>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>D1PPRE</name>
              <description>D1 domain APB3 prescaler</description>
              <bitOffset>4</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>D1PPRE</name>
                <enumeratedValue>
                  <name>Div2</name>
                  <description>rcc_hclk divided by 2</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div4</name>
                  <description>rcc_hclk divided by 4</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div8</name>
                  <description>rcc_hclk divided by 8</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div16</name>
                  <description>rcc_hclk divided by 16</description>
                  <value>7</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div1</name>
                  <description>rcc_hclk not divided</description>
                  <isDefault>true</isDefault>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>D1CPRE</name>
              <description>D1 domain Core prescaler</description>
              <bitOffset>8</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues derivedFrom="HPRE"/>
            </field>
          </fields>
        </register>
        <register>
          <name>D2CFGR</name>
          <displayName>D2CFGR</displayName>
          <description>RCC Domain 2 Clock Configuration
          Register</description>
          <addressOffset>0x1C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>D2PPRE1</name>
              <description>D2 domain APB1 prescaler</description>
              <bitOffset>4</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>D2PPRE1</name>
                <enumeratedValue>
                  <name>Div2</name>
                  <description>rcc_hclk divided by 2</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div4</name>
                  <description>rcc_hclk divided by 4</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div8</name>
                  <description>rcc_hclk divided by 8</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div16</name>
                  <description>rcc_hclk divided by 16</description>
                  <value>7</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div1</name>
                  <description>rcc_hclk not divided</description>
                  <isDefault>true</isDefault>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>D2PPRE2</name>
              <description>D2 domain APB2 prescaler</description>
              <bitOffset>8</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues derivedFrom="D2PPRE1"/>
            </field>
          </fields>
        </register>
        <register>
          <name>D3CFGR</name>
          <displayName>D3CFGR</displayName>
          <description>RCC Domain 3 Clock Configuration
          Register</description>
          <addressOffset>0x20</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>D3PPRE</name>
              <description>D3 domain APB4 prescaler</description>
              <bitOffset>4</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>D3PPRE</name>
                <enumeratedValue>
                  <name>Div2</name>
                  <description>rcc_hclk divided by 2</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div4</name>
                  <description>rcc_hclk divided by 4</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div8</name>
                  <description>rcc_hclk divided by 8</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div16</name>
                  <description>rcc_hclk divided by 16</description>
                  <value>7</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div1</name>
                  <description>rcc_hclk not divided</description>
                  <isDefault>true</isDefault>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PLLCKSELR</name>
          <displayName>PLLCKSELR</displayName>
          <description>RCC PLLs Clock Source Selection
          Register</description>
          <addressOffset>0x28</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x02020200</resetValue>
          <fields>
            <field>
              <name>PLLSRC</name>
              <description>DIVMx and PLLs clock source
              selection</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>PLLSRC</name>
                <enumeratedValue>
                  <name>HSI</name>
                  <description>HSI selected as PLL clock</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CSI</name>
                  <description>CSI selected as PLL clock</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HSE</name>
                  <description>HSE selected as PLL clock</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>None</name>
                  <description>No clock sent to DIVMx dividers and PLLs</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIVM1</name>
              <description>Prescaler for PLL1</description>
              <bitOffset>4</bitOffset>
              <bitWidth>6</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>63</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>DIVM2</name>
              <description>Prescaler for PLL2</description>
              <bitOffset>12</bitOffset>
              <bitWidth>6</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>63</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>DIVM3</name>
              <description>Prescaler for PLL3</description>
              <bitOffset>20</bitOffset>
              <bitWidth>6</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>63</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>PLLCFGR</name>
          <displayName>PLLCFGR</displayName>
          <description>RCC PLLs Configuration
          Register</description>
          <addressOffset>0x2C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x01FF0000</resetValue>
          <fields>
            <field>
              <name>PLL1FRACEN</name>
              <description>PLL1 fractional latch
              enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>PLL1FRACEN</name>
                <enumeratedValue>
                  <name>Reset</name>
                  <description>Reset latch to tranfer FRACN to the Sigma-Delta modulator</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Set latch to tranfer FRACN to the Sigma-Delta modulator</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PLL1VCOSEL</name>
              <description>PLL1 VCO selection</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>PLL1VCOSEL</name>
                <enumeratedValue>
                  <name>WideVCO</name>
                  <description>VCO frequency range 192 to 836 MHz</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>MediumVCO</name>
                  <description>VCO frequency range 150 to 420 MHz</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PLL1RGE</name>
              <description>PLL1 input frequency range</description>
              <bitOffset>2</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>PLL1RGE</name>
                <enumeratedValue>
                  <name>Range1</name>
                  <description>Frequency is between 1 and 2 MHz</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Range2</name>
                  <description>Frequency is between 2 and 4 MHz</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Range4</name>
                  <description>Frequency is between 4 and 8 MHz</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Range8</name>
                  <description>Frequency is between 8 and 16 MHz</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PLL2FRACEN</name>
              <description>PLL2 fractional latch
              enable</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PLL1FRACEN"/>
            </field>
            <field>
              <name>PLL2VCOSEL</name>
              <description>PLL2 VCO selection</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PLL1VCOSEL"/>
            </field>
            <field>
              <name>PLL2RGE</name>
              <description>PLL2 input frequency range</description>
              <bitOffset>6</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues derivedFrom="PLL1RGE"/>
            </field>
            <field>
              <name>PLL3FRACEN</name>
              <description>PLL3 fractional latch
              enable</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PLL1FRACEN"/>
            </field>
            <field>
              <name>PLL3VCOSEL</name>
              <description>PLL3 VCO selection</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PLL1VCOSEL"/>
            </field>
            <field>
              <name>PLL3RGE</name>
              <description>PLL3 input frequency range</description>
              <bitOffset>10</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues derivedFrom="PLL1RGE"/>
            </field>
            <field>
              <name>DIVP1EN</name>
              <description>PLL1 DIVP divider output
              enable</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DIVP1EN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Clock ouput is disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Clock output is enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIVQ1EN</name>
              <description>PLL1 DIVQ divider output
              enable</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DIVP1EN"/>
            </field>
            <field>
              <name>DIVR1EN</name>
              <description>PLL1 DIVR divider output
              enable</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DIVP1EN"/>
            </field>
            <field>
              <name>DIVP2EN</name>
              <description>PLL2 DIVP divider output
              enable</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DIVP1EN"/>
            </field>
            <field>
              <name>DIVQ2EN</name>
              <description>PLL2 DIVQ divider output
              enable</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DIVP1EN"/>
            </field>
            <field>
              <name>DIVR2EN</name>
              <description>PLL2 DIVR divider output
              enable</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DIVP1EN"/>
            </field>
            <field>
              <name>DIVP3EN</name>
              <description>PLL3 DIVP divider output
              enable</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DIVP1EN"/>
            </field>
            <field>
              <name>DIVQ3EN</name>
              <description>PLL3 DIVQ divider output
              enable</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DIVP1EN"/>
            </field>
            <field>
              <name>DIVR3EN</name>
              <description>PLL3 DIVR divider output
              enable</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DIVP1EN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>PLL1DIVR</name>
          <displayName>PLL1DIVR</displayName>
          <description>RCC PLL1 Dividers Configuration
          Register</description>
          <addressOffset>0x30</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x01010280</resetValue>
          <fields>
            <field>
              <name>DIVN1</name>
              <description>Multiplication factor for PLL1
              VCO</description>
              <bitOffset>0</bitOffset>
              <bitWidth>9</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>3</minimum>
                  <maximum>511</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>DIVP1</name>
              <description>PLL1 DIVP division factor</description>
              <bitOffset>9</bitOffset>
              <bitWidth>7</bitWidth>
              <enumeratedValues>
                <name>DIVP1</name>
                <enumeratedValue>
                  <name>Div1</name>
                  <description>pll_p_ck = vco_ck</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div2</name>
                  <description>pll_p_ck = vco_ck / 2</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div4</name>
                  <description>pll_p_ck = vco_ck / 4</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div6</name>
                  <description>pll_p_ck = vco_ck / 6</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div8</name>
                  <description>pll_p_ck = vco_ck / 8</description>
                  <value>7</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div10</name>
                  <description>pll_p_ck = vco_ck / 10</description>
                  <value>9</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div12</name>
                  <description>pll_p_ck = vco_ck / 12</description>
                  <value>11</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div14</name>
                  <description>pll_p_ck = vco_ck / 14</description>
                  <value>13</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div16</name>
                  <description>pll_p_ck = vco_ck / 16</description>
                  <value>15</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div18</name>
                  <description>pll_p_ck = vco_ck / 18</description>
                  <value>17</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div20</name>
                  <description>pll_p_ck = vco_ck / 20</description>
                  <value>19</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div22</name>
                  <description>pll_p_ck = vco_ck / 22</description>
                  <value>21</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div24</name>
                  <description>pll_p_ck = vco_ck / 24</description>
                  <value>23</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div26</name>
                  <description>pll_p_ck = vco_ck / 26</description>
                  <value>25</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div28</name>
                  <description>pll_p_ck = vco_ck / 28</description>
                  <value>27</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div30</name>
                  <description>pll_p_ck = vco_ck / 30</description>
                  <value>29</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div32</name>
                  <description>pll_p_ck = vco_ck / 32</description>
                  <value>31</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div34</name>
                  <description>pll_p_ck = vco_ck / 34</description>
                  <value>33</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div36</name>
                  <description>pll_p_ck = vco_ck / 36</description>
                  <value>35</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div38</name>
                  <description>pll_p_ck = vco_ck / 38</description>
                  <value>37</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div40</name>
                  <description>pll_p_ck = vco_ck / 40</description>
                  <value>39</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div42</name>
                  <description>pll_p_ck = vco_ck / 42</description>
                  <value>41</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div44</name>
                  <description>pll_p_ck = vco_ck / 44</description>
                  <value>43</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div46</name>
                  <description>pll_p_ck = vco_ck / 46</description>
                  <value>45</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div48</name>
                  <description>pll_p_ck = vco_ck / 48</description>
                  <value>47</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div50</name>
                  <description>pll_p_ck = vco_ck / 50</description>
                  <value>49</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div52</name>
                  <description>pll_p_ck = vco_ck / 52</description>
                  <value>51</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div54</name>
                  <description>pll_p_ck = vco_ck / 54</description>
                  <value>53</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div56</name>
                  <description>pll_p_ck = vco_ck / 56</description>
                  <value>55</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div58</name>
                  <description>pll_p_ck = vco_ck / 58</description>
                  <value>57</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div60</name>
                  <description>pll_p_ck = vco_ck / 60</description>
                  <value>59</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div62</name>
                  <description>pll_p_ck = vco_ck / 62</description>
                  <value>61</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div64</name>
                  <description>pll_p_ck = vco_ck / 64</description>
                  <value>63</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div66</name>
                  <description>pll_p_ck = vco_ck / 66</description>
                  <value>65</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div68</name>
                  <description>pll_p_ck = vco_ck / 68</description>
                  <value>67</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div70</name>
                  <description>pll_p_ck = vco_ck / 70</description>
                  <value>69</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div72</name>
                  <description>pll_p_ck = vco_ck / 72</description>
                  <value>71</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div74</name>
                  <description>pll_p_ck = vco_ck / 74</description>
                  <value>73</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div76</name>
                  <description>pll_p_ck = vco_ck / 76</description>
                  <value>75</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div78</name>
                  <description>pll_p_ck = vco_ck / 78</description>
                  <value>77</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div80</name>
                  <description>pll_p_ck = vco_ck / 80</description>
                  <value>79</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div82</name>
                  <description>pll_p_ck = vco_ck / 82</description>
                  <value>81</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div84</name>
                  <description>pll_p_ck = vco_ck / 84</description>
                  <value>83</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div86</name>
                  <description>pll_p_ck = vco_ck / 86</description>
                  <value>85</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div88</name>
                  <description>pll_p_ck = vco_ck / 88</description>
                  <value>87</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div90</name>
                  <description>pll_p_ck = vco_ck / 90</description>
                  <value>89</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div92</name>
                  <description>pll_p_ck = vco_ck / 92</description>
                  <value>91</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div94</name>
                  <description>pll_p_ck = vco_ck / 94</description>
                  <value>93</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div96</name>
                  <description>pll_p_ck = vco_ck / 96</description>
                  <value>95</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div98</name>
                  <description>pll_p_ck = vco_ck / 98</description>
                  <value>97</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div100</name>
                  <description>pll_p_ck = vco_ck / 100</description>
                  <value>99</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div102</name>
                  <description>pll_p_ck = vco_ck / 102</description>
                  <value>101</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div104</name>
                  <description>pll_p_ck = vco_ck / 104</description>
                  <value>103</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div106</name>
                  <description>pll_p_ck = vco_ck / 106</description>
                  <value>105</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div108</name>
                  <description>pll_p_ck = vco_ck / 108</description>
                  <value>107</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div110</name>
                  <description>pll_p_ck = vco_ck / 110</description>
                  <value>109</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div112</name>
                  <description>pll_p_ck = vco_ck / 112</description>
                  <value>111</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div114</name>
                  <description>pll_p_ck = vco_ck / 114</description>
                  <value>113</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div116</name>
                  <description>pll_p_ck = vco_ck / 116</description>
                  <value>115</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div118</name>
                  <description>pll_p_ck = vco_ck / 118</description>
                  <value>117</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div120</name>
                  <description>pll_p_ck = vco_ck / 120</description>
                  <value>119</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div122</name>
                  <description>pll_p_ck = vco_ck / 122</description>
                  <value>121</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div124</name>
                  <description>pll_p_ck = vco_ck / 124</description>
                  <value>123</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div126</name>
                  <description>pll_p_ck = vco_ck / 126</description>
                  <value>125</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div128</name>
                  <description>pll_p_ck = vco_ck / 128</description>
                  <value>127</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIVQ1</name>
              <description>PLL1 DIVQ division factor</description>
              <bitOffset>16</bitOffset>
              <bitWidth>7</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>127</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>DIVR1</name>
              <description>PLL1 DIVR division factor</description>
              <bitOffset>24</bitOffset>
              <bitWidth>7</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>127</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>PLL1FRACR</name>
          <displayName>PLL1FRACR</displayName>
          <description>RCC PLL1 Fractional Divider
          Register</description>
          <addressOffset>0x34</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>FRACN1</name>
              <description>Fractional part of the multiplication
              factor for PLL1 VCO</description>
              <bitOffset>3</bitOffset>
              <bitWidth>13</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>8191</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>PLL2DIVR</name>
          <displayName>PLL2DIVR</displayName>
          <description>RCC PLL2 Dividers Configuration
          Register</description>
          <addressOffset>0x38</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x01010280</resetValue>
          <fields>
            <field>
              <name>DIVN2</name>
              <description>Multiplication factor for PLL1
              VCO</description>
              <bitOffset>0</bitOffset>
              <bitWidth>9</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>3</minimum>
                  <maximum>511</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>DIVP2</name>
              <description>PLL1 DIVP division factor</description>
              <bitOffset>9</bitOffset>
              <bitWidth>7</bitWidth>
            </field>
            <field>
              <name>DIVQ2</name>
              <description>PLL1 DIVQ division factor</description>
              <bitOffset>16</bitOffset>
              <bitWidth>7</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>127</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>DIVR2</name>
              <description>PLL1 DIVR division factor</description>
              <bitOffset>24</bitOffset>
              <bitWidth>7</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>127</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>PLL2FRACR</name>
          <displayName>PLL2FRACR</displayName>
          <description>RCC PLL2 Fractional Divider
          Register</description>
          <addressOffset>0x3C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>FRACN2</name>
              <description>Fractional part of the multiplication
              factor for PLL VCO</description>
              <bitOffset>3</bitOffset>
              <bitWidth>13</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>8191</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>PLL3DIVR</name>
          <displayName>PLL3DIVR</displayName>
          <description>RCC PLL3 Dividers Configuration
          Register</description>
          <addressOffset>0x40</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x01010280</resetValue>
          <fields>
            <field>
              <name>DIVN3</name>
              <description>Multiplication factor for PLL1
              VCO</description>
              <bitOffset>0</bitOffset>
              <bitWidth>9</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>3</minimum>
                  <maximum>511</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>DIVP3</name>
              <description>PLL DIVP division factor</description>
              <bitOffset>9</bitOffset>
              <bitWidth>7</bitWidth>
            </field>
            <field>
              <name>DIVQ3</name>
              <description>PLL DIVQ division factor</description>
              <bitOffset>16</bitOffset>
              <bitWidth>7</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>127</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>DIVR3</name>
              <description>PLL DIVR division factor</description>
              <bitOffset>24</bitOffset>
              <bitWidth>7</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>127</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>PLL3FRACR</name>
          <displayName>PLL3FRACR</displayName>
          <description>RCC PLL3 Fractional Divider
          Register</description>
          <addressOffset>0x44</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>FRACN3</name>
              <description>Fractional part of the multiplication
              factor for PLL3 VCO</description>
              <bitOffset>3</bitOffset>
              <bitWidth>13</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>8191</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>D1CCIPR</name>
          <displayName>D1CCIPR</displayName>
          <description>RCC Domain 1 Kernel Clock Configuration
          Register</description>
          <addressOffset>0x4C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>FMCSEL</name>
              <description>FMC kernel clock source
              selection</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>FMCSEL</name>
                <enumeratedValue>
                  <name>RCC_HCLK3</name>
                  <description>rcc_hclk3 selected as peripheral clock</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PLL1_Q</name>
                  <description>pll1_q selected as peripheral clock</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PLL2_R</name>
                  <description>pll2_r selected as peripheral clock</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PER</name>
                  <description>PER selected as peripheral clock</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>QSPISEL</name>
              <description>QUADSPI kernel clock source
              selection</description>
              <bitOffset>4</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues derivedFrom="FMCSEL"/>
            </field>
            <field>
              <name>SDMMCSEL</name>
              <description>SDMMC kernel clock source
              selection</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SDMMCSEL</name>
                <enumeratedValue>
                  <name>PLL1_Q</name>
                  <description>pll1_q selected as peripheral clock</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PLL2_R</name>
                  <description>pll2_r selected as peripheral clock</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CKPERSEL</name>
              <description>per_ck clock source
              selection</description>
              <bitOffset>28</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>CKPERSEL</name>
                <enumeratedValue>
                  <name>HSI</name>
                  <description>HSI selected as peripheral clock</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CSI</name>
                  <description>CSI selected as peripheral clock</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HSE</name>
                  <description>HSE selected as peripheral clock</description>
                  <value>2</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>D2CCIP1R</name>
          <displayName>D2CCIP1R</displayName>
          <description>RCC Domain 2 Kernel Clock Configuration
          Register</description>
          <addressOffset>0x50</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>SAI1SEL</name>
              <description>SAI1 and DFSDM1 kernel Aclk clock source
              selection</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>SAI1SEL</name>
                <enumeratedValue>
                  <name>PLL1_Q</name>
                  <description>pll1_q selected as peripheral clock</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PLL2_P</name>
                  <description>pll2_p selected as peripheral clock</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PLL3_P</name>
                  <description>pll3_p selected as peripheral clock</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>I2S_CKIN</name>
                  <description>I2S_CKIN selected as peripheral clock</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PER</name>
                  <description>PER selected as peripheral clock</description>
                  <value>4</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SAI23SEL</name>
              <description>SAI2 and SAI3 kernel clock source
              selection</description>
              <bitOffset>6</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues derivedFrom="SAI1SEL"/>
            </field>
            <field>
              <name>SPI123SEL</name>
              <description>SPI/I2S1,2 and 3 kernel clock source
              selection</description>
              <bitOffset>12</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues derivedFrom="SAI1SEL"/>
            </field>
            <field>
              <name>SPI45SEL</name>
              <description>SPI4 and 5 kernel clock source
              selection</description>
              <bitOffset>16</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>SPI45SEL</name>
                <enumeratedValue>
                  <name>APB</name>
                  <description>APB clock selected as peripheral clock</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PLL2_Q</name>
                  <description>pll2_q selected as peripheral clock</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PLL3_Q</name>
                  <description>pll3_q selected as peripheral clock</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HSI_KER</name>
                  <description>hsi_ker selected as peripheral clock</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CSI_KER</name>
                  <description>csi_ker selected as peripheral clock</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HSE</name>
                  <description>HSE selected as peripheral clock</description>
                  <value>5</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SPDIFSEL</name>
              <description>SPDIFRX kernel clock source
              selection</description>
              <bitOffset>20</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>SPDIFSEL</name>
                <enumeratedValue>
                  <name>PLL1_Q</name>
                  <description>pll1_q selected as peripheral clock</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PLL2_R</name>
                  <description>pll2_r selected as peripheral clock</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PLL3_R</name>
                  <description>pll3_r selected as peripheral clock</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HSI_KER</name>
                  <description>hsi_ker selected as peripheral clock</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DFSDM1SEL</name>
              <description>DFSDM1 kernel Clk clock source
              selection</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DFSDM1SEL</name>
                <enumeratedValue>
                  <name>RCC_PCLK2</name>
                  <description>rcc_pclk2 selected as peripheral clock</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SYS</name>
                  <description>System clock selected as peripheral clock</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FDCANSEL</name>
              <description>FDCAN kernel clock source
              selection</description>
              <bitOffset>28</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>FDCANSEL</name>
                <enumeratedValue>
                  <name>HSE</name>
                  <description>HSE selected as peripheral clock</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PLL1_Q</name>
                  <description>pll1_q selected as peripheral clock</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PLL2_Q</name>
                  <description>pll2_q selected as peripheral clock</description>
                  <value>2</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SWPSEL</name>
              <description>SWPMI kernel clock source
              selection</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SWPSEL</name>
                <enumeratedValue>
                  <name>PCLK</name>
                  <description>pclk selected as peripheral clock</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HSI_KER</name>
                  <description>hsi_ker selected as peripheral clock</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>D2CCIP2R</name>
          <displayName>D2CCIP2R</displayName>
          <description>RCC Domain 2 Kernel Clock Configuration
          Register</description>
          <addressOffset>0x54</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>USART234578SEL</name>
              <description>USART2/3, UART4,5, 7/8 (APB1) kernel
              clock source selection</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>USART234578SEL</name>
                <enumeratedValue>
                  <name>RCC_PCLK1</name>
                  <description>rcc_pclk1 selected as peripheral clock</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PLL2_Q</name>
                  <description>pll2_q selected as peripheral clock</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PLL3_Q</name>
                  <description>pll3_q selected as peripheral clock</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HSI_KER</name>
                  <description>hsi_ker selected as peripheral clock</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CSI_KER</name>
                  <description>csi_ker selected as peripheral clock</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LSE</name>
                  <description>LSE selected as peripheral clock</description>
                  <value>5</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>USART16SEL</name>
              <description>USART1 and 6 kernel clock source
              selection</description>
              <bitOffset>3</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>USART16SEL</name>
                <enumeratedValue>
                  <name>RCC_PCLK2</name>
                  <description>rcc_pclk2 selected as peripheral clock</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PLL2_Q</name>
                  <description>pll2_q selected as peripheral clock</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PLL3_Q</name>
                  <description>pll3_q selected as peripheral clock</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HSI_KER</name>
                  <description>hsi_ker selected as peripheral clock</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CSI_KER</name>
                  <description>csi_ker selected as peripheral clock</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LSE</name>
                  <description>LSE selected as peripheral clock</description>
                  <value>5</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RNGSEL</name>
              <description>RNG kernel clock source
              selection</description>
              <bitOffset>8</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>RNGSEL</name>
                <enumeratedValue>
                  <name>HSI48</name>
                  <description>HSI48 selected as peripheral clock</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PLL1_Q</name>
                  <description>pll1_q selected as peripheral clock</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LSE</name>
                  <description>LSE selected as peripheral clock</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LSI</name>
                  <description>LSI selected as peripheral clock</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>I2C123SEL</name>
              <description>I2C1,2,3 kernel clock source
              selection</description>
              <bitOffset>12</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>I2C123SEL</name>
                <enumeratedValue>
                  <name>RCC_PCLK1</name>
                  <description>rcc_pclk1 selected as peripheral clock</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PLL3_R</name>
                  <description>pll3_r selected as peripheral clock</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HSI_KER</name>
                  <description>hsi_ker selected as peripheral clock</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CSI_KER</name>
                  <description>csi_ker selected as peripheral clock</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>USBSEL</name>
              <description>USBOTG 1 and 2 kernel clock source
              selection</description>
              <bitOffset>20</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>USBSEL</name>
                <enumeratedValue>
                  <name>DISABLE</name>
                  <description>Disable the kernel clock</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PLL1_Q</name>
                  <description>pll1_q selected as peripheral clock</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PLL3_Q</name>
                  <description>pll3_q selected as peripheral clock</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HSI48</name>
                  <description>HSI48 selected as peripheral clock</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CECSEL</name>
              <description>HDMI-CEC kernel clock source
              selection</description>
              <bitOffset>22</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>CECSEL</name>
                <enumeratedValue>
                  <name>LSE</name>
                  <description>LSE selected as peripheral clock</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LSI</name>
                  <description>LSI selected as peripheral clock</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CSI_KER</name>
                  <description>csi_ker selected as peripheral clock</description>
                  <value>2</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LPTIM1SEL</name>
              <description>LPTIM1 kernel clock source
              selection</description>
              <bitOffset>28</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>LPTIM1SEL</name>
                <enumeratedValue>
                  <name>RCC_PCLK1</name>
                  <description>rcc_pclk1 selected as peripheral clock</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PLL2_P</name>
                  <description>pll2_p selected as peripheral clock</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PLL3_R</name>
                  <description>pll3_r selected as peripheral clock</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LSE</name>
                  <description>LSE selected as peripheral clock</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LSI</name>
                  <description>LSI selected as peripheral clock</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PER</name>
                  <description>PER selected as peripheral clock</description>
                  <value>5</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>D3CCIPR</name>
          <displayName>D3CCIPR</displayName>
          <description>RCC Domain 3 Kernel Clock Configuration
          Register</description>
          <addressOffset>0x58</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>LPUART1SEL</name>
              <description>LPUART1 kernel clock source
              selection</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>LPUART1SEL</name>
                <enumeratedValue>
                  <name>RCC_PCLK_D3</name>
                  <description>rcc_pclk_d3 selected as peripheral clock</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PLL2_Q</name>
                  <description>pll2_q selected as peripheral clock</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PLL3_Q</name>
                  <description>pll3_q selected as peripheral clock</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HSI_KER</name>
                  <description>hsi_ker selected as peripheral clock</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CSI_KER</name>
                  <description>csi_ker selected as peripheral clock</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LSE</name>
                  <description>LSE selected as peripheral clock</description>
                  <value>5</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>I2C4SEL</name>
              <description>I2C4 kernel clock source
              selection</description>
              <bitOffset>8</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>I2C4SEL</name>
                <enumeratedValue>
                  <name>RCC_PCLK4</name>
                  <description>rcc_pclk4 selected as peripheral clock</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PLL3_R</name>
                  <description>pll3_r selected as peripheral clock</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HSI_KER</name>
                  <description>hsi_ker selected as peripheral clock</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CSI_KER</name>
                  <description>csi_ker selected as peripheral clock</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LPTIM2SEL</name>
              <description>LPTIM2 kernel clock source
              selection</description>
              <bitOffset>10</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>LPTIM2SEL</name>
                <enumeratedValue>
                  <name>RCC_PCLK4</name>
                  <description>rcc_pclk4 selected as peripheral clock</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PLL2_P</name>
                  <description>pll2_p selected as peripheral clock</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PLL3_R</name>
                  <description>pll3_r selected as peripheral clock</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LSE</name>
                  <description>LSE selected as peripheral clock</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LSI</name>
                  <description>LSI selected as peripheral clock</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PER</name>
                  <description>PER selected as peripheral clock</description>
                  <value>5</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LPTIM345SEL</name>
              <description>LPTIM3,4,5 kernel clock source
              selection</description>
              <bitOffset>13</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues derivedFrom="LPTIM2SEL"/>
            </field>
            <field>
              <name>ADCSEL</name>
              <description>SAR ADC kernel clock source
              selection</description>
              <bitOffset>16</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>ADCSEL</name>
                <enumeratedValue>
                  <name>PLL2_P</name>
                  <description>pll2_p selected as peripheral clock</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PLL3_R</name>
                  <description>pll3_r selected as peripheral clock</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PER</name>
                  <description>PER selected as peripheral clock</description>
                  <value>2</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SAI4ASEL</name>
              <description>Sub-Block A of SAI4 kernel clock source
              selection</description>
              <bitOffset>21</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>SAI4ASEL</name>
                <enumeratedValue>
                  <name>PLL1_Q</name>
                  <description>pll1_q selected as peripheral clock</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PLL2_P</name>
                  <description>pll2_p selected as peripheral clock</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PLL3_P</name>
                  <description>pll3_p selected as peripheral clock</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>I2S_CKIN</name>
                  <description>i2s_ckin selected as peripheral clock</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PER</name>
                  <description>PER selected as peripheral clock</description>
                  <value>4</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SAI4BSEL</name>
              <description>Sub-Block B of SAI4 kernel clock source
              selection</description>
              <bitOffset>24</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues derivedFrom="SAI4ASEL"/>
            </field>
            <field>
              <name>SPI6SEL</name>
              <description>SPI6 kernel clock source
              selection</description>
              <bitOffset>28</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>SPI6SEL</name>
                <enumeratedValue>
                  <name>RCC_PCLK4</name>
                  <description>rcc_pclk4 selected as peripheral clock</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PLL2_Q</name>
                  <description>pll2_q selected as peripheral clock</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PLL3_Q</name>
                  <description>pll3_q selected as peripheral clock</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HSI_KER</name>
                  <description>hsi_ker selected as peripheral clock</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CSI_KER</name>
                  <description>csi_ker selected as peripheral clock</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HSE</name>
                  <description>HSE selected as peripheral clock</description>
                  <value>5</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CIER</name>
          <displayName>CIER</displayName>
          <description>RCC Clock Source Interrupt Enable
          Register</description>
          <addressOffset>0x60</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>LSIRDYIE</name>
              <description>LSI ready Interrupt Enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>LSIRDYIE</name>
                <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>
            </field>
            <field>
              <name>LSERDYIE</name>
              <description>LSE ready Interrupt Enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="LSIRDYIE"/>
            </field>
            <field>
              <name>HSIRDYIE</name>
              <description>HSI ready Interrupt Enable</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="LSIRDYIE"/>
            </field>
            <field>
              <name>HSERDYIE</name>
              <description>HSE ready Interrupt Enable</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="LSIRDYIE"/>
            </field>
            <field>
              <name>CSIRDYIE</name>
              <description>CSI ready Interrupt Enable</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="LSIRDYIE"/>
            </field>
            <field>
              <name>HSI48RDYIE</name>
              <description>RC48 ready Interrupt
              Enable</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="LSIRDYIE"/>
            </field>
            <field>
              <name>PLL1RDYIE</name>
              <description>PLL1 ready Interrupt
              Enable</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="LSIRDYIE"/>
            </field>
            <field>
              <name>PLL2RDYIE</name>
              <description>PLL2 ready Interrupt
              Enable</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="LSIRDYIE"/>
            </field>
            <field>
              <name>PLL3RDYIE</name>
              <description>PLL3 ready Interrupt
              Enable</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="LSIRDYIE"/>
            </field>
            <field>
              <name>LSECSSIE</name>
              <description>LSE clock security system Interrupt
              Enable</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="LSIRDYIE"/>
            </field>
          </fields>
        </register>
        <register>
          <name>CIFR</name>
          <displayName>CIFR</displayName>
          <description>RCC Clock Source Interrupt Flag
          Register</description>
          <addressOffset>0x64</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>LSIRDYF</name>
              <description>LSI ready Interrupt Flag</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>LSIRDYFR</name>
                <enumeratedValue>
                  <name>NotInterrupted</name>
                  <description>No clock ready interrupt</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Interrupted</name>
                  <description>Clock ready interrupt</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LSERDYF</name>
              <description>LSE ready Interrupt Flag</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="LSIRDYFR"/>
            </field>
            <field>
              <name>HSIRDYF</name>
              <description>HSI ready Interrupt Flag</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="LSIRDYFR"/>
            </field>
            <field>
              <name>HSERDYF</name>
              <description>HSE ready Interrupt Flag</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="LSIRDYFR"/>
            </field>
            <field>
              <name>CSIRDY</name>
              <description>CSI ready Interrupt Flag</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>HSI48RDYF</name>
              <description>RC48 ready Interrupt Flag</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="LSIRDYFR"/>
            </field>
            <field>
              <name>PLL1RDYF</name>
              <description>PLL1 ready Interrupt Flag</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="LSIRDYFR"/>
            </field>
            <field>
              <name>PLL2RDYF</name>
              <description>PLL2 ready Interrupt Flag</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="LSIRDYFR"/>
            </field>
            <field>
              <name>PLL3RDYF</name>
              <description>PLL3 ready Interrupt Flag</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="LSIRDYFR"/>
            </field>
            <field>
              <name>LSECSSF</name>
              <description>LSE clock security system Interrupt
              Flag</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>HSECSSF</name>
              <description>HSE clock security system Interrupt
              Flag</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CICR</name>
          <displayName>CICR</displayName>
          <description>RCC Clock Source Interrupt Clear
          Register</description>
          <addressOffset>0x68</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>LSIRDYC</name>
              <description>LSI ready Interrupt Clear</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>LSIRDYC</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear interrupt flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LSERDYC</name>
              <description>LSE ready Interrupt Clear</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="LSIRDYC"/>
            </field>
            <field>
              <name>HSIRDYC</name>
              <description>HSI ready Interrupt Clear</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="LSIRDYC"/>
            </field>
            <field>
              <name>HSERDYC</name>
              <description>HSE ready Interrupt Clear</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="LSIRDYC"/>
            </field>
            <field>
              <name>HSE_ready_Interrupt_Clear</name>
              <description>CSI ready Interrupt Clear</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>HSI48RDYC</name>
              <description>RC48 ready Interrupt Clear</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="LSIRDYC"/>
            </field>
            <field>
              <name>PLL1RDYC</name>
              <description>PLL1 ready Interrupt Clear</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="LSIRDYC"/>
            </field>
            <field>
              <name>PLL2RDYC</name>
              <description>PLL2 ready Interrupt Clear</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="LSIRDYC"/>
            </field>
            <field>
              <name>PLL3RDYC</name>
              <description>PLL3 ready Interrupt Clear</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="LSIRDYC"/>
            </field>
            <field>
              <name>LSECSSC</name>
              <description>LSE clock security system Interrupt
              Clear</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="LSIRDYC"/>
            </field>
            <field>
              <name>HSECSSC</name>
              <description>HSE clock security system Interrupt
              Clear</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="LSIRDYC"/>
            </field>
          </fields>
        </register>
        <register>
          <name>BDCR</name>
          <displayName>BDCR</displayName>
          <description>RCC Backup Domain Control
          Register</description>
          <addressOffset>0x70</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>LSEON</name>
              <description>LSE oscillator enabled</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>LSEON</name>
                <enumeratedValue>
                  <name>Off</name>
                  <description>LSE oscillator Off</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>On</name>
                  <description>LSE oscillator On</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LSERDY</name>
              <description>LSE oscillator ready</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>LSERDYR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NotReady</name>
                  <description>LSE oscillator not ready</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Ready</name>
                  <description>LSE oscillator ready</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LSEBYP</name>
              <description>LSE oscillator bypass</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>LSEBYP</name>
                <enumeratedValue>
                  <name>NotBypassed</name>
                  <description>LSE crystal oscillator not bypassed</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bypassed</name>
                  <description>LSE crystal oscillator bypassed with external clock</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LSEDRV</name>
              <description>LSE oscillator driving
              capability</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>LSEDRV</name>
                <enumeratedValue>
                  <name>Lowest</name>
                  <description>Lowest LSE oscillator driving capability</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>MediumLow</name>
                  <description>Medium low LSE oscillator driving capability</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>MediumHigh</name>
                  <description>Medium high LSE oscillator driving capability</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Highest</name>
                  <description>Highest LSE oscillator driving capability</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LSECSSON</name>
              <description>LSE clock security system
              enable</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>LSECSSON</name>
                <enumeratedValue>
                  <name>SecurityOff</name>
                  <description>Clock security system on 32 kHz oscillator off</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SecurityOn</name>
                  <description>Clock security system on 32 kHz oscillator on</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LSECSSD</name>
              <description>LSE clock security system failure
              detection</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>LSECSSDR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoFailure</name>
                  <description>No failure detected on 32 kHz oscillator</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Failure</name>
                  <description>Failure detected on 32 kHz oscillator</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RTCSEL</name>
              <description>RTC clock source selection</description>
              <bitOffset>8</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>RTCSEL</name>
                <enumeratedValue>
                  <name>NoClock</name>
                  <description>No clock</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LSE</name>
                  <description>LSE oscillator clock used as RTC clock</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LSI</name>
                  <description>LSI oscillator clock used as RTC clock</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HSE</name>
                  <description>HSE oscillator clock divided by a prescaler used as RTC clock</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RTCEN</name>
              <description>RTC clock enable</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RTCEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>RTC clock disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>RTC clock enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BDRST</name>
              <description>VSwitch domain software
              reset</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>BDRST</name>
                <enumeratedValue>
                  <name>NotActivated</name>
                  <description>Reset not activated</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Reset</name>
                  <description>Resets the entire VSW domain</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CSR</name>
          <displayName>CSR</displayName>
          <description>RCC Clock Control and Status
          Register</description>
          <addressOffset>0x74</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>LSION</name>
              <description>LSI oscillator enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>LSION</name>
                <enumeratedValue>
                  <name>Off</name>
                  <description>LSI oscillator Off</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>On</name>
                  <description>LSI oscillator On</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LSIRDY</name>
              <description>LSI oscillator ready</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>LSIRDYR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NotReady</name>
                  <description>LSI oscillator not ready</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Ready</name>
                  <description>LSI oscillator ready</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>AHB3RSTR</name>
          <displayName>AHB3RSTR</displayName>
          <description>RCC AHB3 Reset Register</description>
          <addressOffset>0x7C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>MDMARST</name>
              <description>MDMA block reset</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>MDMARST</name>
                <enumeratedValue>
                  <name>Reset</name>
                  <description>Reset the selected module</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DMA2DRST</name>
              <description>DMA2D block reset</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MDMARST"/>
            </field>
            <field>
              <name>JPGDECRST</name>
              <description>JPGDEC block reset</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MDMARST"/>
            </field>
            <field>
              <name>FMCRST</name>
              <description>FMC block reset</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MDMARST"/>
            </field>
            <field>
              <name>QSPIRST</name>
              <description>QUADSPI and QUADSPI delay block
              reset</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MDMARST"/>
            </field>
            <field>
              <name>SDMMC1RST</name>
              <description>SDMMC1 and SDMMC1 delay block
              reset</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MDMARST"/>
            </field>
            <field>
              <name>CPURST</name>
              <description>CPU reset</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MDMARST"/>
            </field>
          </fields>
        </register>
        <register>
          <name>AHB1RSTR</name>
          <displayName>AHB1RSTR</displayName>
          <description>RCC AHB1 Peripheral Reset
          Register</description>
          <addressOffset>0x80</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DMA1RST</name>
              <description>DMA1 block reset</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DMA1RST</name>
                <enumeratedValue>
                  <name>Reset</name>
                  <description>Reset the selected module</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DMA2RST</name>
              <description>DMA2 block reset</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DMA1RST"/>
            </field>
            <field>
              <name>ADC12RST</name>
              <description>ADC1&amp;2 block reset</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DMA1RST"/>
            </field>
            <field>
              <name>ETH1MACRST</name>
              <description>ETH1MAC block reset</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DMA1RST"/>
            </field>
            <field>
              <name>USB1OTGRST</name>
              <description>USB1OTG block reset</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DMA1RST"/>
            </field>
            <field>
              <name>USB2OTGRST</name>
              <description>USB2OTG block reset</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DMA1RST"/>
            </field>
          </fields>
        </register>
        <register>
          <name>AHB2RSTR</name>
          <displayName>AHB2RSTR</displayName>
          <description>RCC AHB2 Peripheral Reset
          Register</description>
          <addressOffset>0x84</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CAMITFRST</name>
              <description>CAMITF block reset</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CAMITFRST</name>
                <enumeratedValue>
                  <name>Reset</name>
                  <description>Reset the selected module</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CRYPTRST</name>
              <description>Cryptography block reset</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CAMITFRST"/>
            </field>
            <field>
              <name>HASHRST</name>
              <description>Hash block reset</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CAMITFRST"/>
            </field>
            <field>
              <name>RNGRST</name>
              <description>Random Number Generator block
              reset</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CAMITFRST"/>
            </field>
            <field>
              <name>SDMMC2RST</name>
              <description>SDMMC2 and SDMMC2 Delay block
              reset</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CAMITFRST"/>
            </field>
          </fields>
        </register>
        <register>
          <name>AHB4RSTR</name>
          <displayName>AHB4RSTR</displayName>
          <description>RCC AHB4 Peripheral Reset
          Register</description>
          <addressOffset>0x88</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>GPIOARST</name>
              <description>GPIO block reset</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>GPIOARST</name>
                <enumeratedValue>
                  <name>Reset</name>
                  <description>Reset the selected module</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>GPIOBRST</name>
              <description>GPIO block reset</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOARST"/>
            </field>
            <field>
              <name>GPIOCRST</name>
              <description>GPIO block reset</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOARST"/>
            </field>
            <field>
              <name>GPIODRST</name>
              <description>GPIO block reset</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOARST"/>
            </field>
            <field>
              <name>GPIOERST</name>
              <description>GPIO block reset</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOARST"/>
            </field>
            <field>
              <name>GPIOFRST</name>
              <description>GPIO block reset</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOARST"/>
            </field>
            <field>
              <name>GPIOGRST</name>
              <description>GPIO block reset</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOARST"/>
            </field>
            <field>
              <name>GPIOHRST</name>
              <description>GPIO block reset</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOARST"/>
            </field>
            <field>
              <name>GPIOIRST</name>
              <description>GPIO block reset</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOARST"/>
            </field>
            <field>
              <name>GPIOJRST</name>
              <description>GPIO block reset</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOARST"/>
            </field>
            <field>
              <name>GPIOKRST</name>
              <description>GPIO block reset</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOARST"/>
            </field>
            <field>
              <name>CRCRST</name>
              <description>CRC block reset</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOARST"/>
            </field>
            <field>
              <name>BDMARST</name>
              <description>BDMA block reset</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOARST"/>
            </field>
            <field>
              <name>ADC3RST</name>
              <description>ADC3 block reset</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOARST"/>
            </field>
            <field>
              <name>HSEMRST</name>
              <description>HSEM block reset</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOARST"/>
            </field>
          </fields>
        </register>
        <register>
          <name>APB3RSTR</name>
          <displayName>APB3RSTR</displayName>
          <description>RCC APB3 Peripheral Reset
          Register</description>
          <addressOffset>0x8C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>LTDCRST</name>
              <description>LTDC block reset</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>LTDCRST</name>
                <enumeratedValue>
                  <name>Reset</name>
                  <description>Reset the selected module</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>APB1LRSTR</name>
          <displayName>APB1LRSTR</displayName>
          <description>RCC APB1 Peripheral Reset
          Register</description>
          <addressOffset>0x90</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TIM2RST</name>
              <description>TIM block reset</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TIM2RST</name>
                <enumeratedValue>
                  <name>Reset</name>
                  <description>Reset the selected module</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TIM3RST</name>
              <description>TIM block reset</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2RST"/>
            </field>
            <field>
              <name>TIM4RST</name>
              <description>TIM block reset</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2RST"/>
            </field>
            <field>
              <name>TIM5RST</name>
              <description>TIM block reset</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2RST"/>
            </field>
            <field>
              <name>TIM6RST</name>
              <description>TIM block reset</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2RST"/>
            </field>
            <field>
              <name>TIM7RST</name>
              <description>TIM block reset</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2RST"/>
            </field>
            <field>
              <name>TIM12RST</name>
              <description>TIM block reset</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2RST"/>
            </field>
            <field>
              <name>TIM13RST</name>
              <description>TIM block reset</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2RST"/>
            </field>
            <field>
              <name>TIM14RST</name>
              <description>TIM block reset</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2RST"/>
            </field>
            <field>
              <name>LPTIM1RST</name>
              <description>TIM block reset</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2RST"/>
            </field>
            <field>
              <name>SPI2RST</name>
              <description>SPI2 block reset</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2RST"/>
            </field>
            <field>
              <name>SPI3RST</name>
              <description>SPI3 block reset</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2RST"/>
            </field>
            <field>
              <name>SPDIFRXRST</name>
              <description>SPDIFRX block reset</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2RST"/>
            </field>
            <field>
              <name>USART2RST</name>
              <description>USART2 block reset</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2RST"/>
            </field>
            <field>
              <name>USART3RST</name>
              <description>USART3 block reset</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2RST"/>
            </field>
            <field>
              <name>UART4RST</name>
              <description>UART4 block reset</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2RST"/>
            </field>
            <field>
              <name>UART5RST</name>
              <description>UART5 block reset</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2RST"/>
            </field>
            <field>
              <name>I2C1RST</name>
              <description>I2C1 block reset</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2RST"/>
            </field>
            <field>
              <name>I2C2RST</name>
              <description>I2C2 block reset</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2RST"/>
            </field>
            <field>
              <name>I2C3RST</name>
              <description>I2C3 block reset</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2RST"/>
            </field>
            <field>
              <name>CECRST</name>
              <description>HDMI-CEC block reset</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2RST"/>
            </field>
            <field>
              <name>DAC12RST</name>
              <description>DAC1 and 2 Blocks Reset</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2RST"/>
            </field>
            <field>
              <name>UART7RST</name>
              <description>UART7 block reset</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2RST"/>
            </field>
            <field>
              <name>UART8RST</name>
              <description>UART8 block reset</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2RST"/>
            </field>
          </fields>
        </register>
        <register>
          <name>APB1HRSTR</name>
          <displayName>APB1HRSTR</displayName>
          <description>RCC APB1 Peripheral Reset
          Register</description>
          <addressOffset>0x94</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CRSRST</name>
              <description>Clock Recovery System
              reset</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CRSRST</name>
                <enumeratedValue>
                  <name>Reset</name>
                  <description>Reset the selected module</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SWPRST</name>
              <description>SWPMI block reset</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CRSRST"/>
            </field>
            <field>
              <name>OPAMPRST</name>
              <description>OPAMP block reset</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CRSRST"/>
            </field>
            <field>
              <name>MDIOSRST</name>
              <description>MDIOS block reset</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CRSRST"/>
            </field>
            <field>
              <name>FDCANRST</name>
              <description>FDCAN block reset</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CRSRST"/>
            </field>
          </fields>
        </register>
        <register>
          <name>APB2RSTR</name>
          <displayName>APB2RSTR</displayName>
          <description>RCC APB2 Peripheral Reset
          Register</description>
          <addressOffset>0x98</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TIM1RST</name>
              <description>TIM1 block reset</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TIM1RST</name>
                <enumeratedValue>
                  <name>Reset</name>
                  <description>Reset the selected module</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TIM8RST</name>
              <description>TIM8 block reset</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1RST"/>
            </field>
            <field>
              <name>USART1RST</name>
              <description>USART1 block reset</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1RST"/>
            </field>
            <field>
              <name>USART6RST</name>
              <description>USART6 block reset</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1RST"/>
            </field>
            <field>
              <name>SPI1RST</name>
              <description>SPI1 block reset</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1RST"/>
            </field>
            <field>
              <name>SPI4RST</name>
              <description>SPI4 block reset</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1RST"/>
            </field>
            <field>
              <name>TIM15RST</name>
              <description>TIM15 block reset</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1RST"/>
            </field>
            <field>
              <name>TIM16RST</name>
              <description>TIM16 block reset</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1RST"/>
            </field>
            <field>
              <name>TIM17RST</name>
              <description>TIM17 block reset</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1RST"/>
            </field>
            <field>
              <name>SPI5RST</name>
              <description>SPI5 block reset</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1RST"/>
            </field>
            <field>
              <name>SAI1RST</name>
              <description>SAI1 block reset</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1RST"/>
            </field>
            <field>
              <name>SAI2RST</name>
              <description>SAI2 block reset</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1RST"/>
            </field>
            <field>
              <name>SAI3RST</name>
              <description>SAI3 block reset</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1RST"/>
            </field>
            <field>
              <name>DFSDM1RST</name>
              <description>DFSDM1 block reset</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1RST"/>
            </field>
            <field>
              <name>HRTIMRST</name>
              <description>HRTIM block reset</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1RST"/>
            </field>
          </fields>
        </register>
        <register>
          <name>APB4RSTR</name>
          <displayName>APB4RSTR</displayName>
          <description>RCC APB4 Peripheral Reset
          Register</description>
          <addressOffset>0x9C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>SYSCFGRST</name>
              <description>SYSCFG block reset</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SYSCFGRST</name>
                <enumeratedValue>
                  <name>Reset</name>
                  <description>Reset the selected module</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LPUART1RST</name>
              <description>LPUART1 block reset</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SYSCFGRST"/>
            </field>
            <field>
              <name>SPI6RST</name>
              <description>SPI6 block reset</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SYSCFGRST"/>
            </field>
            <field>
              <name>I2C4RST</name>
              <description>I2C4 block reset</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SYSCFGRST"/>
            </field>
            <field>
              <name>LPTIM2RST</name>
              <description>LPTIM2 block reset</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SYSCFGRST"/>
            </field>
            <field>
              <name>LPTIM3RST</name>
              <description>LPTIM3 block reset</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SYSCFGRST"/>
            </field>
            <field>
              <name>LPTIM4RST</name>
              <description>LPTIM4 block reset</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SYSCFGRST"/>
            </field>
            <field>
              <name>LPTIM5RST</name>
              <description>LPTIM5 block reset</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SYSCFGRST"/>
            </field>
            <field>
              <name>COMP12RST</name>
              <description>COMP12 Blocks Reset</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SYSCFGRST"/>
            </field>
            <field>
              <name>VREFRST</name>
              <description>VREF block reset</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SYSCFGRST"/>
            </field>
            <field>
              <name>SAI4RST</name>
              <description>SAI4 block reset</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SYSCFGRST"/>
            </field>
          </fields>
        </register>
        <register>
          <name>GCR</name>
          <displayName>GCR</displayName>
          <description>RCC Global Control Register</description>
          <addressOffset>0xA0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>WW1RSC</name>
              <description>WWDG1 reset scope control</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>WW1RSC</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear WWDG1 scope control</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Set WWDG1 scope control</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>D3AMR</name>
          <displayName>D3AMR</displayName>
          <description>RCC D3 Autonomous mode
          Register</description>
          <addressOffset>0xA8</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>BDMAAMEN</name>
              <description>BDMA and DMAMUX Autonomous mode
              enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>BDMAAMEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Clock disabled in autonomous mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Clock enabled in autonomous mode</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LPUART1AMEN</name>
              <description>LPUART1 Autonomous mode
              enable</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="BDMAAMEN"/>
            </field>
            <field>
              <name>SPI6AMEN</name>
              <description>SPI6 Autonomous mode
              enable</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="BDMAAMEN"/>
            </field>
            <field>
              <name>I2C4AMEN</name>
              <description>I2C4 Autonomous mode
              enable</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="BDMAAMEN"/>
            </field>
            <field>
              <name>LPTIM2AMEN</name>
              <description>LPTIM2 Autonomous mode
              enable</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="BDMAAMEN"/>
            </field>
            <field>
              <name>LPTIM3AMEN</name>
              <description>LPTIM3 Autonomous mode
              enable</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="BDMAAMEN"/>
            </field>
            <field>
              <name>LPTIM4AMEN</name>
              <description>LPTIM4 Autonomous mode
              enable</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="BDMAAMEN"/>
            </field>
            <field>
              <name>LPTIM5AMEN</name>
              <description>LPTIM5 Autonomous mode
              enable</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="BDMAAMEN"/>
            </field>
            <field>
              <name>COMP12AMEN</name>
              <description>COMP12 Autonomous mode
              enable</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="BDMAAMEN"/>
            </field>
            <field>
              <name>VREFAMEN</name>
              <description>VREF Autonomous mode
              enable</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="BDMAAMEN"/>
            </field>
            <field>
              <name>RTCAMEN</name>
              <description>RTC Autonomous mode enable</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="BDMAAMEN"/>
            </field>
            <field>
              <name>CRCAMEN</name>
              <description>CRC Autonomous mode enable</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="BDMAAMEN"/>
            </field>
            <field>
              <name>SAI4AMEN</name>
              <description>SAI4 Autonomous mode
              enable</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="BDMAAMEN"/>
            </field>
            <field>
              <name>ADC3AMEN</name>
              <description>ADC3 Autonomous mode
              enable</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="BDMAAMEN"/>
            </field>
            <field>
              <name>BKPRAMAMEN</name>
              <description>Backup RAM Autonomous mode
              enable</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="BDMAAMEN"/>
            </field>
            <field>
              <name>SRAM4AMEN</name>
              <description>SRAM4 Autonomous mode
              enable</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="BDMAAMEN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>RSR</name>
          <displayName>RSR</displayName>
          <description>RCC Reset Status Register</description>
          <addressOffset>0xD0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>RMVF</name>
              <description>Remove reset flag</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RMVF</name>
                <enumeratedValue>
                  <name>NotActivated</name>
                  <description>Reset not activated</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Reset</name>
                  <description>Reset the reset status flags</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CPURSTF</name>
              <description>CPU reset flag</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CPURSTFR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoResetOccurred</name>
                  <description>No reset occurred for block</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ResetOccurred</name>
                  <description>Reset occurred for block</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>D1RSTF</name>
              <description>D1 domain power switch reset
              flag</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CPURSTFR"/>
            </field>
            <field>
              <name>D2RSTF</name>
              <description>D2 domain power switch reset
              flag</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CPURSTFR"/>
            </field>
            <field>
              <name>BORRSTF</name>
              <description>BOR reset flag</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CPURSTFR"/>
            </field>
            <field>
              <name>PINRSTF</name>
              <description>Pin reset flag (NRST)</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CPURSTFR"/>
            </field>
            <field>
              <name>PORRSTF</name>
              <description>POR/PDR reset flag</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CPURSTFR"/>
            </field>
            <field>
              <name>SFTRSTF</name>
              <description>System reset from CPU reset
              flag</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CPURSTFR"/>
            </field>
            <field>
              <name>IWDG1RSTF</name>
              <description>Independent Watchdog reset
              flag</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CPURSTFR"/>
            </field>
            <field>
              <name>WWDG1RSTF</name>
              <description>Window Watchdog reset flag</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CPURSTFR"/>
            </field>
            <field>
              <name>LPWRRSTF</name>
              <description>Reset due to illegal D1 DStandby or CPU
              CStop flag</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CPURSTFR"/>
            </field>
          </fields>
        </register>
        <register>
          <name>C1_RSR</name>
          <displayName>C1_RSR</displayName>
          <description>RCC Reset Status Register</description>
          <addressOffset>0x130</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>RMVF</name>
              <description>Remove reset flag</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RMVF</name>
                <enumeratedValue>
                  <name>NotActivated</name>
                  <description>Reset not activated</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Reset</name>
                  <description>Reset the reset status flags</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CPURSTF</name>
              <description>CPU reset flag</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CPURSTFR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoResetOccurred</name>
                  <description>No reset occurred for block</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ResetOccurred</name>
                  <description>Reset occurred for block</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>D1RSTF</name>
              <description>D1 domain power switch reset
              flag</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CPURSTFR"/>
            </field>
            <field>
              <name>D2RSTF</name>
              <description>D2 domain power switch reset
              flag</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CPURSTFR"/>
            </field>
            <field>
              <name>BORRSTF</name>
              <description>BOR reset flag</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CPURSTFR"/>
            </field>
            <field>
              <name>PINRSTF</name>
              <description>Pin reset flag (NRST)</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CPURSTFR"/>
            </field>
            <field>
              <name>PORRSTF</name>
              <description>POR/PDR reset flag</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CPURSTFR"/>
            </field>
            <field>
              <name>SFTRSTF</name>
              <description>System reset from CPU reset
              flag</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CPURSTFR"/>
            </field>
            <field>
              <name>IWDG1RSTF</name>
              <description>Independent Watchdog reset
              flag</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CPURSTFR"/>
            </field>
            <field>
              <name>WWDG1RSTF</name>
              <description>Window Watchdog reset flag</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CPURSTFR"/>
            </field>
            <field>
              <name>LPWRRSTF</name>
              <description>Reset due to illegal D1 DStandby or CPU
              CStop flag</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CPURSTFR"/>
            </field>
          </fields>
        </register>
        <register>
          <name>C1_AHB3ENR</name>
          <displayName>C1_AHB3ENR</displayName>
          <description>RCC AHB3 Clock Register</description>
          <addressOffset>0x134</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>MDMAEN</name>
              <description>MDMA Peripheral Clock
              Enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>MDMAEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>The selected clock is disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>The selected clock is enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DMA2DEN</name>
              <description>DMA2D Peripheral Clock
              Enable</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MDMAEN"/>
            </field>
            <field>
              <name>JPGDECEN</name>
              <description>JPGDEC Peripheral Clock
              Enable</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MDMAEN"/>
            </field>
            <field>
              <name>FMCEN</name>
              <description>FMC Peripheral Clocks
              Enable</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MDMAEN"/>
            </field>
            <field>
              <name>QSPIEN</name>
              <description>QUADSPI and QUADSPI Delay Clock
              Enable</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MDMAEN"/>
            </field>
            <field>
              <name>SDMMC1EN</name>
              <description>SDMMC1 and SDMMC1 Delay Clock
              Enable</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MDMAEN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>AHB3ENR</name>
          <displayName>AHB3ENR</displayName>
          <description>RCC AHB3 Clock Register</description>
          <addressOffset>0xD4</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>MDMAEN</name>
              <description>MDMA Peripheral Clock
              Enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>MDMAEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>The selected clock is disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>The selected clock is enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DMA2DEN</name>
              <description>DMA2D Peripheral Clock
              Enable</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MDMAEN"/>
            </field>
            <field>
              <name>JPGDECEN</name>
              <description>JPGDEC Peripheral Clock
              Enable</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MDMAEN"/>
            </field>
            <field>
              <name>FMCEN</name>
              <description>FMC Peripheral Clocks
              Enable</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MDMAEN"/>
            </field>
            <field>
              <name>QSPIEN</name>
              <description>QUADSPI and QUADSPI Delay Clock
              Enable</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MDMAEN"/>
            </field>
            <field>
              <name>SDMMC1EN</name>
              <description>SDMMC1 and SDMMC1 Delay Clock
              Enable</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MDMAEN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>AHB1ENR</name>
          <displayName>AHB1ENR</displayName>
          <description>RCC AHB1 Clock Register</description>
          <addressOffset>0xD8</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DMA1EN</name>
              <description>DMA1 Clock Enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DMA1EN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>The selected clock is disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>The selected clock is enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DMA2EN</name>
              <description>DMA2 Clock Enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DMA1EN"/>
            </field>
            <field>
              <name>ADC12EN</name>
              <description>ADC1/2 Peripheral Clocks
              Enable</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DMA1EN"/>
            </field>
            <field>
              <name>ETH1MACEN</name>
              <description>Ethernet MAC bus interface Clock
              Enable</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DMA1EN"/>
            </field>
            <field>
              <name>ETH1TXEN</name>
              <description>Ethernet Transmission Clock
              Enable</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DMA1EN"/>
            </field>
            <field>
              <name>ETH1RXEN</name>
              <description>Ethernet Reception Clock
              Enable</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DMA1EN"/>
            </field>
            <field>
              <name>USB1OTGHSEN</name>
              <description>USB1OTG (OTG_HS1) Peripheral Clocks Enable</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DMA1EN"/>
            </field>
            <field>
              <name>USB1OTGULPIEN</name>
              <description>USB_PHY1 Clocks Enable</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DMA1EN"/>
            </field>
            <field>
              <name>USB2OTGHSEN</name>
              <description>USB2OTG Peripheral Clocks
              Enable</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DMA1EN"/>
            </field>
            <field>
              <name>USB2OTGHSULPIEN</name>
              <description>USB_PHY2 Clocks Enable</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DMA1EN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>C1_AHB1ENR</name>
          <displayName>C1_AHB1ENR</displayName>
          <description>RCC AHB1 Clock Register</description>
          <addressOffset>0x138</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DMA1EN</name>
              <description>DMA1 Clock Enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DMA1EN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>The selected clock is disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>The selected clock is enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DMA2EN</name>
              <description>DMA2 Clock Enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DMA1EN"/>
            </field>
            <field>
              <name>ADC12EN</name>
              <description>ADC1/2 Peripheral Clocks
              Enable</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DMA1EN"/>
            </field>
            <field>
              <name>ETH1MACEN</name>
              <description>Ethernet MAC bus interface Clock
              Enable</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DMA1EN"/>
            </field>
            <field>
              <name>ETH1TXEN</name>
              <description>Ethernet Transmission Clock
              Enable</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DMA1EN"/>
            </field>
            <field>
              <name>ETH1RXEN</name>
              <description>Ethernet Reception Clock
              Enable</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DMA1EN"/>
            </field>
            <field>
              <name>USB1OTGHSEN</name>
              <description>USB1OTG (OTG_HS1) Peripheral Clocks Enable</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DMA1EN"/>
            </field>
            <field>
              <name>USB1OTGULPIEN</name>
              <description>USB_PHY1 Clocks Enable</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DMA1EN"/>
            </field>
            <field>
              <name>USB2OTGHSEN</name>
              <description>USB2OTG Peripheral Clocks
              Enable</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DMA1EN"/>
            </field>
            <field>
              <name>USB2OTGHSULPIEN</name>
              <description>USB_PHY2 Clocks Enable</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DMA1EN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>C1_AHB2ENR</name>
          <displayName>C1_AHB2ENR</displayName>
          <description>RCC AHB2 Clock Register</description>
          <addressOffset>0x13C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DCMIEN</name>
              <description>DCMI peripheral clock enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DCMIEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>The selected clock is disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>The selected clock is enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CRYPTEN</name>
              <description>CRYPT peripheral clock
              enable</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DCMIEN"/>
            </field>
            <field>
              <name>HASHEN</name>
              <description>HASH peripheral clock
              enable</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DCMIEN"/>
            </field>
            <field>
              <name>RNGEN</name>
              <description>RNG peripheral clocks
              enable</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DCMIEN"/>
            </field>
            <field>
              <name>SDMMC2EN</name>
              <description>SDMMC2 and SDMMC2 delay clock
              enable</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DCMIEN"/>
            </field>
            <field>
              <name>SRAM1EN</name>
              <description>SRAM1 block enable</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DCMIEN"/>
            </field>
            <field>
              <name>SRAM2EN</name>
              <description>SRAM2 block enable</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DCMIEN"/>
            </field>
            <field>
              <name>SRAM3EN</name>
              <description>SRAM3 block enable</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DCMIEN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>AHB2ENR</name>
          <displayName>AHB2ENR</displayName>
          <description>RCC AHB2 Clock Register</description>
          <addressOffset>0xDC</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DCMIEN</name>
              <description>DCMI peripheral clock enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DCMIEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>The selected clock is disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>The selected clock is enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CRYPTEN</name>
              <description>CRYPT peripheral clock
              enable</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DCMIEN"/>
            </field>
            <field>
              <name>HASHEN</name>
              <description>HASH peripheral clock
              enable</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DCMIEN"/>
            </field>
            <field>
              <name>RNGEN</name>
              <description>RNG peripheral clocks
              enable</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DCMIEN"/>
            </field>
            <field>
              <name>SDMMC2EN</name>
              <description>SDMMC2 and SDMMC2 delay clock
              enable</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DCMIEN"/>
            </field>
            <field>
              <name>SRAM1EN</name>
              <description>SRAM1 block enable</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DCMIEN"/>
            </field>
            <field>
              <name>SRAM2EN</name>
              <description>SRAM2 block enable</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DCMIEN"/>
            </field>
            <field>
              <name>SRAM3EN</name>
              <description>SRAM3 block enable</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DCMIEN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>AHB4ENR</name>
          <displayName>AHB4ENR</displayName>
          <description>RCC AHB4 Clock Register</description>
          <addressOffset>0xE0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>GPIOAEN</name>
              <description>0GPIO peripheral clock
              enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>GPIOAEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>The selected clock is disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>The selected clock is enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>GPIOBEN</name>
              <description>0GPIO peripheral clock
              enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOAEN"/>
            </field>
            <field>
              <name>GPIOCEN</name>
              <description>0GPIO peripheral clock
              enable</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOAEN"/>
            </field>
            <field>
              <name>GPIODEN</name>
              <description>0GPIO peripheral clock
              enable</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOAEN"/>
            </field>
            <field>
              <name>GPIOEEN</name>
              <description>0GPIO peripheral clock
              enable</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOAEN"/>
            </field>
            <field>
              <name>GPIOFEN</name>
              <description>0GPIO peripheral clock
              enable</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOAEN"/>
            </field>
            <field>
              <name>GPIOGEN</name>
              <description>0GPIO peripheral clock
              enable</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOAEN"/>
            </field>
            <field>
              <name>GPIOHEN</name>
              <description>0GPIO peripheral clock
              enable</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOAEN"/>
            </field>
            <field>
              <name>GPIOIEN</name>
              <description>0GPIO peripheral clock
              enable</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOAEN"/>
            </field>
            <field>
              <name>GPIOJEN</name>
              <description>0GPIO peripheral clock
              enable</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOAEN"/>
            </field>
            <field>
              <name>GPIOKEN</name>
              <description>0GPIO peripheral clock
              enable</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOAEN"/>
            </field>
            <field>
              <name>CRCEN</name>
              <description>CRC peripheral clock
              enable</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOAEN"/>
            </field>
            <field>
              <name>BDMAEN</name>
              <description>BDMA and DMAMUX2 Clock
              Enable</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOAEN"/>
            </field>
            <field>
              <name>ADC3EN</name>
              <description>ADC3 Peripheral Clocks
              Enable</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOAEN"/>
            </field>
            <field>
              <name>HSEMEN</name>
              <description>HSEM peripheral clock
              enable</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOAEN"/>
            </field>
            <field>
              <name>BKPRAMEN</name>
              <description>Backup RAM Clock Enable</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOAEN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>C1_AHB4ENR</name>
          <displayName>C1_AHB4ENR</displayName>
          <description>RCC AHB4 Clock Register</description>
          <addressOffset>0x140</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>GPIOAEN</name>
              <description>0GPIO peripheral clock
              enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>GPIOAEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>The selected clock is disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>The selected clock is enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>GPIOBEN</name>
              <description>0GPIO peripheral clock
              enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOAEN"/>
            </field>
            <field>
              <name>GPIOCEN</name>
              <description>0GPIO peripheral clock
              enable</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOAEN"/>
            </field>
            <field>
              <name>GPIODEN</name>
              <description>0GPIO peripheral clock
              enable</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOAEN"/>
            </field>
            <field>
              <name>GPIOEEN</name>
              <description>0GPIO peripheral clock
              enable</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOAEN"/>
            </field>
            <field>
              <name>GPIOFEN</name>
              <description>0GPIO peripheral clock
              enable</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOAEN"/>
            </field>
            <field>
              <name>GPIOGEN</name>
              <description>0GPIO peripheral clock
              enable</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOAEN"/>
            </field>
            <field>
              <name>GPIOHEN</name>
              <description>0GPIO peripheral clock
              enable</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOAEN"/>
            </field>
            <field>
              <name>GPIOIEN</name>
              <description>0GPIO peripheral clock
              enable</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOAEN"/>
            </field>
            <field>
              <name>GPIOJEN</name>
              <description>0GPIO peripheral clock
              enable</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOAEN"/>
            </field>
            <field>
              <name>GPIOKEN</name>
              <description>0GPIO peripheral clock
              enable</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOAEN"/>
            </field>
            <field>
              <name>CRCEN</name>
              <description>CRC peripheral clock
              enable</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOAEN"/>
            </field>
            <field>
              <name>BDMAEN</name>
              <description>BDMA and DMAMUX2 Clock
              Enable</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOAEN"/>
            </field>
            <field>
              <name>ADC3EN</name>
              <description>ADC3 Peripheral Clocks
              Enable</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOAEN"/>
            </field>
            <field>
              <name>HSEMEN</name>
              <description>HSEM peripheral clock
              enable</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOAEN"/>
            </field>
            <field>
              <name>BKPRAMEN</name>
              <description>Backup RAM Clock Enable</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOAEN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>C1_APB3ENR</name>
          <displayName>C1_APB3ENR</displayName>
          <description>RCC APB3 Clock Register</description>
          <addressOffset>0x144</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>LTDCEN</name>
              <description>LTDC peripheral clock
              enable</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>LTDCEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>The selected clock is disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>The selected clock is enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>WWDG1EN</name>
              <description>WWDG1 Clock Enable</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="LTDCEN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>APB3ENR</name>
          <displayName>APB3ENR</displayName>
          <description>RCC APB3 Clock Register</description>
          <addressOffset>0xE4</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>LTDCEN</name>
              <description>LTDC peripheral clock
              enable</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>LTDCEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>The selected clock is disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>The selected clock is enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>WWDG1EN</name>
              <description>WWDG1 Clock Enable</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="LTDCEN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>APB1LENR</name>
          <displayName>APB1LENR</displayName>
          <description>RCC APB1 Clock Register</description>
          <addressOffset>0xE8</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TIM2EN</name>
              <description>TIM peripheral clock
              enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TIM2EN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>The selected clock is disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>The selected clock is enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TIM3EN</name>
              <description>TIM peripheral clock
              enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>TIM4EN</name>
              <description>TIM peripheral clock
              enable</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>TIM5EN</name>
              <description>TIM peripheral clock
              enable</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>TIM6EN</name>
              <description>TIM peripheral clock
              enable</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>TIM7EN</name>
              <description>TIM peripheral clock
              enable</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>TIM12EN</name>
              <description>TIM peripheral clock
              enable</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>TIM13EN</name>
              <description>TIM peripheral clock
              enable</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>TIM14EN</name>
              <description>TIM peripheral clock
              enable</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>LPTIM1EN</name>
              <description>LPTIM1 Peripheral Clocks
              Enable</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>SPI2EN</name>
              <description>SPI2 Peripheral Clocks
              Enable</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>SPI3EN</name>
              <description>SPI3 Peripheral Clocks
              Enable</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>SPDIFRXEN</name>
              <description>SPDIFRX Peripheral Clocks
              Enable</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>USART2EN</name>
              <description>USART2 Peripheral Clocks
              Enable</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>USART3EN</name>
              <description>USART3 Peripheral Clocks
              Enable</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>UART4EN</name>
              <description>UART4 Peripheral Clocks
              Enable</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>UART5EN</name>
              <description>UART5 Peripheral Clocks
              Enable</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>I2C1EN</name>
              <description>I2C1 Peripheral Clocks
              Enable</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>I2C2EN</name>
              <description>I2C2 Peripheral Clocks
              Enable</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>I2C3EN</name>
              <description>I2C3 Peripheral Clocks
              Enable</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>CECEN</name>
              <description>HDMI-CEC peripheral clock
              enable</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>DAC12EN</name>
              <description>DAC1&amp;2 peripheral clock
              enable</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>UART7EN</name>
              <description>UART7 Peripheral Clocks Enable</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>UART8EN</name>
              <description>UART8 Peripheral Clocks Enable</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>C1_APB1LENR</name>
          <displayName>C1_APB1LENR</displayName>
          <description>RCC APB1 Clock Register</description>
          <addressOffset>0x148</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TIM2EN</name>
              <description>TIM peripheral clock
              enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TIM2EN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>The selected clock is disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>The selected clock is enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TIM3EN</name>
              <description>TIM peripheral clock
              enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>TIM4EN</name>
              <description>TIM peripheral clock
              enable</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>TIM5EN</name>
              <description>TIM peripheral clock
              enable</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>TIM6EN</name>
              <description>TIM peripheral clock
              enable</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>TIM7EN</name>
              <description>TIM peripheral clock
              enable</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>TIM12EN</name>
              <description>TIM peripheral clock
              enable</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>TIM13EN</name>
              <description>TIM peripheral clock
              enable</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>TIM14EN</name>
              <description>TIM peripheral clock
              enable</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>LPTIM1EN</name>
              <description>LPTIM1 Peripheral Clocks
              Enable</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>SPI2EN</name>
              <description>SPI2 Peripheral Clocks
              Enable</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>SPI3EN</name>
              <description>SPI3 Peripheral Clocks
              Enable</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>SPDIFRXEN</name>
              <description>SPDIFRX Peripheral Clocks
              Enable</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>USART2EN</name>
              <description>USART2 Peripheral Clocks
              Enable</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>USART3EN</name>
              <description>USART3 Peripheral Clocks
              Enable</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>UART4EN</name>
              <description>UART4 Peripheral Clocks
              Enable</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>UART5EN</name>
              <description>UART5 Peripheral Clocks
              Enable</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>I2C1EN</name>
              <description>I2C1 Peripheral Clocks
              Enable</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>I2C2EN</name>
              <description>I2C2 Peripheral Clocks
              Enable</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>I2C3EN</name>
              <description>I2C3 Peripheral Clocks
              Enable</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>CECEN</name>
              <description>HDMI-CEC peripheral clock
              enable</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>DAC12EN</name>
              <description>DAC1&amp;2 peripheral clock
              enable</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>UART7EN</name>
              <description>UART7 Peripheral Clocks Enable</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>UART8EN</name>
              <description>UART8 Peripheral Clocks Enable</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>APB1HENR</name>
          <displayName>APB1HENR</displayName>
          <description>RCC APB1 Clock Register</description>
          <addressOffset>0xEC</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CRSEN</name>
              <description>Clock Recovery System peripheral clock
              enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CRSEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>The selected clock is disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>The selected clock is enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SWPEN</name>
              <description>SWPMI Peripheral Clocks
              Enable</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CRSEN"/>
            </field>
            <field>
              <name>OPAMPEN</name>
              <description>OPAMP peripheral clock
              enable</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CRSEN"/>
            </field>
            <field>
              <name>MDIOSEN</name>
              <description>MDIOS peripheral clock
              enable</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CRSEN"/>
            </field>
            <field>
              <name>FDCANEN</name>
              <description>FDCAN Peripheral Clocks
              Enable</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CRSEN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>C1_APB1HENR</name>
          <displayName>C1_APB1HENR</displayName>
          <description>RCC APB1 Clock Register</description>
          <addressOffset>0x14C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CRSEN</name>
              <description>Clock Recovery System peripheral clock
              enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CRSEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>The selected clock is disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>The selected clock is enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SWPEN</name>
              <description>SWPMI Peripheral Clocks
              Enable</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CRSEN"/>
            </field>
            <field>
              <name>OPAMPEN</name>
              <description>OPAMP peripheral clock
              enable</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CRSEN"/>
            </field>
            <field>
              <name>MDIOSEN</name>
              <description>MDIOS peripheral clock
              enable</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CRSEN"/>
            </field>
            <field>
              <name>FDCANEN</name>
              <description>FDCAN Peripheral Clocks
              Enable</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CRSEN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>C1_APB2ENR</name>
          <displayName>C1_APB2ENR</displayName>
          <description>RCC APB2 Clock Register</description>
          <addressOffset>0x150</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TIM1EN</name>
              <description>TIM1 peripheral clock
              enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TIM1EN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>The selected clock is disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>The selected clock is enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TIM8EN</name>
              <description>TIM8 peripheral clock
              enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1EN"/>
            </field>
            <field>
              <name>USART1EN</name>
              <description>USART1 Peripheral Clocks
              Enable</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1EN"/>
            </field>
            <field>
              <name>USART6EN</name>
              <description>USART6 Peripheral Clocks
              Enable</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1EN"/>
            </field>
            <field>
              <name>SPI1EN</name>
              <description>SPI1 Peripheral Clocks
              Enable</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1EN"/>
            </field>
            <field>
              <name>SPI4EN</name>
              <description>SPI4 Peripheral Clocks
              Enable</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1EN"/>
            </field>
            <field>
              <name>TIM16EN</name>
              <description>TIM16 peripheral clock
              enable</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1EN"/>
            </field>
            <field>
              <name>TIM15EN</name>
              <description>TIM15 peripheral clock
              enable</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1EN"/>
            </field>
            <field>
              <name>TIM17EN</name>
              <description>TIM17 peripheral clock
              enable</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1EN"/>
            </field>
            <field>
              <name>SPI5EN</name>
              <description>SPI5 Peripheral Clocks
              Enable</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1EN"/>
            </field>
            <field>
              <name>SAI1EN</name>
              <description>SAI1 Peripheral Clocks
              Enable</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1EN"/>
            </field>
            <field>
              <name>SAI2EN</name>
              <description>SAI2 Peripheral Clocks
              Enable</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1EN"/>
            </field>
            <field>
              <name>SAI3EN</name>
              <description>SAI3 Peripheral Clocks
              Enable</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1EN"/>
            </field>
            <field>
              <name>DFSDM1EN</name>
              <description>DFSDM1 Peripheral Clocks
              Enable</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1EN"/>
            </field>
            <field>
              <name>HRTIMEN</name>
              <description>HRTIM peripheral clock
              enable</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1EN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>APB2ENR</name>
          <displayName>APB2ENR</displayName>
          <description>RCC APB2 Clock Register</description>
          <addressOffset>0xF0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TIM1EN</name>
              <description>TIM1 peripheral clock
              enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TIM1EN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>The selected clock is disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>The selected clock is enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TIM8EN</name>
              <description>TIM8 peripheral clock
              enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1EN"/>
            </field>
            <field>
              <name>USART1EN</name>
              <description>USART1 Peripheral Clocks
              Enable</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1EN"/>
            </field>
            <field>
              <name>USART6EN</name>
              <description>USART6 Peripheral Clocks
              Enable</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1EN"/>
            </field>
            <field>
              <name>SPI1EN</name>
              <description>SPI1 Peripheral Clocks
              Enable</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1EN"/>
            </field>
            <field>
              <name>SPI4EN</name>
              <description>SPI4 Peripheral Clocks
              Enable</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1EN"/>
            </field>
            <field>
              <name>TIM16EN</name>
              <description>TIM16 peripheral clock
              enable</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1EN"/>
            </field>
            <field>
              <name>TIM15EN</name>
              <description>TIM15 peripheral clock
              enable</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1EN"/>
            </field>
            <field>
              <name>TIM17EN</name>
              <description>TIM17 peripheral clock
              enable</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1EN"/>
            </field>
            <field>
              <name>SPI5EN</name>
              <description>SPI5 Peripheral Clocks
              Enable</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1EN"/>
            </field>
            <field>
              <name>SAI1EN</name>
              <description>SAI1 Peripheral Clocks
              Enable</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1EN"/>
            </field>
            <field>
              <name>SAI2EN</name>
              <description>SAI2 Peripheral Clocks
              Enable</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1EN"/>
            </field>
            <field>
              <name>SAI3EN</name>
              <description>SAI3 Peripheral Clocks
              Enable</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1EN"/>
            </field>
            <field>
              <name>DFSDM1EN</name>
              <description>DFSDM1 Peripheral Clocks
              Enable</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1EN"/>
            </field>
            <field>
              <name>HRTIMEN</name>
              <description>HRTIM peripheral clock
              enable</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1EN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>APB4ENR</name>
          <displayName>APB4ENR</displayName>
          <description>RCC APB4 Clock Register</description>
          <addressOffset>0xF4</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>SYSCFGEN</name>
              <description>SYSCFG peripheral clock
              enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SYSCFGEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>The selected clock is disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>The selected clock is enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LPUART1EN</name>
              <description>LPUART1 Peripheral Clocks
              Enable</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SYSCFGEN"/>
            </field>
            <field>
              <name>SPI6EN</name>
              <description>SPI6 Peripheral Clocks
              Enable</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SYSCFGEN"/>
            </field>
            <field>
              <name>I2C4EN</name>
              <description>I2C4 Peripheral Clocks
              Enable</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SYSCFGEN"/>
            </field>
            <field>
              <name>LPTIM2EN</name>
              <description>LPTIM2 Peripheral Clocks
              Enable</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SYSCFGEN"/>
            </field>
            <field>
              <name>LPTIM3EN</name>
              <description>LPTIM3 Peripheral Clocks
              Enable</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SYSCFGEN"/>
            </field>
            <field>
              <name>LPTIM4EN</name>
              <description>LPTIM4 Peripheral Clocks
              Enable</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SYSCFGEN"/>
            </field>
            <field>
              <name>LPTIM5EN</name>
              <description>LPTIM5 Peripheral Clocks
              Enable</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SYSCFGEN"/>
            </field>
            <field>
              <name>COMP12EN</name>
              <description>COMP1/2 peripheral clock
              enable</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SYSCFGEN"/>
            </field>
            <field>
              <name>VREFEN</name>
              <description>VREF peripheral clock
              enable</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SYSCFGEN"/>
            </field>
            <field>
              <name>RTCAPBEN</name>
              <description>RTC APB Clock Enable</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SYSCFGEN"/>
            </field>
            <field>
              <name>SAI4EN</name>
              <description>SAI4 Peripheral Clocks
              Enable</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SYSCFGEN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>C1_APB4ENR</name>
          <displayName>C1_APB4ENR</displayName>
          <description>RCC APB4 Clock Register</description>
          <addressOffset>0x154</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>SYSCFGEN</name>
              <description>SYSCFG peripheral clock
              enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SYSCFGEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>The selected clock is disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>The selected clock is enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LPUART1EN</name>
              <description>LPUART1 Peripheral Clocks
              Enable</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SYSCFGEN"/>
            </field>
            <field>
              <name>SPI6EN</name>
              <description>SPI6 Peripheral Clocks
              Enable</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SYSCFGEN"/>
            </field>
            <field>
              <name>I2C4EN</name>
              <description>I2C4 Peripheral Clocks
              Enable</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SYSCFGEN"/>
            </field>
            <field>
              <name>LPTIM2EN</name>
              <description>LPTIM2 Peripheral Clocks
              Enable</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SYSCFGEN"/>
            </field>
            <field>
              <name>LPTIM3EN</name>
              <description>LPTIM3 Peripheral Clocks
              Enable</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SYSCFGEN"/>
            </field>
            <field>
              <name>LPTIM4EN</name>
              <description>LPTIM4 Peripheral Clocks
              Enable</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SYSCFGEN"/>
            </field>
            <field>
              <name>LPTIM5EN</name>
              <description>LPTIM5 Peripheral Clocks
              Enable</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SYSCFGEN"/>
            </field>
            <field>
              <name>COMP12EN</name>
              <description>COMP1/2 peripheral clock
              enable</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SYSCFGEN"/>
            </field>
            <field>
              <name>VREFEN</name>
              <description>VREF peripheral clock
              enable</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SYSCFGEN"/>
            </field>
            <field>
              <name>RTCAPBEN</name>
              <description>RTC APB Clock Enable</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SYSCFGEN"/>
            </field>
            <field>
              <name>SAI4EN</name>
              <description>SAI4 Peripheral Clocks
              Enable</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SYSCFGEN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>C1_AHB3LPENR</name>
          <displayName>C1_AHB3LPENR</displayName>
          <description>RCC AHB3 Sleep Clock Register</description>
          <addressOffset>0x15C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>MDMALPEN</name>
              <description>MDMA Clock Enable During CSleep
              Mode</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>MDMALPEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>The selected clock is disabled during csleep mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>The selected clock is enabled during csleep mode</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DMA2DLPEN</name>
              <description>DMA2D Clock Enable During CSleep
              Mode</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MDMALPEN"/>
            </field>
            <field>
              <name>JPGDECLPEN</name>
              <description>JPGDEC Clock Enable During CSleep
              Mode</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MDMALPEN"/>
            </field>
            <field>
              <name>FLASHPREN</name>
              <description>Flash interface clock enable during csleep mode</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>FMCLPEN</name>
              <description>FMC Peripheral Clocks Enable During
              CSleep Mode</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MDMALPEN"/>
            </field>
            <field>
              <name>QSPILPEN</name>
              <description>QUADSPI and QUADSPI Delay Clock Enable
              During CSleep Mode</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MDMALPEN"/>
            </field>
            <field>
              <name>SDMMC1LPEN</name>
              <description>SDMMC1 and SDMMC1 Delay Clock Enable
              During CSleep Mode</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MDMALPEN"/>
            </field>
            <field>
              <name>D1DTCM1LPEN</name>
              <description>D1DTCM1 Block Clock Enable During CSleep
              mode</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MDMALPEN"/>
            </field>
            <field>
              <name>DTCM2LPEN</name>
              <description>D1 DTCM2 Block Clock Enable During
              CSleep mode</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MDMALPEN"/>
            </field>
            <field>
              <name>ITCMLPEN</name>
              <description>D1ITCM Block Clock Enable During CSleep
              mode</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MDMALPEN"/>
            </field>
            <field>
              <name>AXISRAMLPEN</name>
              <description>AXISRAM Block Clock Enable During CSleep
              mode</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MDMALPEN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>AHB3LPENR</name>
          <displayName>AHB3LPENR</displayName>
          <description>RCC AHB3 Sleep Clock Register</description>
          <addressOffset>0xFC</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>MDMALPEN</name>
              <description>MDMA Clock Enable During CSleep
              Mode</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>MDMALPEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>The selected clock is disabled during csleep mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>The selected clock is enabled during csleep mode</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DMA2DLPEN</name>
              <description>DMA2D Clock Enable During CSleep
              Mode</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MDMALPEN"/>
            </field>
            <field>
              <name>JPGDECLPEN</name>
              <description>JPGDEC Clock Enable During CSleep
              Mode</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MDMALPEN"/>
            </field>
            <field>
              <name>FLASHLPEN</name>
              <description>FLITF Clock Enable During CSleep
              Mode</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MDMALPEN"/>
            </field>
            <field>
              <name>FMCLPEN</name>
              <description>FMC Peripheral Clocks Enable During
              CSleep Mode</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MDMALPEN"/>
            </field>
            <field>
              <name>QSPILPEN</name>
              <description>QUADSPI and QUADSPI Delay Clock Enable
              During CSleep Mode</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MDMALPEN"/>
            </field>
            <field>
              <name>SDMMC1LPEN</name>
              <description>SDMMC1 and SDMMC1 Delay Clock Enable
              During CSleep Mode</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MDMALPEN"/>
            </field>
            <field>
              <name>D1DTCM1LPEN</name>
              <description>D1DTCM1 Block Clock Enable During CSleep
              mode</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MDMALPEN"/>
            </field>
            <field>
              <name>DTCM2LPEN</name>
              <description>D1 DTCM2 Block Clock Enable During
              CSleep mode</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MDMALPEN"/>
            </field>
            <field>
              <name>ITCMLPEN</name>
              <description>D1ITCM Block Clock Enable During CSleep
              mode</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MDMALPEN"/>
            </field>
            <field>
              <name>AXISRAMLPEN</name>
              <description>AXISRAM Block Clock Enable During CSleep
              mode</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MDMALPEN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>AHB1LPENR</name>
          <displayName>AHB1LPENR</displayName>
          <description>RCC AHB1 Sleep Clock Register</description>
          <addressOffset>0x100</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DMA1LPEN</name>
              <description>DMA1 Clock Enable During CSleep
              Mode</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DMA1LPEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>The selected clock is disabled during csleep mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>The selected clock is enabled during csleep mode</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DMA2LPEN</name>
              <description>DMA2 Clock Enable During CSleep
              Mode</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DMA1LPEN"/>
            </field>
            <field>
              <name>ADC12LPEN</name>
              <description>ADC1/2 Peripheral Clocks Enable During
              CSleep Mode</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DMA1LPEN"/>
            </field>
            <field>
              <name>ETH1MACLPEN</name>
              <description>Ethernet MAC bus interface Clock Enable
              During CSleep Mode</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DMA1LPEN"/>
            </field>
            <field>
              <name>ETH1TXLPEN</name>
              <description>Ethernet Transmission Clock Enable
              During CSleep Mode</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DMA1LPEN"/>
            </field>
            <field>
              <name>ETH1RXLPEN</name>
              <description>Ethernet Reception Clock Enable During
              CSleep Mode</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DMA1LPEN"/>
            </field>
            <field>
              <name>USB1OTGLPEN</name>
              <description>USB1OTG peripheral clock enable during
              CSleep mode</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DMA1LPEN"/>
            </field>
            <field>
              <name>USB1OTGULPILPEN</name>
              <description>USB_PHY1 clock enable during CSleep
              mode</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DMA1LPEN"/>
            </field>
            <field>
              <name>USB2OTGHSLPEN</name>
              <description>USB2OTG peripheral clock enable during
              CSleep mode</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DMA1LPEN"/>
            </field>
            <field>
              <name>USB2OTGHSULPILPEN</name>
              <description>USB_PHY2 clocks enable during CSleep
              mode</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DMA1LPEN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>C1_AHB1LPENR</name>
          <displayName>C1_AHB1LPENR</displayName>
          <description>RCC AHB1 Sleep Clock Register</description>
          <addressOffset>0x160</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DMA1LPEN</name>
              <description>DMA1 Clock Enable During CSleep
              Mode</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DMA1LPEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>The selected clock is disabled during csleep mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>The selected clock is enabled during csleep mode</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DMA2LPEN</name>
              <description>DMA2 Clock Enable During CSleep
              Mode</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DMA1LPEN"/>
            </field>
            <field>
              <name>ADC12LPEN</name>
              <description>ADC1/2 Peripheral Clocks Enable During
              CSleep Mode</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DMA1LPEN"/>
            </field>
            <field>
              <name>ETH1MACLPEN</name>
              <description>Ethernet MAC bus interface Clock Enable
              During CSleep Mode</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DMA1LPEN"/>
            </field>
            <field>
              <name>ETH1TXLPEN</name>
              <description>Ethernet Transmission Clock Enable
              During CSleep Mode</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DMA1LPEN"/>
            </field>
            <field>
              <name>ETH1RXLPEN</name>
              <description>Ethernet Reception Clock Enable During
              CSleep Mode</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DMA1LPEN"/>
            </field>
            <field>
              <name>USB1OTGLPEN</name>
              <description>USB1OTG peripheral clock enable during
              CSleep mode</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DMA1LPEN"/>
            </field>
            <field>
              <name>USB1OTGULPILPEN</name>
              <description>USB_PHY1 clock enable during CSleep
              mode</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DMA1LPEN"/>
            </field>
            <field>
              <name>USB2OTGLPEN</name>
              <description>USB2OTG peripheral clock enable during
              CSleep mode</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DMA1LPEN"/>
            </field>
            <field>
              <name>USB2ULPILPEN</name>
              <description>USB_PHY2 clocks enable during CSleep
              mode</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DMA1LPEN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>C1_AHB2LPENR</name>
          <displayName>C1_AHB2LPENR</displayName>
          <description>RCC AHB2 Sleep Clock Register</description>
          <addressOffset>0x164</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DCMILPEN</name>
              <description>DCMI peripheral clock enable during csleep mode</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DCMILPEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>The selected clock is disabled during csleep mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>The selected clock is enabled during csleep mode</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CRYPTLPEN</name>
              <description>CRYPT peripheral clock enable during
              CSleep mode</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DCMILPEN"/>
            </field>
            <field>
              <name>HASHLPEN</name>
              <description>HASH peripheral clock enable during
              CSleep mode</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DCMILPEN"/>
            </field>
            <field>
              <name>SDMMC2LPEN</name>
              <description>SDMMC2 and SDMMC2 Delay Clock Enable
              During CSleep Mode</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DCMILPEN"/>
            </field>
            <field>
              <name>RNGLPEN</name>
              <description>RNG peripheral clock enable during
              CSleep mode</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DCMILPEN"/>
            </field>
            <field>
              <name>SRAM1LPEN</name>
              <description>SRAM1 Clock Enable During CSleep
              Mode</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DCMILPEN"/>
            </field>
            <field>
              <name>SRAM2LPEN</name>
              <description>SRAM2 Clock Enable During CSleep
              Mode</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DCMILPEN"/>
            </field>
            <field>
              <name>SRAM3LPEN</name>
              <description>SRAM3 Clock Enable During CSleep
              Mode</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DCMILPEN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>AHB2LPENR</name>
          <displayName>AHB2LPENR</displayName>
          <description>RCC AHB2 Sleep Clock Register</description>
          <addressOffset>0x104</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DCMILPEN</name>
              <description>DCMI peripheral clock enable during csleep mode</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DCMILPEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>The selected clock is disabled during csleep mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>The selected clock is enabled during csleep mode</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CRYPTLPEN</name>
              <description>CRYPT peripheral clock enable during
              CSleep mode</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DCMILPEN"/>
            </field>
            <field>
              <name>HASHLPEN</name>
              <description>HASH peripheral clock enable during
              CSleep mode</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DCMILPEN"/>
            </field>
            <field>
              <name>SDMMC2LPEN</name>
              <description>SDMMC2 and SDMMC2 Delay Clock Enable
              During CSleep Mode</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DCMILPEN"/>
            </field>
            <field>
              <name>RNGLPEN</name>
              <description>RNG peripheral clock enable during
              CSleep mode</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DCMILPEN"/>
            </field>
            <field>
              <name>SRAM1LPEN</name>
              <description>SRAM1 Clock Enable During CSleep
              Mode</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DCMILPEN"/>
            </field>
            <field>
              <name>SRAM2LPEN</name>
              <description>SRAM2 Clock Enable During CSleep
              Mode</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DCMILPEN"/>
            </field>
            <field>
              <name>SRAM3LPEN</name>
              <description>SRAM3 Clock Enable During CSleep
              Mode</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DCMILPEN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>AHB4LPENR</name>
          <displayName>AHB4LPENR</displayName>
          <description>RCC AHB4 Sleep Clock Register</description>
          <addressOffset>0x108</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>GPIOALPEN</name>
              <description>GPIO peripheral clock enable during
              CSleep mode</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>GPIOALPEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>The selected clock is disabled during csleep mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>The selected clock is enabled during csleep mode</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>GPIOBLPEN</name>
              <description>GPIO peripheral clock enable during
              CSleep mode</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOALPEN"/>
            </field>
            <field>
              <name>GPIOCLPEN</name>
              <description>GPIO peripheral clock enable during
              CSleep mode</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOALPEN"/>
            </field>
            <field>
              <name>GPIODLPEN</name>
              <description>GPIO peripheral clock enable during
              CSleep mode</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOALPEN"/>
            </field>
            <field>
              <name>GPIOELPEN</name>
              <description>GPIO peripheral clock enable during
              CSleep mode</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOALPEN"/>
            </field>
            <field>
              <name>GPIOFLPEN</name>
              <description>GPIO peripheral clock enable during
              CSleep mode</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOALPEN"/>
            </field>
            <field>
              <name>GPIOGLPEN</name>
              <description>GPIO peripheral clock enable during
              CSleep mode</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOALPEN"/>
            </field>
            <field>
              <name>GPIOHLPEN</name>
              <description>GPIO peripheral clock enable during
              CSleep mode</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOALPEN"/>
            </field>
            <field>
              <name>GPIOILPEN</name>
              <description>GPIO peripheral clock enable during
              CSleep mode</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOALPEN"/>
            </field>
            <field>
              <name>GPIOJLPEN</name>
              <description>GPIO peripheral clock enable during
              CSleep mode</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOALPEN"/>
            </field>
            <field>
              <name>GPIOKLPEN</name>
              <description>GPIO peripheral clock enable during
              CSleep mode</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOALPEN"/>
            </field>
            <field>
              <name>CRCLPEN</name>
              <description>CRC peripheral clock enable during
              CSleep mode</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOALPEN"/>
            </field>
            <field>
              <name>BDMALPEN</name>
              <description>BDMA Clock Enable During CSleep
              Mode</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOALPEN"/>
            </field>
            <field>
              <name>ADC3LPEN</name>
              <description>ADC3 Peripheral Clocks Enable During
              CSleep Mode</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOALPEN"/>
            </field>
            <field>
              <name>BKPRAMLPEN</name>
              <description>Backup RAM Clock Enable During CSleep
              Mode</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOALPEN"/>
            </field>
            <field>
              <name>SRAM4LPEN</name>
              <description>SRAM4 Clock Enable During CSleep
              Mode</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOALPEN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>C1_AHB4LPENR</name>
          <displayName>C1_AHB4LPENR</displayName>
          <description>RCC AHB4 Sleep Clock Register</description>
          <addressOffset>0x168</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>GPIOALPEN</name>
              <description>GPIO peripheral clock enable during
              CSleep mode</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>GPIOALPEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>The selected clock is disabled during csleep mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>The selected clock is enabled during csleep mode</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>GPIOBLPEN</name>
              <description>GPIO peripheral clock enable during
              CSleep mode</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOALPEN"/>
            </field>
            <field>
              <name>GPIOCLPEN</name>
              <description>GPIO peripheral clock enable during
              CSleep mode</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOALPEN"/>
            </field>
            <field>
              <name>GPIODLPEN</name>
              <description>GPIO peripheral clock enable during
              CSleep mode</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOALPEN"/>
            </field>
            <field>
              <name>GPIOELPEN</name>
              <description>GPIO peripheral clock enable during
              CSleep mode</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOALPEN"/>
            </field>
            <field>
              <name>GPIOFLPEN</name>
              <description>GPIO peripheral clock enable during
              CSleep mode</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOALPEN"/>
            </field>
            <field>
              <name>GPIOGLPEN</name>
              <description>GPIO peripheral clock enable during
              CSleep mode</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOALPEN"/>
            </field>
            <field>
              <name>GPIOHLPEN</name>
              <description>GPIO peripheral clock enable during
              CSleep mode</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOALPEN"/>
            </field>
            <field>
              <name>GPIOILPEN</name>
              <description>GPIO peripheral clock enable during
              CSleep mode</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOALPEN"/>
            </field>
            <field>
              <name>GPIOJLPEN</name>
              <description>GPIO peripheral clock enable during
              CSleep mode</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOALPEN"/>
            </field>
            <field>
              <name>GPIOKLPEN</name>
              <description>GPIO peripheral clock enable during
              CSleep mode</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOALPEN"/>
            </field>
            <field>
              <name>CRCLPEN</name>
              <description>CRC peripheral clock enable during
              CSleep mode</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOALPEN"/>
            </field>
            <field>
              <name>BDMALPEN</name>
              <description>BDMA Clock Enable During CSleep
              Mode</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOALPEN"/>
            </field>
            <field>
              <name>ADC3LPEN</name>
              <description>ADC3 Peripheral Clocks Enable During
              CSleep Mode</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOALPEN"/>
            </field>
            <field>
              <name>BKPRAMLPEN</name>
              <description>Backup RAM Clock Enable During CSleep
              Mode</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOALPEN"/>
            </field>
            <field>
              <name>SRAM4LPEN</name>
              <description>SRAM4 Clock Enable During CSleep
              Mode</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOALPEN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>C1_APB3LPENR</name>
          <displayName>C1_APB3LPENR</displayName>
          <description>RCC APB3 Sleep Clock Register</description>
          <addressOffset>0x16C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>LTDCLPEN</name>
              <description>LTDC peripheral clock enable during
              CSleep mode</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>LTDCLPEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>The selected clock is disabled during csleep mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>The selected clock is enabled during csleep mode</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>WWDG1LPEN</name>
              <description>WWDG1 Clock Enable During CSleep
              Mode</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="LTDCLPEN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>APB3LPENR</name>
          <displayName>APB3LPENR</displayName>
          <description>RCC APB3 Sleep Clock Register</description>
          <addressOffset>0x10C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>LTDCLPEN</name>
              <description>LTDC peripheral clock enable during
              CSleep mode</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>LTDCLPEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>The selected clock is disabled during csleep mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>The selected clock is enabled during csleep mode</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>WWDG1LPEN</name>
              <description>WWDG1 Clock Enable During CSleep
              Mode</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="LTDCLPEN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>APB1LLPENR</name>
          <displayName>APB1LLPENR</displayName>
          <description>RCC APB1 Low Sleep Clock
          Register</description>
          <addressOffset>0x110</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TIM2LPEN</name>
              <description>TIM2 peripheral clock enable during
              CSleep mode</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TIM2LPEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>The selected clock is disabled during csleep mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>The selected clock is enabled during csleep mode</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TIM3LPEN</name>
              <description>TIM3 peripheral clock enable during
              CSleep mode</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2LPEN"/>
            </field>
            <field>
              <name>TIM4LPEN</name>
              <description>TIM4 peripheral clock enable during
              CSleep mode</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2LPEN"/>
            </field>
            <field>
              <name>TIM5LPEN</name>
              <description>TIM5 peripheral clock enable during
              CSleep mode</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2LPEN"/>
            </field>
            <field>
              <name>TIM6LPEN</name>
              <description>TIM6 peripheral clock enable during
              CSleep mode</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2LPEN"/>
            </field>
            <field>
              <name>TIM7LPEN</name>
              <description>TIM7 peripheral clock enable during
              CSleep mode</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2LPEN"/>
            </field>
            <field>
              <name>TIM12LPEN</name>
              <description>TIM12 peripheral clock enable during
              CSleep mode</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2LPEN"/>
            </field>
            <field>
              <name>TIM13LPEN</name>
              <description>TIM13 peripheral clock enable during
              CSleep mode</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2LPEN"/>
            </field>
            <field>
              <name>TIM14LPEN</name>
              <description>TIM14 peripheral clock enable during
              CSleep mode</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2LPEN"/>
            </field>
            <field>
              <name>LPTIM1LPEN</name>
              <description>LPTIM1 Peripheral Clocks Enable During
              CSleep Mode</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2LPEN"/>
            </field>
            <field>
              <name>SPI2LPEN</name>
              <description>SPI2 Peripheral Clocks Enable During
              CSleep Mode</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2LPEN"/>
            </field>
            <field>
              <name>SPI3LPEN</name>
              <description>SPI3 Peripheral Clocks Enable During
              CSleep Mode</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2LPEN"/>
            </field>
            <field>
              <name>SPDIFRXLPEN</name>
              <description>SPDIFRX Peripheral Clocks Enable During
              CSleep Mode</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2LPEN"/>
            </field>
            <field>
              <name>USART2LPEN</name>
              <description>USART2 Peripheral Clocks Enable During
              CSleep Mode</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2LPEN"/>
            </field>
            <field>
              <name>USART3LPEN</name>
              <description>USART3 Peripheral Clocks Enable During
              CSleep Mode</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2LPEN"/>
            </field>
            <field>
              <name>UART4LPEN</name>
              <description>UART4 Peripheral Clocks Enable During
              CSleep Mode</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2LPEN"/>
            </field>
            <field>
              <name>UART5LPEN</name>
              <description>UART5 Peripheral Clocks Enable During
              CSleep Mode</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2LPEN"/>
            </field>
            <field>
              <name>I2C1LPEN</name>
              <description>I2C1 Peripheral Clocks Enable During
              CSleep Mode</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2LPEN"/>
            </field>
            <field>
              <name>I2C2LPEN</name>
              <description>I2C2 Peripheral Clocks Enable During
              CSleep Mode</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2LPEN"/>
            </field>
            <field>
              <name>I2C3LPEN</name>
              <description>I2C3 Peripheral Clocks Enable During
              CSleep Mode</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2LPEN"/>
            </field>
            <field>
              <name>CECLPEN</name>
              <description>HDMI-CEC Peripheral Clocks Enable During
              CSleep Mode</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2LPEN"/>
            </field>
            <field>
              <name>DAC12LPEN</name>
              <description>DAC1/2 peripheral clock enable during
              CSleep mode</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2LPEN"/>
            </field>
            <field>
              <name>UART7LPEN</name>
              <description>UART7 Peripheral Clocks Enable During CSleep Mode</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2LPEN"/>
            </field>
            <field>
              <name>UART8LPEN</name>
              <description>UART8 Peripheral Clocks Enable During CSleep Mode</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2LPEN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>C1_APB1LLPENR</name>
          <displayName>C1_APB1LLPENR</displayName>
          <description>RCC APB1 Low Sleep Clock
          Register</description>
          <addressOffset>0x170</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TIM2LPEN</name>
              <description>TIM2 peripheral clock enable during
              CSleep mode</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TIM2LPEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>The selected clock is disabled during csleep mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>The selected clock is enabled during csleep mode</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TIM3LPEN</name>
              <description>TIM3 peripheral clock enable during
              CSleep mode</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2LPEN"/>
            </field>
            <field>
              <name>TIM4LPEN</name>
              <description>TIM4 peripheral clock enable during
              CSleep mode</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2LPEN"/>
            </field>
            <field>
              <name>TIM5LPEN</name>
              <description>TIM5 peripheral clock enable during
              CSleep mode</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2LPEN"/>
            </field>
            <field>
              <name>TIM6LPEN</name>
              <description>TIM6 peripheral clock enable during
              CSleep mode</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2LPEN"/>
            </field>
            <field>
              <name>TIM7LPEN</name>
              <description>TIM7 peripheral clock enable during
              CSleep mode</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2LPEN"/>
            </field>
            <field>
              <name>TIM12LPEN</name>
              <description>TIM12 peripheral clock enable during
              CSleep mode</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2LPEN"/>
            </field>
            <field>
              <name>TIM13LPEN</name>
              <description>TIM13 peripheral clock enable during
              CSleep mode</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2LPEN"/>
            </field>
            <field>
              <name>TIM14LPEN</name>
              <description>TIM14 peripheral clock enable during
              CSleep mode</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2LPEN"/>
            </field>
            <field>
              <name>LPTIM1LPEN</name>
              <description>LPTIM1 Peripheral Clocks Enable During
              CSleep Mode</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2LPEN"/>
            </field>
            <field>
              <name>SPI2LPEN</name>
              <description>SPI2 Peripheral Clocks Enable During
              CSleep Mode</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2LPEN"/>
            </field>
            <field>
              <name>SPI3LPEN</name>
              <description>SPI3 Peripheral Clocks Enable During
              CSleep Mode</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2LPEN"/>
            </field>
            <field>
              <name>SPDIFRXLPEN</name>
              <description>SPDIFRX Peripheral Clocks Enable During
              CSleep Mode</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2LPEN"/>
            </field>
            <field>
              <name>USART2LPEN</name>
              <description>USART2 Peripheral Clocks Enable During
              CSleep Mode</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2LPEN"/>
            </field>
            <field>
              <name>USART3LPEN</name>
              <description>USART3 Peripheral Clocks Enable During
              CSleep Mode</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2LPEN"/>
            </field>
            <field>
              <name>UART4LPEN</name>
              <description>UART4 Peripheral Clocks Enable During
              CSleep Mode</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2LPEN"/>
            </field>
            <field>
              <name>UART5LPEN</name>
              <description>UART5 Peripheral Clocks Enable During
              CSleep Mode</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2LPEN"/>
            </field>
            <field>
              <name>I2C1LPEN</name>
              <description>I2C1 Peripheral Clocks Enable During
              CSleep Mode</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2LPEN"/>
            </field>
            <field>
              <name>I2C2LPEN</name>
              <description>I2C2 Peripheral Clocks Enable During
              CSleep Mode</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2LPEN"/>
            </field>
            <field>
              <name>I2C3LPEN</name>
              <description>I2C3 Peripheral Clocks Enable During
              CSleep Mode</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2LPEN"/>
            </field>
            <field>
              <name>CECLPEN</name>
              <description>HDMI-CEC Peripheral Clocks Enable During
              CSleep Mode</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2LPEN"/>
            </field>
            <field>
              <name>DAC12LPEN</name>
              <description>DAC1/2 peripheral clock enable during
              CSleep mode</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2LPEN"/>
            </field>
            <field>
              <name>UART7LPEN</name>
              <description>UART7 Peripheral Clocks Enable During CSleep Mode</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2LPEN"/>
            </field>
            <field>
              <name>UART8LPEN</name>
              <description>UART8 Peripheral Clocks Enable During CSleep Mode</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2LPEN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>C1_APB1HLPENR</name>
          <displayName>C1_APB1HLPENR</displayName>
          <description>RCC APB1 High Sleep Clock
          Register</description>
          <addressOffset>0x174</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CRSLPEN</name>
              <description>Clock Recovery System peripheral clock
              enable during CSleep mode</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CRSLPEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>The selected clock is disabled during csleep mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>The selected clock is enabled during csleep mode</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SWPLPEN</name>
              <description>SWPMI Peripheral Clocks Enable During
              CSleep Mode</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CRSLPEN"/>
            </field>
            <field>
              <name>OPAMPLPEN</name>
              <description>OPAMP peripheral clock enable during
              CSleep mode</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CRSLPEN"/>
            </field>
            <field>
              <name>MDIOSLPEN</name>
              <description>MDIOS peripheral clock enable during
              CSleep mode</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CRSLPEN"/>
            </field>
            <field>
              <name>FDCANLPEN</name>
              <description>FDCAN Peripheral Clocks Enable During
              CSleep Mode</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CRSLPEN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>APB1HLPENR</name>
          <displayName>APB1HLPENR</displayName>
          <description>RCC APB1 High Sleep Clock
          Register</description>
          <addressOffset>0x114</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CRSLPEN</name>
              <description>Clock Recovery System peripheral clock
              enable during CSleep mode</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CRSLPEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>The selected clock is disabled during csleep mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>The selected clock is enabled during csleep mode</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SWPLPEN</name>
              <description>SWPMI Peripheral Clocks Enable During
              CSleep Mode</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CRSLPEN"/>
            </field>
            <field>
              <name>OPAMPLPEN</name>
              <description>OPAMP peripheral clock enable during
              CSleep mode</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CRSLPEN"/>
            </field>
            <field>
              <name>MDIOSLPEN</name>
              <description>MDIOS peripheral clock enable during
              CSleep mode</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CRSLPEN"/>
            </field>
            <field>
              <name>FDCANLPEN</name>
              <description>FDCAN Peripheral Clocks Enable During
              CSleep Mode</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CRSLPEN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>APB2LPENR</name>
          <displayName>APB2LPENR</displayName>
          <description>RCC APB2 Sleep Clock Register</description>
          <addressOffset>0x118</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TIM1LPEN</name>
              <description>TIM1 peripheral clock enable during
              CSleep mode</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TIM1LPEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>The selected clock is disabled during csleep mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>The selected clock is enabled during csleep mode</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TIM8LPEN</name>
              <description>TIM8 peripheral clock enable during
              CSleep mode</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1LPEN"/>
            </field>
            <field>
              <name>USART1LPEN</name>
              <description>USART1 Peripheral Clocks Enable During
              CSleep Mode</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1LPEN"/>
            </field>
            <field>
              <name>USART6LPEN</name>
              <description>USART6 Peripheral Clocks Enable During
              CSleep Mode</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1LPEN"/>
            </field>
            <field>
              <name>SPI1LPEN</name>
              <description>SPI1 Peripheral Clocks Enable During
              CSleep Mode</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1LPEN"/>
            </field>
            <field>
              <name>SPI4LPEN</name>
              <description>SPI4 Peripheral Clocks Enable During
              CSleep Mode</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1LPEN"/>
            </field>
            <field>
              <name>TIM15LPEN</name>
              <description>TIM15 peripheral clock enable during
              CSleep mode</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1LPEN"/>
            </field>
            <field>
              <name>TIM16LPEN</name>
              <description>TIM16 peripheral clock enable during
              CSleep mode</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1LPEN"/>
            </field>
            <field>
              <name>TIM17LPEN</name>
              <description>TIM17 peripheral clock enable during
              CSleep mode</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1LPEN"/>
            </field>
            <field>
              <name>SPI5LPEN</name>
              <description>SPI5 Peripheral Clocks Enable During
              CSleep Mode</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1LPEN"/>
            </field>
            <field>
              <name>SAI1LPEN</name>
              <description>SAI1 Peripheral Clocks Enable During
              CSleep Mode</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1LPEN"/>
            </field>
            <field>
              <name>SAI2LPEN</name>
              <description>SAI2 Peripheral Clocks Enable During
              CSleep Mode</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1LPEN"/>
            </field>
            <field>
              <name>SAI3LPEN</name>
              <description>SAI3 Peripheral Clocks Enable During
              CSleep Mode</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1LPEN"/>
            </field>
            <field>
              <name>DFSDM1LPEN</name>
              <description>DFSDM1 Peripheral Clocks Enable During
              CSleep Mode</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1LPEN"/>
            </field>
            <field>
              <name>HRTIMLPEN</name>
              <description>HRTIM peripheral clock enable during
              CSleep mode</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1LPEN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>C1_APB2LPENR</name>
          <displayName>C1_APB2LPENR</displayName>
          <description>RCC APB2 Sleep Clock Register</description>
          <addressOffset>0x178</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TIM1LPEN</name>
              <description>TIM1 peripheral clock enable during
              CSleep mode</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TIM1LPEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>The selected clock is disabled during csleep mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>The selected clock is enabled during csleep mode</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TIM8LPEN</name>
              <description>TIM8 peripheral clock enable during
              CSleep mode</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1LPEN"/>
            </field>
            <field>
              <name>USART1LPEN</name>
              <description>USART1 Peripheral Clocks Enable During
              CSleep Mode</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1LPEN"/>
            </field>
            <field>
              <name>USART6LPEN</name>
              <description>USART6 Peripheral Clocks Enable During
              CSleep Mode</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1LPEN"/>
            </field>
            <field>
              <name>SPI1LPEN</name>
              <description>SPI1 Peripheral Clocks Enable During
              CSleep Mode</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1LPEN"/>
            </field>
            <field>
              <name>SPI4LPEN</name>
              <description>SPI4 Peripheral Clocks Enable During
              CSleep Mode</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1LPEN"/>
            </field>
            <field>
              <name>TIM15LPEN</name>
              <description>TIM15 peripheral clock enable during
              CSleep mode</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1LPEN"/>
            </field>
            <field>
              <name>TIM16LPEN</name>
              <description>TIM16 peripheral clock enable during
              CSleep mode</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1LPEN"/>
            </field>
            <field>
              <name>TIM17LPEN</name>
              <description>TIM17 peripheral clock enable during
              CSleep mode</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1LPEN"/>
            </field>
            <field>
              <name>SPI5LPEN</name>
              <description>SPI5 Peripheral Clocks Enable During
              CSleep Mode</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1LPEN"/>
            </field>
            <field>
              <name>SAI1LPEN</name>
              <description>SAI1 Peripheral Clocks Enable During
              CSleep Mode</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1LPEN"/>
            </field>
            <field>
              <name>SAI2LPEN</name>
              <description>SAI2 Peripheral Clocks Enable During
              CSleep Mode</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1LPEN"/>
            </field>
            <field>
              <name>SAI3LPEN</name>
              <description>SAI3 Peripheral Clocks Enable During
              CSleep Mode</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1LPEN"/>
            </field>
            <field>
              <name>DFSDM1LPEN</name>
              <description>DFSDM1 Peripheral Clocks Enable During
              CSleep Mode</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1LPEN"/>
            </field>
            <field>
              <name>HRTIMLPEN</name>
              <description>HRTIM peripheral clock enable during
              CSleep mode</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM1LPEN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>C1_APB4LPENR</name>
          <displayName>C1_APB4LPENR</displayName>
          <description>RCC APB4 Sleep Clock Register</description>
          <addressOffset>0x17C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>SYSCFGLPEN</name>
              <description>SYSCFG peripheral clock enable during
              CSleep mode</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SYSCFGLPEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>The selected clock is disabled during csleep mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>The selected clock is enabled during csleep mode</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LPUART1LPEN</name>
              <description>LPUART1 Peripheral Clocks Enable During
              CSleep Mode</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SYSCFGLPEN"/>
            </field>
            <field>
              <name>SPI6LPEN</name>
              <description>SPI6 Peripheral Clocks Enable During
              CSleep Mode</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SYSCFGLPEN"/>
            </field>
            <field>
              <name>I2C4LPEN</name>
              <description>I2C4 Peripheral Clocks Enable During
              CSleep Mode</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SYSCFGLPEN"/>
            </field>
            <field>
              <name>LPTIM2LPEN</name>
              <description>LPTIM2 Peripheral Clocks Enable During
              CSleep Mode</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SYSCFGLPEN"/>
            </field>
            <field>
              <name>LPTIM3LPEN</name>
              <description>LPTIM3 Peripheral Clocks Enable During
              CSleep Mode</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SYSCFGLPEN"/>
            </field>
            <field>
              <name>LPTIM4LPEN</name>
              <description>LPTIM4 Peripheral Clocks Enable During
              CSleep Mode</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SYSCFGLPEN"/>
            </field>
            <field>
              <name>LPTIM5LPEN</name>
              <description>LPTIM5 Peripheral Clocks Enable During
              CSleep Mode</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SYSCFGLPEN"/>
            </field>
            <field>
              <name>COMP12LPEN</name>
              <description>COMP1/2 peripheral clock enable during
              CSleep mode</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SYSCFGLPEN"/>
            </field>
            <field>
              <name>VREFLPEN</name>
              <description>VREF peripheral clock enable during
              CSleep mode</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SYSCFGLPEN"/>
            </field>
            <field>
              <name>RTCAPBLPEN</name>
              <description>RTC APB Clock Enable During CSleep
              Mode</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SYSCFGLPEN"/>
            </field>
            <field>
              <name>SAI4LPEN</name>
              <description>SAI4 Peripheral Clocks Enable During
              CSleep Mode</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SYSCFGLPEN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>APB4LPENR</name>
          <displayName>APB4LPENR</displayName>
          <description>RCC APB4 Sleep Clock Register</description>
          <addressOffset>0x11C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>SYSCFGLPEN</name>
              <description>SYSCFG peripheral clock enable during
              CSleep mode</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SYSCFGLPEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>The selected clock is disabled during csleep mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>The selected clock is enabled during csleep mode</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LPUART1LPEN</name>
              <description>LPUART1 Peripheral Clocks Enable During
              CSleep Mode</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SYSCFGLPEN"/>
            </field>
            <field>
              <name>SPI6LPEN</name>
              <description>SPI6 Peripheral Clocks Enable During
              CSleep Mode</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SYSCFGLPEN"/>
            </field>
            <field>
              <name>I2C4LPEN</name>
              <description>I2C4 Peripheral Clocks Enable During
              CSleep Mode</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SYSCFGLPEN"/>
            </field>
            <field>
              <name>LPTIM2LPEN</name>
              <description>LPTIM2 Peripheral Clocks Enable During
              CSleep Mode</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SYSCFGLPEN"/>
            </field>
            <field>
              <name>LPTIM3LPEN</name>
              <description>LPTIM3 Peripheral Clocks Enable During
              CSleep Mode</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SYSCFGLPEN"/>
            </field>
            <field>
              <name>LPTIM4LPEN</name>
              <description>LPTIM4 Peripheral Clocks Enable During
              CSleep Mode</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SYSCFGLPEN"/>
            </field>
            <field>
              <name>LPTIM5LPEN</name>
              <description>LPTIM5 Peripheral Clocks Enable During
              CSleep Mode</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SYSCFGLPEN"/>
            </field>
            <field>
              <name>COMP12LPEN</name>
              <description>COMP1/2 peripheral clock enable during
              CSleep mode</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SYSCFGLPEN"/>
            </field>
            <field>
              <name>VREFLPEN</name>
              <description>VREF peripheral clock enable during
              CSleep mode</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SYSCFGLPEN"/>
            </field>
            <field>
              <name>RTCAPBLPEN</name>
              <description>RTC APB Clock Enable During CSleep
              Mode</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SYSCFGLPEN"/>
            </field>
            <field>
              <name>SAI4LPEN</name>
              <description>SAI4 Peripheral Clocks Enable During
              CSleep Mode</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SYSCFGLPEN"/>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>LPTIM1</name>
      <description>Low power timer</description>
      <groupName>LPTIM</groupName>
      <baseAddress>0x40002400</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>LPTIM1</name>
        <description>LPTIM1 global interrupt</description>
        <value>93</value>
      </interrupt>
      <registers>
        <register>
          <name>ISR</name>
          <displayName>ISR</displayName>
          <description>Interrupt and Status Register</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DOWN</name>
              <description>Counter direction change up to
              down</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DOWNR</name>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Counter direction change up to down</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>UP</name>
              <description>Counter direction change down to
              up</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>UPR</name>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Counter direction change down to up</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ARROK</name>
              <description>Autoreload register update
              OK</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ARROKR</name>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Autoreload register update OK</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CMPOK</name>
              <description>Compare register update OK</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CMPOKR</name>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Compare register update OK</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EXTTRIG</name>
              <description>External trigger edge
              event</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>EXTTRIGR</name>
                <enumeratedValue>
                  <name>Set</name>
                  <description>External trigger edge event</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ARRM</name>
              <description>Autoreload match</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ARRMR</name>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Autoreload match</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CMPM</name>
              <description>Compare match</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CMPMR</name>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Compare match</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>ICR</name>
          <displayName>ICR</displayName>
          <description>Interrupt Clear Register</description>
          <addressOffset>0x4</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DOWNCF</name>
              <description>Direction change to down Clear
              Flag</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DOWNCFW</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Direction change to down Clear Flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>UPCF</name>
              <description>Direction change to UP Clear
              Flag</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>UPCFW</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Direction change to up Clear Flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ARROKCF</name>
              <description>Autoreload register update OK Clear
              Flag</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ARROKCFW</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Autoreload register update OK Clear Flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CMPOKCF</name>
              <description>Compare register update OK Clear
              Flag</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CMPOKCFW</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Compare register update OK Clear Flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EXTTRIGCF</name>
              <description>External trigger valid edge Clear
              Flag</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>EXTTRIGCFW</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>External trigger valid edge Clear Flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ARRMCF</name>
              <description>Autoreload match Clear
              Flag</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ARRMCFW</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Autoreload match Clear Flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CMPMCF</name>
              <description>compare match Clear Flag</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CMPMCFW</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Compare match Clear Flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>IER</name>
          <displayName>IER</displayName>
          <description>Interrupt Enable Register</description>
          <addressOffset>0x8</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DOWNIE</name>
              <description>Direction change to down Interrupt
              Enable</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DOWNIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>DOWN interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>DOWN interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>UPIE</name>
              <description>Direction change to UP Interrupt
              Enable</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>UPIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>UP interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>UP interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ARROKIE</name>
              <description>Autoreload register update OK Interrupt
              Enable</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ARROKIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>ARROK interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>ARROK interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CMPOKIE</name>
              <description>Compare register update OK Interrupt
              Enable</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CMPOKIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>CMPOK interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>CMPOK interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EXTTRIGIE</name>
              <description>External trigger valid edge Interrupt
              Enable</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>EXTTRIGIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>EXTTRIG interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>EXTTRIG interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ARRMIE</name>
              <description>Autoreload match Interrupt
              Enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ARRMIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>ARRM interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>ARRM interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CMPMIE</name>
              <description>Compare match Interrupt
              Enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CMPMIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>CMPM interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>CMPM interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CFGR</name>
          <displayName>CFGR</displayName>
          <description>Configuration Register</description>
          <addressOffset>0xC</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>ENC</name>
              <description>Encoder mode enable</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ENC</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Encoder mode disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Encoder mode enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>COUNTMODE</name>
              <description>counter mode enabled</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>COUNTMODE</name>
                <enumeratedValue>
                  <name>Internal</name>
                  <description>The counter is incremented following each internal clock pulse</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>External</name>
                  <description>The counter is incremented following each valid clock pulse on the LPTIM external Input1</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PRELOAD</name>
              <description>Registers update mode</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>PRELOAD</name>
                <enumeratedValue>
                  <name>Immediate</name>
                  <description>Registers are updated after each APB bus write access</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>EndOfPeriod</name>
                  <description>Registers are updated at the end of the current LPTIM period</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>WAVPOL</name>
              <description>Waveform shape polarity</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>WAVPOL</name>
                <enumeratedValue>
                  <name>Positive</name>
                  <description>The LPTIM output reflects the compare results between LPTIM_ARR and LPTIM_CMP registers</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Negative</name>
                  <description>The LPTIM output reflects the inverse of the compare results between LPTIM_ARR and LPTIM_CMP registers</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>WAVE</name>
              <description>Waveform shape</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>WAVE</name>
                <enumeratedValue>
                  <name>Inactive</name>
                  <description>Deactivate Set-once mode, PWM / One Pulse waveform (depending on OPMODE bit)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Active</name>
                  <description>Activate the Set-once mode</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TIMOUT</name>
              <description>Timeout enable</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TIMOUT</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>A trigger event arriving when the timer is already started will be ignored</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>A trigger event arriving when the timer is already started will reset and restart the counter</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TRIGEN</name>
              <description>Trigger enable and
              polarity</description>
              <bitOffset>17</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>TRIGEN</name>
                <enumeratedValue>
                  <name>SW</name>
                  <description>Software trigger (counting start is initiated by software)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>RisingEdge</name>
                  <description>Rising edge is the active edge</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FallingEdge</name>
                  <description>Falling edge is the active edge</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>BothEdges</name>
                  <description>Both edges are active edges</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TRIGSEL</name>
              <description>Trigger selector</description>
              <bitOffset>13</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>TRIGSEL</name>
                <enumeratedValue>
                  <name>Trig0</name>
                  <description>lptim_ext_trig0</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Trig1</name>
                  <description>lptim_ext_trig1</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Trig2</name>
                  <description>lptim_ext_trig2</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Trig3</name>
                  <description>lptim_ext_trig3</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Trig4</name>
                  <description>lptim_ext_trig4</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Trig5</name>
                  <description>lptim_ext_trig5</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Trig6</name>
                  <description>lptim_ext_trig6</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Trig7</name>
                  <description>lptim_ext_trig7</description>
                  <value>7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PRESC</name>
              <description>Clock prescaler</description>
              <bitOffset>9</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>PRESC</name>
                <enumeratedValue>
                  <name>Div1</name>
                  <description>/1</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div2</name>
                  <description>/2</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div4</name>
                  <description>/4</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div8</name>
                  <description>/8</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div16</name>
                  <description>/16</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div32</name>
                  <description>/32</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div64</name>
                  <description>/64</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div128</name>
                  <description>/128</description>
                  <value>7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TRGFLT</name>
              <description>Configurable digital filter for
              trigger</description>
              <bitOffset>6</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>TRGFLT</name>
                <enumeratedValue>
                  <name>Immediate</name>
                  <description>Any trigger active level change is considered as a valid trigger</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Clocks2</name>
                  <description>Trigger active level change must be stable for at least 2 clock periods before it is considered as valid trigger</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Clocks4</name>
                  <description>Trigger active level change must be stable for at least 4 clock periods before it is considered as valid trigger</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Clocks8</name>
                  <description>Trigger active level change must be stable for at least 8 clock periods before it is considered as valid trigger</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CKFLT</name>
              <description>Configurable digital filter for external
              clock</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>CKFLT</name>
                <enumeratedValue>
                  <name>Immediate</name>
                  <description>Any external clock signal level change is considered as a valid transition</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Clocks2</name>
                  <description>External clock signal level change must be stable for at least 2 clock periods before it is considered as valid transition</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Clocks4</name>
                  <description>External clock signal level change must be stable for at least 4 clock periods before it is considered as valid transition</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Clocks8</name>
                  <description>External clock signal level change must be stable for at least 8 clock periods before it is considered as valid transition</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CKPOL</name>
              <description>Clock Polarity</description>
              <bitOffset>1</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>CKPOL</name>
                <enumeratedValue>
                  <name>RisingEdge</name>
                  <description>The rising edge is the active edge used for counting. If LPTIM is in encoder mode: Encoder sub-mode 1 is active.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FallingEdge</name>
                  <description>The falling edge is the active edge used for counting. If LPTIM is in encoder mode: Encoder sub-mode 2 is active.</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>BothEdges</name>
                  <description>Both edges are active edge. If LPTIM is in encoder mode: Encoder sub-mode 3 is active.</description>
                  <value>2</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CKSEL</name>
              <description>Clock selector</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CKSEL</name>
                <enumeratedValue>
                  <name>Internal</name>
                  <description>LPTIM is clocked by internal clock source (APB clock or any of the embedded oscillators)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>External</name>
                  <description>LPTIM is clocked by an external clock source through the LPTIM external Input1</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CR</name>
          <displayName>CR</displayName>
          <description>Control Register</description>
          <addressOffset>0x10</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>ENABLE</name>
              <description>LPTIM Enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ENABLE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>LPTIM is disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>LPTIM is enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SNGSTRT</name>
              <description>LPTIM start in single mode</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SNGSTRTW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Start</name>
                  <description>LPTIM start in Single mode</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CNTSTRT</name>
              <description>Timer start in continuous
              mode</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CNTSTRTW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Start</name>
                  <description>Timer start in Continuous mode</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>COUNTRST</name>
              <description>Counter reset</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>COUNTRSTR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Idle</name>
                  <description>Triggering of reset is possible</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Busy</name>
                  <description>Reset in progress, do not write 1 to this field</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>COUNTRSTW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Reset</name>
                  <description>Trigger synchronous reset of CNT (3 LPTimer core clock cycles)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RSTARE</name>
              <description>Reset after read enable</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RSTARE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>CNT Register reads do not trigger reset</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>CNT Register reads trigger reset of LPTIM</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CMP</name>
          <displayName>CMP</displayName>
          <description>Compare Register</description>
          <addressOffset>0x14</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CMP</name>
              <description>Compare value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>ARR</name>
          <displayName>ARR</displayName>
          <description>Autoreload Register</description>
          <addressOffset>0x18</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000001</resetValue>
          <fields>
            <field>
              <name>ARR</name>
              <description>Auto reload value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>CNT</name>
          <displayName>CNT</displayName>
          <description>Counter Register</description>
          <addressOffset>0x1C</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CNT</name>
              <description>Counter value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>CFGR2</name>
          <displayName>CFGR2</displayName>
          <description>LPTIM configuration register 2</description>
          <addressOffset>0x24</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>IN1SEL</name>
              <description>LPTIM Input 1 selection</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>IN2SEL</name>
              <description>LPTIM Input 2 selection</description>
              <bitOffset>4</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral derivedFrom="LPTIM1">
      <name>LPTIM2</name>
      <baseAddress>0x58002400</baseAddress>
      <interrupt>
        <name>LPTIM2</name>
        <description>LPTIM2 timer interrupt</description>
        <value>138</value>
      </interrupt>
    </peripheral>
    <peripheral derivedFrom="LPTIM1">
      <name>LPTIM3</name>
      <description>Low power timer</description>
      <groupName>LPTIM</groupName>
      <baseAddress>0x58002800</baseAddress>
      <interrupt>
        <name>LPTIM3</name>
        <description>LPTIM2 timer interrupt</description>
        <value>139</value>
      </interrupt>
    </peripheral>
    <peripheral derivedFrom="LPTIM1">
      <name>LPTIM4</name>
      <baseAddress>0x58002C00</baseAddress>
      <interrupt>
        <name>LPTIM4</name>
        <description>LPTIM2 timer interrupt</description>
        <value>140</value>
      </interrupt>
    </peripheral>
    <peripheral derivedFrom="LPTIM1">
      <name>LPTIM5</name>
      <baseAddress>0x58003000</baseAddress>
      <interrupt>
        <name>LPTIM5</name>
        <description>LPTIM2 timer interrupt</description>
        <value>141</value>
      </interrupt>
    </peripheral>
    <peripheral>
      <name>LPUART1</name>
      <description>LPUART1</description>
      <groupName>LPUART</groupName>
      <baseAddress>0x58000C00</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>LPUART</name>
        <description>LPUART global interrupt</description>
        <value>142</value>
      </interrupt>
      <registers>
        <register>
          <name>CR1</name>
          <displayName>CR1</displayName>
          <description>Control register 1</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>RXFFIE</name>
              <description>RXFIFO Full interrupt
              enable</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RXFFIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt inhibited</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>USART interrupt generated when RXFF = 1 in the USART_ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TXFEIE</name>
              <description>TXFIFO empty interrupt
              enable</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TXFEIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt inhibited</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>USART interrupt generated when TXFE = 1 in the USART_ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FIFOEN</name>
              <description>FIFO mode enable</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>FIFOEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>FIFO mode is disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>FIFO mode is enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>M1</name>
              <description>Word length</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>M1</name>
                <enumeratedValue>
                  <name>M0</name>
                  <description>Use M0 to set the data bits</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bit7</name>
                  <description>1 start bit, 7 data bits, n stop bits</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DEAT</name>
              <description>Driver Enable assertion
              time</description>
              <bitOffset>21</bitOffset>
              <bitWidth>5</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>31</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>DEDT</name>
              <description>Driver Enable deassertion
              time</description>
              <bitOffset>16</bitOffset>
              <bitWidth>5</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>31</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>CMIE</name>
              <description>Character match interrupt
              enable</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CMIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt is disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt is generated when the CMF bit is set in the ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MME</name>
              <description>Mute mode enable</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>MME</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Receiver in active mode permanently</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Receiver can switch between mute mode and active mode</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>M0</name>
              <description>Word length</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>M0</name>
                <enumeratedValue>
                  <name>Bit8</name>
                  <description>1 start bit, 8 data bits, n stop bits</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bit9</name>
                  <description>1 start bit, 9 data bits, n stop bits</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>WAKE</name>
              <description>Receiver wakeup method</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>WAKE</name>
                <enumeratedValue>
                  <name>Idle</name>
                  <description>Idle line</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Address</name>
                  <description>Address mask</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PCE</name>
              <description>Parity control enable</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>PCE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Parity control disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Parity control enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PS</name>
              <description>Parity selection</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>PS</name>
                <enumeratedValue>
                  <name>Even</name>
                  <description>Even parity</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Odd</name>
                  <description>Odd parity</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PEIE</name>
              <description>PE interrupt enable</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>PEIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt is disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt is generated whenever PE=1 in the ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TXEIE</name>
              <description>interrupt enable</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TXEIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt is disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt is generated whenever TXE=1 in the ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TCIE</name>
              <description>Transmission complete interrupt
              enable</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TCIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt is disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt is generated whenever TC=1 in the ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RXNEIE</name>
              <description>RXNE interrupt enable</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RXNEIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt is disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt is generated whenever ORE=1 or RXNE=1 in the ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>IDLEIE</name>
              <description>IDLE interrupt enable</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>IDLEIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt is disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt is generated whenever IDLE=1 in the ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TE</name>
              <description>Transmitter enable</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Transmitter is disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Transmitter is enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RE</name>
              <description>Receiver enable</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Receiver is disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Receiver is enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>UESM</name>
              <description>USART enable in Stop mode</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>UESM</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>USART not able to wake up the MCU from Stop mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>USART able to wake up the MCU from Stop mode</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>UE</name>
              <description>USART enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>UE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>UART is disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>UART is enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CR2</name>
          <displayName>CR2</displayName>
          <description>Control register 2</description>
          <addressOffset>0x4</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>ADD</name>
              <description>Address of the USART node</description>
              <bitOffset>24</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>MSBFIRST</name>
              <description>Most significant bit first</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>MSBFIRST</name>
                <enumeratedValue>
                  <name>LSB</name>
                  <description>data is transmitted/received with data bit 0 first, following the start bit</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>MSB</name>
                  <description>data is transmitted/received with MSB (bit 7/8/9) first, following the start bit</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DATAINV</name>
              <description>Binary data inversion</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DATAINV</name>
                <enumeratedValue>
                  <name>Positive</name>
                  <description>Logical data from the data register are send/received in positive/direct logic</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Negative</name>
                  <description>Logical data from the data register are send/received in negative/inverse logic</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TXINV</name>
              <description>TX pin active level
              inversion</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TXINV</name>
                <enumeratedValue>
                  <name>Standard</name>
                  <description>TX pin signal works using the standard logic levels</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Inverted</name>
                  <description>TX pin signal values are inverted</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RXINV</name>
              <description>RX pin active level
              inversion</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RXINV</name>
                <enumeratedValue>
                  <name>Standard</name>
                  <description>RX pin signal works using the standard logic levels</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Inverted</name>
                  <description>RX pin signal values are inverted</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SWAP</name>
              <description>Swap TX/RX pins</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SWAP</name>
                <enumeratedValue>
                  <name>Standard</name>
                  <description>TX/RX pins are used as defined in standard pinout</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Swapped</name>
                  <description>The TX and RX pins functions are swapped</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>STOP</name>
              <description>STOP bits</description>
              <bitOffset>12</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>STOP</name>
                <enumeratedValue>
                  <name>Stop1</name>
                  <description>1 stop bit</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Stop2</name>
                  <description>2 stop bit</description>
                  <value>2</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ADDM7</name>
              <description>7-bit Address Detection/4-bit Address
              Detection</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ADDM7</name>
                <enumeratedValue>
                  <name>Bit4</name>
                  <description>4-bit address detection</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bit7</name>
                  <description>7-bit address detection</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CR3</name>
          <displayName>CR3</displayName>
          <description>Control register 3</description>
          <addressOffset>0x8</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TXFTCFG</name>
              <description>TXFIFO threshold
              configuration</description>
              <bitOffset>29</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>TXFTCFG</name>
                <enumeratedValue>
                  <name>Depth_1_8</name>
                  <description>TXFIFO reaches 1/8 of its depth</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Depth_1_4</name>
                  <description>TXFIFO reaches 1/4 of its depth</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Depth_1_2</name>
                  <description>TXFIFO reaches 1/2 of its depth</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Depth_3_4</name>
                  <description>TXFIFO reaches 3/4 of its depth</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Depth_7_8</name>
                  <description>TXFIFO reaches 7/8 of its depth</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Empty</name>
                  <description>TXFIFO becomes empty</description>
                  <value>5</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RXFTIE</name>
              <description>RXFIFO threshold interrupt
              enable</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RXFTIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt inhibited</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>USART interrupt generated when Receive FIFO reaches the threshold programmed in RXFTCFG</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RXFTCFG</name>
              <description>Receive FIFO threshold
              configuration</description>
              <bitOffset>25</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>RXFTCFG</name>
                <enumeratedValue>
                  <name>Depth_1_8</name>
                  <description>RXFIFO reaches 1/8 of its depth</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Depth_1_4</name>
                  <description>RXFIFO reaches 1/4 of its depth</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Depth_1_2</name>
                  <description>RXFIFO reaches 1/2 of its depth</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Depth_3_4</name>
                  <description>RXFIFO reaches 3/4 of its depth</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Depth_7_8</name>
                  <description>RXFIFO reaches 7/8 of its depth</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Full</name>
                  <description>RXFIFO becomes full</description>
                  <value>5</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TXFTIE</name>
              <description>TXFIFO threshold interrupt
              enable</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TXFTIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt inhibited</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>USART interrupt generated when Transmit FIFO reaches the threshold programmed in TXFTCFG</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>WUFIE</name>
              <description>Wakeup from Stop mode interrupt
              enable</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>WUFIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt is inhibited</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>An USART interrupt is generated whenever WUF=1 in the ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>WUS</name>
              <description>Wakeup from Stop mode interrupt flag
              selection</description>
              <bitOffset>20</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>WUS</name>
                <enumeratedValue>
                  <name>Address</name>
                  <description>WUF active on address match</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Start</name>
                  <description>WuF active on Start bit detection</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>RXNE</name>
                  <description>WUF active on RXNE</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DEP</name>
              <description>Driver enable polarity
              selection</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DEP</name>
                <enumeratedValue>
                  <name>High</name>
                  <description>DE signal is active high</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Low</name>
                  <description>DE signal is active low</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DEM</name>
              <description>Driver enable mode</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DEM</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>DE function is disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>The DE signal is output on the RTS pin</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DDRE</name>
              <description>DMA Disable on Reception
              Error</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DDRE</name>
                <enumeratedValue>
                  <name>NotDisabled</name>
                  <description>DMA is not disabled in case of reception error</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>DMA is disabled following a reception error</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OVRDIS</name>
              <description>Overrun Disable</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>OVRDIS</name>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Overrun Error Flag, ORE, is set when received data is not read before receiving new data</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Overrun functionality is disabled. If new data is received while the RXNE flag is still set the ORE flag is not set and the new received data overwrites the previous content of the RDR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CTSIE</name>
              <description>CTS interrupt enable</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CTSIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt is inhibited</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>An interrupt is generated whenever CTSIF=1 in the ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CTSE</name>
              <description>CTS enable</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CTSE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>CTS hardware flow control disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>CTS mode enabled, data is only transmitted when the CTS input is asserted</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RTSE</name>
              <description>RTS enable</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RTSE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>RTS hardware flow control disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>RTS output enabled, data is only requested when there is space in the receive buffer</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DMAT</name>
              <description>DMA enable transmitter</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DMAT</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>DMA mode is disabled for transmission</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>DMA mode is enabled for transmission</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DMAR</name>
              <description>DMA enable receiver</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DMAR</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>DMA mode is disabled for reception</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>DMA mode is enabled for reception</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>HDSEL</name>
              <description>Half-duplex selection</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>HDSEL</name>
                <enumeratedValue>
                  <name>NotSelected</name>
                  <description>Half duplex mode is not selected</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Selected</name>
                  <description>Half duplex mode is selected</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EIE</name>
              <description>Error interrupt enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>EIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt is inhibited</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>An interrupt is generated when FE=1 or ORE=1 or NF=1 in the ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>BRR</name>
          <displayName>BRR</displayName>
          <description>Baud rate register</description>
          <addressOffset>0xC</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>BRR</name>
              <description>BRR</description>
              <bitOffset>0</bitOffset>
              <bitWidth>20</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>1048575</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>GTPR</name>
          <displayName>GTPR</displayName>
          <description>Guard time and prescaler
          register</description>
          <addressOffset>0x10</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>GT</name>
              <description>Guard time value</description>
              <bitOffset>8</bitOffset>
              <bitWidth>8</bitWidth>
            </field>
            <field>
              <name>PSC</name>
              <description>Prescaler value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>RTOR</name>
          <displayName>RTOR</displayName>
          <description>Receiver timeout register</description>
          <addressOffset>0x14</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>BLEN</name>
              <description>Block Length</description>
              <bitOffset>24</bitOffset>
              <bitWidth>8</bitWidth>
            </field>
            <field>
              <name>RTO</name>
              <description>Receiver timeout value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>24</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>RQR</name>
          <displayName>RQR</displayName>
          <description>Request register</description>
          <addressOffset>0x18</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TXFRQ</name>
              <description>Transmit data flush
              request</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TXFRQ</name>
                <enumeratedValue>
                  <name>Discard</name>
                  <description>Set the TXE flags. This allows to discard the transmit data</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RXFRQ</name>
              <description>Receive data flush request</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RXFRQ</name>
                <enumeratedValue>
                  <name>Discard</name>
                  <description>clears the RXNE flag. This allows to discard the received data without reading it, and avoid an overrun condition</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MMRQ</name>
              <description>Mute mode request</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>MMRQ</name>
                <enumeratedValue>
                  <name>Mute</name>
                  <description>Puts the USART in mute mode and sets the RWU flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SBKRQ</name>
              <description>Send break request</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SBKRQ</name>
                <enumeratedValue>
                  <name>Break</name>
                  <description>sets the SBKF flag and request to send a BREAK on the line, as soon as the transmit machine is available</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ABRRQ</name>
              <description>Auto baud rate request</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>ISR</name>
          <displayName>ISR</displayName>
          <description>Interrupt &amp; status
          register</description>
          <addressOffset>0x1C</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x000000C0</resetValue>
          <fields>
            <field>
              <name>TXFT</name>
              <description>TXFIFO threshold flag</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TXFT</name>
                <enumeratedValue>
                  <name>NotReached</name>
                  <description>TXFIFO does not reach the programmed threshold.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Reached</name>
                  <description>TXFIFO reached the programmed threshold.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RXFT</name>
              <description>RXFIFO threshold flag</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RXFT</name>
                <enumeratedValue>
                  <name>NotReached</name>
                  <description>Receive FIFO does not reach the programmed threshold.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Reached</name>
                  <description>Receive FIFO reached the programmed threshold.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RXFF</name>
              <description>RXFIFO Full</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RXFF</name>
                <enumeratedValue>
                  <name>NotFull</name>
                  <description>RXFIFO not full.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Full</name>
                  <description>RXFIFO Full.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TXFE</name>
              <description>TXFIFO Empty</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TXFE</name>
                <enumeratedValue>
                  <name>NotEmpty</name>
                  <description>TXFIFO not empty.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Empty</name>
                  <description>TXFIFO empty.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>REACK</name>
              <description>REACK</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TEACK</name>
              <description>TEACK</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>WUF</name>
              <description>WUF</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RWU</name>
              <description>RWU</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RWU</name>
                <enumeratedValue>
                  <name>Active</name>
                  <description>Receiver in Active mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Mute</name>
                  <description>Receiver in Mute mode</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SBKF</name>
              <description>SBKF</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SBKF</name>
                <enumeratedValue>
                  <name>NoBreak</name>
                  <description>No break character transmitted</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Break</name>
                  <description>Break character transmitted</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CMF</name>
              <description>CMF</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CMF</name>
                <enumeratedValue>
                  <name>NoMatch</name>
                  <description>No Character match detected</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Match</name>
                  <description>Character match detected</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BUSY</name>
              <description>BUSY</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>BUSY</name>
                <enumeratedValue>
                  <name>Idle</name>
                  <description>USART is idle (no reception)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Busy</name>
                  <description>Reception on going</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CTS</name>
              <description>CTS</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CTS</name>
                <enumeratedValue>
                  <name>Set</name>
                  <description>CTS line set</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Reset</name>
                  <description>CTS line reset</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CTSIF</name>
              <description>CTSIF</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CTSIF</name>
                <enumeratedValue>
                  <name>NotChanged</name>
                  <description>No change occurred on the CTS status line</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Changed</name>
                  <description>A change occurred on the CTS status line</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TXE</name>
              <description>TXE</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TXE</name>
                <enumeratedValue>
                  <name>Full</name>
                  <description>Transmit FIFO is full</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>NotFull</name>
                  <description>Transmit FIFO is not full</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TC</name>
              <description>TC</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TC</name>
                <enumeratedValue>
                  <name>TxNotComplete</name>
                  <description>Transmission is not complete</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TxComplete</name>
                  <description>Transmission is complete</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RXNE</name>
              <description>RXNE</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RXNE</name>
                <enumeratedValue>
                  <name>NoData</name>
                  <description>Data is not received</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DataReady</name>
                  <description>Received data is ready to be read</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>IDLE</name>
              <description>IDLE</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>IDLE</name>
                <enumeratedValue>
                  <name>NoIdle</name>
                  <description>No Idle Line is detected</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Idle</name>
                  <description>Idle Line is detected</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ORE</name>
              <description>ORE</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ORE</name>
                <enumeratedValue>
                  <name>NoOverrun</name>
                  <description>No Overrun error</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Overrun</name>
                  <description>Overrun error is detected</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>NE</name>
              <description>NE</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>NE</name>
                <enumeratedValue>
                  <name>NoNoise</name>
                  <description>No noise is detected</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Noise</name>
                  <description>Noise is detected</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FE</name>
              <description>FE</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>FE</name>
                <enumeratedValue>
                  <name>NoError</name>
                  <description>No Framing error is detected</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Error</name>
                  <description>Framing error or break character is detected</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PE</name>
              <description>PE</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>PE</name>
                <enumeratedValue>
                  <name>NoError</name>
                  <description>No parity error</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Error</name>
                  <description>Parity error</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>ICR</name>
          <displayName>ICR</displayName>
          <description>Interrupt flag clear register</description>
          <addressOffset>0x20</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>WUCF</name>
              <description>Wakeup from Stop mode clear
              flag</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>WUCF</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clears the WUF flag in the ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CMCF</name>
              <description>Character match clear flag</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>CMCF</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clears the CMF flag in the ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CTSCF</name>
              <description>CTS clear flag</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>CTSCF</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clears the CTSIF flag in the ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TCCF</name>
              <description>Transmission complete clear
              flag</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>TCCF</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clears the TC flag in the ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>IDLECF</name>
              <description>Idle line detected clear
              flag</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>IDLECF</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clears the IDLE flag in the ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ORECF</name>
              <description>Overrun error clear flag</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>ORECF</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clears the ORE flag in the ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>NCF</name>
              <description>Noise detected clear flag</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>NCF</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clears the NF flag in the ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FECF</name>
              <description>Framing error clear flag</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>FECF</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clears the FE flag in the ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PECF</name>
              <description>Parity error clear flag</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>PECF</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clears the PE flag in the ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>RDR</name>
          <displayName>RDR</displayName>
          <description>Receive data register</description>
          <addressOffset>0x24</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>RDR</name>
              <description>Receive data value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>9</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>511</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>TDR</name>
          <displayName>TDR</displayName>
          <description>Transmit data register</description>
          <addressOffset>0x28</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TDR</name>
              <description>Transmit data value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>9</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>511</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>PRESC</name>
          <displayName>PRESC</displayName>
          <description>Prescaler register</description>
          <addressOffset>0x2C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>PRESCALER</name>
              <description>Clock prescaler</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues>
                <name>PRESCALER</name>
                <enumeratedValue>
                  <name>Div1</name>
                  <description>/1</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div2</name>
                  <description>/2</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div4</name>
                  <description>/4</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div6</name>
                  <description>/6</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div8</name>
                  <description>/8</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div10</name>
                  <description>/10</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div12</name>
                  <description>/12</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div16</name>
                  <description>/16</description>
                  <value>7</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div32</name>
                  <description>/32</description>
                  <value>8</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div64</name>
                  <description>/64</description>
                  <value>9</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div128</name>
                  <description>/128</description>
                  <value>10</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div256</name>
                  <description>/256</description>
                  <value>11</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>SYSCFG</name>
      <description>System configuration controller</description>
      <groupName>SYSCFG</groupName>
      <baseAddress>0x58000400</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <registers>
        <register>
          <name>PMCR</name>
          <displayName>PMCR</displayName>
          <description>peripheral mode configuration
          register</description>
          <addressOffset>0x4</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>I2C1FMP</name>
              <description>I2C1 Fm+</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>I2C2FMP</name>
              <description>I2C2 Fm+</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>I2C3FMP</name>
              <description>I2C3 Fm+</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>I2C4FMP</name>
              <description>I2C4 Fm+</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>PB6FMP</name>
              <description>PB(6) Fm+</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>PB7FMP</name>
              <description>PB(7) Fast Mode Plus</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>PB8FMP</name>
              <description>PB(8) Fast Mode Plus</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>PB9FMP</name>
              <description>PB(9) Fm+</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>BOOSTE</name>
              <description>Booster Enable</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>EPIS</name>
              <description>Ethernet PHY Interface
              Selection</description>
              <bitOffset>21</bitOffset>
              <bitWidth>3</bitWidth>
            </field>
            <field>
              <name>PA0SO</name>
              <description>PA0 Switch Open</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>PA1SO</name>
              <description>PA1 Switch Open</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>PC2SO</name>
              <description>PC2 Switch Open</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>PC3SO</name>
              <description>PC3 Switch Open</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>EXTICR1</name>
          <displayName>EXTICR1</displayName>
          <description>external interrupt configuration register
          1</description>
          <addressOffset>0x8</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>EXTI3</name>
              <description>EXTI x configuration (x = 0 to
              3)</description>
              <bitOffset>12</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>EXTI2</name>
              <description>EXTI x configuration (x = 0 to
              3)</description>
              <bitOffset>8</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>EXTI1</name>
              <description>EXTI x configuration (x = 0 to
              3)</description>
              <bitOffset>4</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>EXTI0</name>
              <description>EXTI x configuration (x = 0 to
              3)</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>EXTICR2</name>
          <displayName>EXTICR2</displayName>
          <description>external interrupt configuration register
          2</description>
          <addressOffset>0xC</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>EXTI7</name>
              <description>EXTI x configuration (x = 4 to
              7)</description>
              <bitOffset>12</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>EXTI6</name>
              <description>EXTI x configuration (x = 4 to
              7)</description>
              <bitOffset>8</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>EXTI5</name>
              <description>EXTI x configuration (x = 4 to
              7)</description>
              <bitOffset>4</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>EXTI4</name>
              <description>EXTI x configuration (x = 4 to
              7)</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>EXTICR3</name>
          <displayName>EXTICR3</displayName>
          <description>external interrupt configuration register
          3</description>
          <addressOffset>0x10</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>EXTI11</name>
              <description>EXTI x configuration (x = 8 to
              11)</description>
              <bitOffset>12</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>EXTI10</name>
              <description>EXTI10</description>
              <bitOffset>8</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>EXTI9</name>
              <description>EXTI x configuration (x = 8 to
              11)</description>
              <bitOffset>4</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>EXTI8</name>
              <description>EXTI x configuration (x = 8 to
              11)</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>EXTICR4</name>
          <displayName>EXTICR4</displayName>
          <description>external interrupt configuration register
          4</description>
          <addressOffset>0x14</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>EXTI15</name>
              <description>EXTI x configuration (x = 12 to
              15)</description>
              <bitOffset>12</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>EXTI14</name>
              <description>EXTI x configuration (x = 12 to
              15)</description>
              <bitOffset>8</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>EXTI13</name>
              <description>EXTI x configuration (x = 12 to
              15)</description>
              <bitOffset>4</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>EXTI12</name>
              <description>EXTI x configuration (x = 12 to
              15)</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CCCSR</name>
          <displayName>CCCSR</displayName>
          <description>compensation cell control/status
          register</description>
          <addressOffset>0x20</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>EN</name>
              <description>enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CS</name>
              <description>Code selection</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>READY</name>
              <description>Compensation cell ready
              flag</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>HSLV</name>
              <description>High-speed at low-voltage</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CCVR</name>
          <displayName>CCVR</displayName>
          <description>SYSCFG compensation cell value
          register</description>
          <addressOffset>0x24</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>NCV</name>
              <description>NMOS compensation value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>PCV</name>
              <description>PMOS compensation value</description>
              <bitOffset>4</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CCCR</name>
          <displayName>CCCR</displayName>
          <description>SYSCFG compensation cell code
          register</description>
          <addressOffset>0x28</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>NCC</name>
              <description>NMOS compensation code</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>PCC</name>
              <description>PMOS compensation code</description>
              <bitOffset>4</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>PKGR</name>
          <displayName>PKGR</displayName>
          <description>SYSCFG package register</description>
          <addressOffset>0x124</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>PKG</name>
              <description>Package</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>UR0</name>
          <displayName>UR0</displayName>
          <description>SYSCFG user register 0</description>
          <addressOffset>0x300</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>BKS</name>
              <description>Bank Swap</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RDP</name>
              <description>Readout protection</description>
              <bitOffset>16</bitOffset>
              <bitWidth>8</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>UR2</name>
          <displayName>UR2</displayName>
          <description>SYSCFG user register 2</description>
          <addressOffset>0x308</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>BORH</name>
              <description>BOR_LVL Brownout Reset Threshold
              Level</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>BOOT_ADD0</name>
              <description>Boot Address 0</description>
              <bitOffset>16</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>UR3</name>
          <displayName>UR3</displayName>
          <description>SYSCFG user register 3</description>
          <addressOffset>0x30C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>BOOT_ADD1</name>
              <description>Boot Address 1</description>
              <bitOffset>16</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>UR4</name>
          <displayName>UR4</displayName>
          <description>SYSCFG user register 4</description>
          <addressOffset>0x310</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>MEPAD_1</name>
              <description>Mass Erase Protected Area Disabled for
              bank 1</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>UR5</name>
          <displayName>UR5</displayName>
          <description>SYSCFG user register 5</description>
          <addressOffset>0x314</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>MESAD_1</name>
              <description>Mass erase secured area disabled for
              bank 1</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>WRPN_1</name>
              <description>Write protection for flash bank
              1</description>
              <bitOffset>16</bitOffset>
              <bitWidth>8</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>UR6</name>
          <displayName>UR6</displayName>
          <description>SYSCFG user register 6</description>
          <addressOffset>0x318</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>PA_BEG_1</name>
              <description>Protected area start address for bank
              1</description>
              <bitOffset>0</bitOffset>
              <bitWidth>12</bitWidth>
            </field>
            <field>
              <name>PA_END_1</name>
              <description>Protected area end address for bank
              1</description>
              <bitOffset>16</bitOffset>
              <bitWidth>12</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>UR7</name>
          <displayName>UR7</displayName>
          <description>SYSCFG user register 7</description>
          <addressOffset>0x31C</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>SA_BEG_1</name>
              <description>Secured area start address for bank
              1</description>
              <bitOffset>0</bitOffset>
              <bitWidth>12</bitWidth>
            </field>
            <field>
              <name>SA_END_1</name>
              <description>Secured area end address for bank
              1</description>
              <bitOffset>16</bitOffset>
              <bitWidth>12</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>UR8</name>
          <displayName>UR8</displayName>
          <description>SYSCFG user register 8</description>
          <addressOffset>0x320</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>MEPAD_2</name>
              <description>Mass erase protected area disabled for
              bank 2</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>MESAD_2</name>
              <description>Mass erase secured area disabled for
              bank 2</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>UR9</name>
          <displayName>UR9</displayName>
          <description>SYSCFG user register 9</description>
          <addressOffset>0x324</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>WRPN_2</name>
              <description>Write protection for flash bank
              2</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
            </field>
            <field>
              <name>PA_BEG_2</name>
              <description>Protected area start address for bank
              2</description>
              <bitOffset>16</bitOffset>
              <bitWidth>12</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>UR10</name>
          <displayName>UR10</displayName>
          <description>SYSCFG user register 10</description>
          <addressOffset>0x328</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>PA_END_2</name>
              <description>Protected area end address for bank
              2</description>
              <bitOffset>0</bitOffset>
              <bitWidth>12</bitWidth>
            </field>
            <field>
              <name>SA_BEG_2</name>
              <description>Secured area start address for bank
              2</description>
              <bitOffset>16</bitOffset>
              <bitWidth>12</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>UR11</name>
          <displayName>UR11</displayName>
          <description>SYSCFG user register 11</description>
          <addressOffset>0x32C</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>SA_END_2</name>
              <description>Secured area end address for bank
              2</description>
              <bitOffset>0</bitOffset>
              <bitWidth>12</bitWidth>
            </field>
            <field>
              <name>IWDG1M</name>
              <description>Independent Watchdog 1
              mode</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>UR12</name>
          <displayName>UR12</displayName>
          <description>SYSCFG user register 12</description>
          <addressOffset>0x330</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>SECURE</name>
              <description>Secure mode</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>UR13</name>
          <displayName>UR13</displayName>
          <description>SYSCFG user register 13</description>
          <addressOffset>0x334</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>SDRS</name>
              <description>Secured DTCM RAM Size</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>D1SBRST</name>
              <description>D1 Standby reset</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>UR14</name>
          <displayName>UR14</displayName>
          <description>SYSCFG user register 14</description>
          <addressOffset>0x338</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>D1STPRST</name>
              <description>D1 Stop Reset</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>UR15</name>
          <displayName>UR15</displayName>
          <description>SYSCFG user register 15</description>
          <addressOffset>0x33C</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>FZIWDGSTB</name>
              <description>Freeze independent watchdog in Standby
              mode</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>UR16</name>
          <displayName>UR16</displayName>
          <description>SYSCFG user register 16</description>
          <addressOffset>0x340</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>FZIWDGSTP</name>
              <description>Freeze independent watchdog in Stop
              mode</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>PKP</name>
              <description>Private key programmed</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>UR17</name>
          <displayName>UR17</displayName>
          <description>SYSCFG user register 17</description>
          <addressOffset>0x344</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>IO_HSLV</name>
              <description>I/O high speed / low
              voltage</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>EXTI</name>
      <description>External interrupt/event
      controller</description>
      <groupName>EXTI</groupName>
      <baseAddress>0x58000000</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>PVD_PVM</name>
        <description>PVD through EXTI line</description>
        <value>1</value>
      </interrupt>
      <interrupt>
        <name>EXTI0</name>
        <description>EXTI Line 0 interrupt</description>
        <value>6</value>
      </interrupt>
      <interrupt>
        <name>EXTI1</name>
        <description>EXTI Line 1 interrupt</description>
        <value>7</value>
      </interrupt>
      <interrupt>
        <name>EXTI2</name>
        <description>EXTI Line 2 interrupt</description>
        <value>8</value>
      </interrupt>
      <interrupt>
        <name>EXTI3</name>
        <description>EXTI Line 3interrupt</description>
        <value>9</value>
      </interrupt>
      <interrupt>
        <name>EXTI4</name>
        <description>EXTI Line 4interrupt</description>
        <value>10</value>
      </interrupt>
      <interrupt>
        <name>EXTI9_5</name>
        <description>EXTI Line[9:5] interrupts</description>
        <value>23</value>
      </interrupt>
      <interrupt>
        <name>EXTI15_10</name>
        <description>EXTI Line[15:10] interrupts</description>
        <value>40</value>
      </interrupt>
      <interrupt>
        <name>FPU</name>
        <description>CPU FPU interrupt</description>
        <value>81</value>
      </interrupt>
      <interrupt>
        <name>WKUP</name>
        <description>WKUP1 to WKUP6 pins</description>
        <value>149</value>
      </interrupt>
      <registers>
        <register>
          <name>RTSR1</name>
          <displayName>RTSR1</displayName>
          <description>EXTI rising trigger selection
          register</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TR0</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RisingTrigger</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Rising edge trigger is disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Rising edge trigger is enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TR1</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="RisingTrigger"/>
            </field>
            <field>
              <name>TR2</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="RisingTrigger"/>
            </field>
            <field>
              <name>TR3</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="RisingTrigger"/>
            </field>
            <field>
              <name>TR4</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="RisingTrigger"/>
            </field>
            <field>
              <name>TR5</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="RisingTrigger"/>
            </field>
            <field>
              <name>TR6</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="RisingTrigger"/>
            </field>
            <field>
              <name>TR7</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="RisingTrigger"/>
            </field>
            <field>
              <name>TR8</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="RisingTrigger"/>
            </field>
            <field>
              <name>TR9</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="RisingTrigger"/>
            </field>
            <field>
              <name>TR10</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="RisingTrigger"/>
            </field>
            <field>
              <name>TR11</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="RisingTrigger"/>
            </field>
            <field>
              <name>TR12</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="RisingTrigger"/>
            </field>
            <field>
              <name>TR13</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="RisingTrigger"/>
            </field>
            <field>
              <name>TR14</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="RisingTrigger"/>
            </field>
            <field>
              <name>TR15</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="RisingTrigger"/>
            </field>
            <field>
              <name>TR16</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="RisingTrigger"/>
            </field>
            <field>
              <name>TR17</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="RisingTrigger"/>
            </field>
            <field>
              <name>TR18</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="RisingTrigger"/>
            </field>
            <field>
              <name>TR19</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="RisingTrigger"/>
            </field>
            <field>
              <name>TR20</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="RisingTrigger"/>
            </field>
            <field>
              <name>TR21</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="RisingTrigger"/>
            </field>
          </fields>
        </register>
        <register>
          <name>FTSR1</name>
          <displayName>FTSR1</displayName>
          <description>EXTI falling trigger selection
          register</description>
          <addressOffset>0x4</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TR0</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>FallingTrigger</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Falling edge trigger is disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Falling edge trigger is enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TR1</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="FallingTrigger"/>
            </field>
            <field>
              <name>TR2</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="FallingTrigger"/>
            </field>
            <field>
              <name>TR3</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="FallingTrigger"/>
            </field>
            <field>
              <name>TR4</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="FallingTrigger"/>
            </field>
            <field>
              <name>TR5</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="FallingTrigger"/>
            </field>
            <field>
              <name>TR6</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="FallingTrigger"/>
            </field>
            <field>
              <name>TR7</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="FallingTrigger"/>
            </field>
            <field>
              <name>TR8</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="FallingTrigger"/>
            </field>
            <field>
              <name>TR9</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="FallingTrigger"/>
            </field>
            <field>
              <name>TR10</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="FallingTrigger"/>
            </field>
            <field>
              <name>TR11</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="FallingTrigger"/>
            </field>
            <field>
              <name>TR12</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="FallingTrigger"/>
            </field>
            <field>
              <name>TR13</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="FallingTrigger"/>
            </field>
            <field>
              <name>TR14</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="FallingTrigger"/>
            </field>
            <field>
              <name>TR15</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="FallingTrigger"/>
            </field>
            <field>
              <name>TR16</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="FallingTrigger"/>
            </field>
            <field>
              <name>TR17</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="FallingTrigger"/>
            </field>
            <field>
              <name>TR18</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="FallingTrigger"/>
            </field>
            <field>
              <name>TR19</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="FallingTrigger"/>
            </field>
            <field>
              <name>TR20</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="FallingTrigger"/>
            </field>
            <field>
              <name>TR21</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="FallingTrigger"/>
            </field>
          </fields>
        </register>
        <register>
          <name>SWIER1</name>
          <displayName>SWIER1</displayName>
          <description>EXTI software interrupt event
          register</description>
          <addressOffset>0x8</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>SWIER0</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SoftwareInterrupt</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Pend</name>
                  <description>Generates an interrupt request</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SWIER1</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SoftwareInterrupt"/>
            </field>
            <field>
              <name>SWIER2</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SoftwareInterrupt"/>
            </field>
            <field>
              <name>SWIER3</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SoftwareInterrupt"/>
            </field>
            <field>
              <name>SWIER4</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SoftwareInterrupt"/>
            </field>
            <field>
              <name>SWIER5</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SoftwareInterrupt"/>
            </field>
            <field>
              <name>SWIER6</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SoftwareInterrupt"/>
            </field>
            <field>
              <name>SWIER7</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SoftwareInterrupt"/>
            </field>
            <field>
              <name>SWIER8</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SoftwareInterrupt"/>
            </field>
            <field>
              <name>SWIER9</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SoftwareInterrupt"/>
            </field>
            <field>
              <name>SWIER10</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SoftwareInterrupt"/>
            </field>
            <field>
              <name>SWIER11</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SoftwareInterrupt"/>
            </field>
            <field>
              <name>SWIER12</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SoftwareInterrupt"/>
            </field>
            <field>
              <name>SWIER13</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SoftwareInterrupt"/>
            </field>
            <field>
              <name>SWIER14</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SoftwareInterrupt"/>
            </field>
            <field>
              <name>SWIER15</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SoftwareInterrupt"/>
            </field>
            <field>
              <name>SWIER16</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SoftwareInterrupt"/>
            </field>
            <field>
              <name>SWIER17</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SoftwareInterrupt"/>
            </field>
            <field>
              <name>SWIER18</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SoftwareInterrupt"/>
            </field>
            <field>
              <name>SWIER19</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SoftwareInterrupt"/>
            </field>
            <field>
              <name>SWIER20</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SoftwareInterrupt"/>
            </field>
            <field>
              <name>SWIER21</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SoftwareInterrupt"/>
            </field>
          </fields>
        </register>
        <register>
          <name>D3PMR1</name>
          <displayName>D3PMR1</displayName>
          <description>EXTI D3 pending mask register</description>
          <addressOffset>0xC</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>MR0</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>InterruptMask</name>
                <enumeratedValue>
                  <name>Masked</name>
                  <description>Interrupt request line is masked</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Unmasked</name>
                  <description>Interrupt request line is unmasked</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MR1</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR2</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR3</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR4</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR5</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR6</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR7</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR8</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR9</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR10</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR11</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR12</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR13</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR14</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR15</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR19</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR20</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR21</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR25</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
          </fields>
        </register>
        <register>
          <name>D3PCR1L</name>
          <displayName>D3PCR1L</displayName>
          <description>EXTI D3 pending clear selection register
          low</description>
          <addressOffset>0x10</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>PCS0</name>
              <description>D3 Pending request clear input signal
              selection on Event input x = truncate
              (n/2)</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>PCS0</name>
                <enumeratedValue>
                  <name>DMA_CH6</name>
                  <description>DMA ch6 event selected as D3 domain pendclear source</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DMA_CH7</name>
                  <description>DMA ch7 event selected as D3 domain pendclear source</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LPTIM4</name>
                  <description>LPTIM4 out selected as D3 domain pendclear source</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LPTIM5</name>
                  <description>LPTIM5 out selected as D3 domain pendclear source</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PCS1</name>
              <description>D3 Pending request clear input signal
              selection on Event input x = truncate
              (n/2)</description>
              <bitOffset>2</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues derivedFrom="PCS0"/>
            </field>
            <field>
              <name>PCS2</name>
              <description>D3 Pending request clear input signal
              selection on Event input x = truncate
              (n/2)</description>
              <bitOffset>4</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues derivedFrom="PCS0"/>
            </field>
            <field>
              <name>PCS3</name>
              <description>D3 Pending request clear input signal
              selection on Event input x = truncate
              (n/2)</description>
              <bitOffset>6</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues derivedFrom="PCS0"/>
            </field>
            <field>
              <name>PCS4</name>
              <description>D3 Pending request clear input signal
              selection on Event input x = truncate
              (n/2)</description>
              <bitOffset>8</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues derivedFrom="PCS0"/>
            </field>
            <field>
              <name>PCS5</name>
              <description>D3 Pending request clear input signal
              selection on Event input x = truncate
              (n/2)</description>
              <bitOffset>10</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues derivedFrom="PCS0"/>
            </field>
            <field>
              <name>PCS6</name>
              <description>D3 Pending request clear input signal
              selection on Event input x = truncate
              (n/2)</description>
              <bitOffset>12</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues derivedFrom="PCS0"/>
            </field>
            <field>
              <name>PCS7</name>
              <description>D3 Pending request clear input signal
              selection on Event input x = truncate
              (n/2)</description>
              <bitOffset>14</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues derivedFrom="PCS0"/>
            </field>
            <field>
              <name>PCS8</name>
              <description>D3 Pending request clear input signal
              selection on Event input x = truncate
              (n/2)</description>
              <bitOffset>16</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues derivedFrom="PCS0"/>
            </field>
            <field>
              <name>PCS9</name>
              <description>D3 Pending request clear input signal
              selection on Event input x = truncate
              (n/2)</description>
              <bitOffset>18</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues derivedFrom="PCS0"/>
            </field>
            <field>
              <name>PCS10</name>
              <description>D3 Pending request clear input signal
              selection on Event input x = truncate
              (n/2)</description>
              <bitOffset>20</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues derivedFrom="PCS0"/>
            </field>
            <field>
              <name>PCS11</name>
              <description>D3 Pending request clear input signal
              selection on Event input x = truncate
              (n/2)</description>
              <bitOffset>22</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues derivedFrom="PCS0"/>
            </field>
            <field>
              <name>PCS12</name>
              <description>D3 Pending request clear input signal
              selection on Event input x = truncate
              (n/2)</description>
              <bitOffset>24</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues derivedFrom="PCS0"/>
            </field>
            <field>
              <name>PCS13</name>
              <description>D3 Pending request clear input signal
              selection on Event input x = truncate
              (n/2)</description>
              <bitOffset>26</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues derivedFrom="PCS0"/>
            </field>
            <field>
              <name>PCS14</name>
              <description>D3 Pending request clear input signal
              selection on Event input x = truncate
              (n/2)</description>
              <bitOffset>28</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues derivedFrom="PCS0"/>
            </field>
            <field>
              <name>PCS15</name>
              <description>D3 Pending request clear input signal
              selection on Event input x = truncate
              (n/2)</description>
              <bitOffset>30</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues derivedFrom="PCS0"/>
            </field>
          </fields>
        </register>
        <register>
          <name>D3PCR1H</name>
          <displayName>D3PCR1H</displayName>
          <description>EXTI D3 pending clear selection register
          high</description>
          <addressOffset>0x14</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>PCS19</name>
              <description>D3 Pending request clear input signal
              selection on Event input x = truncate
              ((n+32)/2)</description>
              <bitOffset>6</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>PCS19</name>
                <enumeratedValue>
                  <name>DMA_CH6</name>
                  <description>DMA ch6 event selected as D3 domain pendclear source</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DMA_CH7</name>
                  <description>DMA ch7 event selected as D3 domain pendclear source</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LPTIM4</name>
                  <description>LPTIM4 out selected as D3 domain pendclear source</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LPTIM5</name>
                  <description>LPTIM5 out selected as D3 domain pendclear source</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PCS20</name>
              <description>D3 Pending request clear input signal
              selection on Event input x = truncate
              ((n+32)/2)</description>
              <bitOffset>8</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues derivedFrom="PCS19"/>
            </field>
            <field>
              <name>PCS21</name>
              <description>D3 Pending request clear input signal
              selection on Event input x = truncate
              ((n+32)/2)</description>
              <bitOffset>10</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues derivedFrom="PCS19"/>
            </field>
            <field>
              <name>PCS25</name>
              <description>D3 Pending request clear input signal
              selection on Event input x = truncate
              ((n+32)/2)</description>
              <bitOffset>18</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues derivedFrom="PCS19"/>
            </field>
          </fields>
        </register>
        <register>
          <name>RTSR2</name>
          <displayName>RTSR2</displayName>
          <description>EXTI rising trigger selection
          register</description>
          <addressOffset>0x20</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TR49</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input x+32</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RisingTrigger</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Rising edge trigger is disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Rising edge trigger is enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TR51</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input x+32</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="RisingTrigger"/>
            </field>
          </fields>
        </register>
        <register>
          <name>FTSR2</name>
          <displayName>FTSR2</displayName>
          <description>EXTI falling trigger selection
          register</description>
          <addressOffset>0x24</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TR49</name>
              <description>Falling trigger event configuration bit
              of Configurable Event input x+32</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>FallingTrigger</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Falling edge trigger is disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Falling edge trigger is enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TR51</name>
              <description>Falling trigger event configuration bit
              of Configurable Event input x+32</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="FallingTrigger"/>
            </field>
          </fields>
        </register>
        <register>
          <name>SWIER2</name>
          <displayName>SWIER2</displayName>
          <description>EXTI software interrupt event
          register</description>
          <addressOffset>0x28</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>SWIER49</name>
              <description>Software interrupt on line
              x+32</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SoftwareInterrupt</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Pend</name>
                  <description>Generates an interrupt request</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SWIER51</name>
              <description>Software interrupt on line
              x+32</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SoftwareInterrupt"/>
            </field>
          </fields>
        </register>
        <register>
          <name>D3PMR2</name>
          <displayName>D3PMR2</displayName>
          <description>EXTI D3 pending mask register</description>
          <addressOffset>0x2C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>MR34</name>
              <description>D3 Pending Mask on Event input
              x+32</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>InterruptMask</name>
                <enumeratedValue>
                  <name>Masked</name>
                  <description>Interrupt request line is masked</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Unmasked</name>
                  <description>Interrupt request line is unmasked</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MR35</name>
              <description>D3 Pending Mask on Event input
              x+32</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR41</name>
              <description>D3 Pending Mask on Event input
              x+32</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR48</name>
              <description>D3 Pending Mask on Event input
              x+32</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR49</name>
              <description>D3 Pending Mask on Event input
              x+32</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR50</name>
              <description>D3 Pending Mask on Event input
              x+32</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR51</name>
              <description>D3 Pending Mask on Event input
              x+32</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR52</name>
              <description>D3 Pending Mask on Event input
              x+32</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR53</name>
              <description>D3 Pending Mask on Event input
              x+32</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
          </fields>
        </register>
        <register>
          <name>D3PCR2L</name>
          <displayName>D3PCR2L</displayName>
          <description>EXTI D3 pending clear selection register
          low</description>
          <addressOffset>0x30</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>PCS34</name>
              <description>D3 Pending request clear input signal
              selection on Event input x = truncate
              ((n+64)/2)</description>
              <bitOffset>4</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>PCS34</name>
                <enumeratedValue>
                  <name>DMA_CH6</name>
                  <description>DMA ch6 event selected as D3 domain pendclear source</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DMA_CH7</name>
                  <description>DMA ch7 event selected as D3 domain pendclear source</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LPTIM4</name>
                  <description>LPTIM4 out selected as D3 domain pendclear source</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LPTIM5</name>
                  <description>LPTIM5 out selected as D3 domain pendclear source</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PCS35</name>
              <description>D3 Pending request clear input signal
              selection on Event input x = truncate
              ((n+64)/2)</description>
              <bitOffset>6</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues derivedFrom="PCS34"/>
            </field>
            <field>
              <name>PCS41</name>
              <description>D3 Pending request clear input signal
              selection on Event input x = truncate
              ((n+64)/2)</description>
              <bitOffset>18</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues derivedFrom="PCS34"/>
            </field>
          </fields>
        </register>
        <register>
          <name>D3PCR2H</name>
          <displayName>D3PCR2H</displayName>
          <description>EXTI D3 pending clear selection register
          high</description>
          <addressOffset>0x34</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>PCS48</name>
              <description>Pending request clear input signal
              selection on Event input x= truncate
              ((n+96)/2)</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>PCS48</name>
                <enumeratedValue>
                  <name>DMA_CH6</name>
                  <description>DMA ch6 event selected as D3 domain pendclear source</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DMA_CH7</name>
                  <description>DMA ch7 event selected as D3 domain pendclear source</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LPTIM4</name>
                  <description>LPTIM4 out selected as D3 domain pendclear source</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LPTIM5</name>
                  <description>LPTIM5 out selected as D3 domain pendclear source</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PCS49</name>
              <description>Pending request clear input signal
              selection on Event input x= truncate
              ((n+96)/2)</description>
              <bitOffset>2</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues derivedFrom="PCS48"/>
            </field>
            <field>
              <name>PCS50</name>
              <description>Pending request clear input signal
              selection on Event input x= truncate
              ((n+96)/2)</description>
              <bitOffset>4</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues derivedFrom="PCS48"/>
            </field>
            <field>
              <name>PCS51</name>
              <description>Pending request clear input signal
              selection on Event input x= truncate
              ((n+96)/2)</description>
              <bitOffset>6</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues derivedFrom="PCS48"/>
            </field>
            <field>
              <name>PCS52</name>
              <description>Pending request clear input signal
              selection on Event input x= truncate
              ((n+96)/2)</description>
              <bitOffset>8</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues derivedFrom="PCS48"/>
            </field>
            <field>
              <name>PCS53</name>
              <description>Pending request clear input signal
              selection on Event input x= truncate
              ((n+96)/2)</description>
              <bitOffset>10</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues derivedFrom="PCS48"/>
            </field>
          </fields>
        </register>
        <register>
          <name>RTSR3</name>
          <displayName>RTSR3</displayName>
          <description>EXTI rising trigger selection
          register</description>
          <addressOffset>0x40</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TR82</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input x+64</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RisingTrigger</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Rising edge trigger is disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Rising edge trigger is enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TR84</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input x+64</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="RisingTrigger"/>
            </field>
            <field>
              <name>TR85</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input x+64</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="RisingTrigger"/>
            </field>
            <field>
              <name>TR86</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input x+64</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="RisingTrigger"/>
            </field>
          </fields>
        </register>
        <register>
          <name>FTSR3</name>
          <displayName>FTSR3</displayName>
          <description>EXTI falling trigger selection
          register</description>
          <addressOffset>0x44</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TR82</name>
              <description>Falling trigger event configuration bit
              of Configurable Event input x+64</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>FallingTrigger</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Falling edge trigger is disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Falling edge trigger is enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TR84</name>
              <description>Falling trigger event configuration bit
              of Configurable Event input x+64</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="FallingTrigger"/>
            </field>
            <field>
              <name>TR85</name>
              <description>Falling trigger event configuration bit
              of Configurable Event input x+64</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="FallingTrigger"/>
            </field>
            <field>
              <name>TR86</name>
              <description>Falling trigger event configuration bit
              of Configurable Event input x+64</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="FallingTrigger"/>
            </field>
          </fields>
        </register>
        <register>
          <name>SWIER3</name>
          <displayName>SWIER3</displayName>
          <description>EXTI software interrupt event
          register</description>
          <addressOffset>0x48</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>SWIER82</name>
              <description>Software interrupt on line
              x+64</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SoftwareInterrupt</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Pend</name>
                  <description>Generates an interrupt request</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SWIER84</name>
              <description>Software interrupt on line
              x+64</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SoftwareInterrupt"/>
            </field>
            <field>
              <name>SWIER85</name>
              <description>Software interrupt on line
              x+64</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SoftwareInterrupt"/>
            </field>
            <field>
              <name>SWIER86</name>
              <description>Software interrupt on line
              x+64</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="SoftwareInterrupt"/>
            </field>
          </fields>
        </register>
        <register>
          <name>D3PMR3</name>
          <displayName>D3PMR3</displayName>
          <description>EXTI D3 pending mask register</description>
          <addressOffset>0x4C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>MR88</name>
              <description>D3 Pending Mask on Event input
              x+64</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>InterruptMask</name>
                <enumeratedValue>
                  <name>Masked</name>
                  <description>Interrupt request line is masked</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Unmasked</name>
                  <description>Interrupt request line is unmasked</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>D3PCR3H</name>
          <displayName>D3PCR3H</displayName>
          <description>EXTI D3 pending clear selection register
          high</description>
          <addressOffset>0x54</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>PCS88</name>
              <description>D3 Pending request clear input signal
              selection on Event input x= truncate
              N+160/2</description>
              <bitOffset>18</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>PCS88</name>
                <enumeratedValue>
                  <name>DMA_CH6</name>
                  <description>DMA ch6 event selected as D3 domain pendclear source</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DMA_CH7</name>
                  <description>DMA ch7 event selected as D3 domain pendclear source</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LPTIM4</name>
                  <description>LPTIM4 out selected as D3 domain pendclear source</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LPTIM5</name>
                  <description>LPTIM5 out selected as D3 domain pendclear source</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CPUIMR1</name>
          <displayName>CPUIMR1</displayName>
          <description>EXTI interrupt mask register</description>
          <addressOffset>0x80</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0xFFC00000</resetValue>
          <fields>
            <field>
              <name>MR0</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>InterruptMask</name>
                <enumeratedValue>
                  <name>Masked</name>
                  <description>Interrupt request line is masked</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Unmasked</name>
                  <description>Interrupt request line is unmasked</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MR1</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR2</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR3</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR4</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR5</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR6</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR7</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR8</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR9</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR10</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR11</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR12</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR13</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR14</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR15</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR16</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR17</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR18</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR19</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR20</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR21</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR22</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR23</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR24</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR25</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR26</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR27</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR28</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR29</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR30</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR31</name>
              <description>Rising trigger event configuration bit
              of Configurable Event input</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
          </fields>
        </register>
        <register>
          <name>CPUEMR1</name>
          <displayName>CPUEMR1</displayName>
          <description>EXTI event mask register</description>
          <addressOffset>0x84</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>MR0</name>
              <description>CPU Event mask on Event input
              x</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>EventMask</name>
                <enumeratedValue>
                  <name>Masked</name>
                  <description>Event request line is masked</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Unmasked</name>
                  <description>Event request line is unmasked</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MR1</name>
              <description>CPU Event mask on Event input
              x</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR2</name>
              <description>CPU Event mask on Event input
              x</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR3</name>
              <description>CPU Event mask on Event input
              x</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR4</name>
              <description>CPU Event mask on Event input
              x</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR5</name>
              <description>CPU Event mask on Event input
              x</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR6</name>
              <description>CPU Event mask on Event input
              x</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR7</name>
              <description>CPU Event mask on Event input
              x</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR8</name>
              <description>CPU Event mask on Event input
              x</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR9</name>
              <description>CPU Event mask on Event input
              x</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR10</name>
              <description>CPU Event mask on Event input
              x</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR11</name>
              <description>CPU Event mask on Event input
              x</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR12</name>
              <description>CPU Event mask on Event input
              x</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR13</name>
              <description>CPU Event mask on Event input
              x</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR14</name>
              <description>CPU Event mask on Event input
              x</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR15</name>
              <description>CPU Event mask on Event input
              x</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR16</name>
              <description>CPU Event mask on Event input
              x</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR17</name>
              <description>CPU Event mask on Event input
              x</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR18</name>
              <description>CPU Event mask on Event input
              x</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR19</name>
              <description>CPU Event mask on Event input
              x</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR20</name>
              <description>CPU Event mask on Event input
              x</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR21</name>
              <description>CPU Event mask on Event input
              x</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR22</name>
              <description>CPU Event mask on Event input
              x</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR23</name>
              <description>CPU Event mask on Event input
              x</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR24</name>
              <description>CPU Event mask on Event input
              x</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR25</name>
              <description>CPU Event mask on Event input
              x</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR26</name>
              <description>CPU Event mask on Event input
              x</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR27</name>
              <description>CPU Event mask on Event input
              x</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR28</name>
              <description>CPU Event mask on Event input
              x</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR29</name>
              <description>CPU Event mask on Event input
              x</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR30</name>
              <description>CPU Event mask on Event input
              x</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR31</name>
              <description>CPU Event mask on Event input
              x</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
          </fields>
        </register>
        <register>
          <name>CPUPR1</name>
          <displayName>CPUPR1</displayName>
          <description>EXTI pending register</description>
          <addressOffset>0x88</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>PR0</name>
              <description>CPU Event mask on Event input
              x</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>PR0R</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NotPending</name>
                  <description>No trigger request occurred</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Pending</name>
                  <description>Selected trigger request occurred</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>PR0W</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clears pending bit</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PR1</name>
              <description>CPU Event mask on Event input
              x</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues derivedFrom="PR0R">
                <usage>read</usage>
              </enumeratedValues>
              <enumeratedValues derivedFrom="PR0W">
                <usage>write</usage>
              </enumeratedValues>
            </field>
            <field>
              <name>PR2</name>
              <description>CPU Event mask on Event input
              x</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues derivedFrom="PR0R">
                <usage>read</usage>
              </enumeratedValues>
              <enumeratedValues derivedFrom="PR0W">
                <usage>write</usage>
              </enumeratedValues>
            </field>
            <field>
              <name>PR3</name>
              <description>CPU Event mask on Event input
              x</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues derivedFrom="PR0R">
                <usage>read</usage>
              </enumeratedValues>
              <enumeratedValues derivedFrom="PR0W">
                <usage>write</usage>
              </enumeratedValues>
            </field>
            <field>
              <name>PR4</name>
              <description>CPU Event mask on Event input
              x</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues derivedFrom="PR0R">
                <usage>read</usage>
              </enumeratedValues>
              <enumeratedValues derivedFrom="PR0W">
                <usage>write</usage>
              </enumeratedValues>
            </field>
            <field>
              <name>PR5</name>
              <description>CPU Event mask on Event input
              x</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues derivedFrom="PR0R">
                <usage>read</usage>
              </enumeratedValues>
              <enumeratedValues derivedFrom="PR0W">
                <usage>write</usage>
              </enumeratedValues>
            </field>
            <field>
              <name>PR6</name>
              <description>CPU Event mask on Event input
              x</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues derivedFrom="PR0R">
                <usage>read</usage>
              </enumeratedValues>
              <enumeratedValues derivedFrom="PR0W">
                <usage>write</usage>
              </enumeratedValues>
            </field>
            <field>
              <name>PR7</name>
              <description>CPU Event mask on Event input
              x</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues derivedFrom="PR0R">
                <usage>read</usage>
              </enumeratedValues>
              <enumeratedValues derivedFrom="PR0W">
                <usage>write</usage>
              </enumeratedValues>
            </field>
            <field>
              <name>PR8</name>
              <description>CPU Event mask on Event input
              x</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues derivedFrom="PR0R">
                <usage>read</usage>
              </enumeratedValues>
              <enumeratedValues derivedFrom="PR0W">
                <usage>write</usage>
              </enumeratedValues>
            </field>
            <field>
              <name>PR9</name>
              <description>CPU Event mask on Event input
              x</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues derivedFrom="PR0R">
                <usage>read</usage>
              </enumeratedValues>
              <enumeratedValues derivedFrom="PR0W">
                <usage>write</usage>
              </enumeratedValues>
            </field>
            <field>
              <name>PR10</name>
              <description>CPU Event mask on Event input
              x</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues derivedFrom="PR0R">
                <usage>read</usage>
              </enumeratedValues>
              <enumeratedValues derivedFrom="PR0W">
                <usage>write</usage>
              </enumeratedValues>
            </field>
            <field>
              <name>PR11</name>
              <description>CPU Event mask on Event input
              x</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues derivedFrom="PR0R">
                <usage>read</usage>
              </enumeratedValues>
              <enumeratedValues derivedFrom="PR0W">
                <usage>write</usage>
              </enumeratedValues>
            </field>
            <field>
              <name>PR12</name>
              <description>CPU Event mask on Event input
              x</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues derivedFrom="PR0R">
                <usage>read</usage>
              </enumeratedValues>
              <enumeratedValues derivedFrom="PR0W">
                <usage>write</usage>
              </enumeratedValues>
            </field>
            <field>
              <name>PR13</name>
              <description>CPU Event mask on Event input
              x</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues derivedFrom="PR0R">
                <usage>read</usage>
              </enumeratedValues>
              <enumeratedValues derivedFrom="PR0W">
                <usage>write</usage>
              </enumeratedValues>
            </field>
            <field>
              <name>PR14</name>
              <description>CPU Event mask on Event input
              x</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues derivedFrom="PR0R">
                <usage>read</usage>
              </enumeratedValues>
              <enumeratedValues derivedFrom="PR0W">
                <usage>write</usage>
              </enumeratedValues>
            </field>
            <field>
              <name>PR15</name>
              <description>CPU Event mask on Event input
              x</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues derivedFrom="PR0R">
                <usage>read</usage>
              </enumeratedValues>
              <enumeratedValues derivedFrom="PR0W">
                <usage>write</usage>
              </enumeratedValues>
            </field>
            <field>
              <name>PR16</name>
              <description>CPU Event mask on Event input
              x</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues derivedFrom="PR0R">
                <usage>read</usage>
              </enumeratedValues>
              <enumeratedValues derivedFrom="PR0W">
                <usage>write</usage>
              </enumeratedValues>
            </field>
            <field>
              <name>PR17</name>
              <description>CPU Event mask on Event input
              x</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues derivedFrom="PR0R">
                <usage>read</usage>
              </enumeratedValues>
              <enumeratedValues derivedFrom="PR0W">
                <usage>write</usage>
              </enumeratedValues>
            </field>
            <field>
              <name>PR18</name>
              <description>CPU Event mask on Event input
              x</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues derivedFrom="PR0R">
                <usage>read</usage>
              </enumeratedValues>
              <enumeratedValues derivedFrom="PR0W">
                <usage>write</usage>
              </enumeratedValues>
            </field>
            <field>
              <name>PR19</name>
              <description>CPU Event mask on Event input
              x</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues derivedFrom="PR0R">
                <usage>read</usage>
              </enumeratedValues>
              <enumeratedValues derivedFrom="PR0W">
                <usage>write</usage>
              </enumeratedValues>
            </field>
            <field>
              <name>PR20</name>
              <description>CPU Event mask on Event input
              x</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues derivedFrom="PR0R">
                <usage>read</usage>
              </enumeratedValues>
              <enumeratedValues derivedFrom="PR0W">
                <usage>write</usage>
              </enumeratedValues>
            </field>
            <field>
              <name>PR21</name>
              <description>CPU Event mask on Event input
              x</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues derivedFrom="PR0R">
                <usage>read</usage>
              </enumeratedValues>
              <enumeratedValues derivedFrom="PR0W">
                <usage>write</usage>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CPUIMR2</name>
          <displayName>CPUIMR2</displayName>
          <description>EXTI interrupt mask register</description>
          <addressOffset>0x90</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>MR0</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+32</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>InterruptMask</name>
                <enumeratedValue>
                  <name>Masked</name>
                  <description>Interrupt request line is masked</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Unmasked</name>
                  <description>Interrupt request line is unmasked</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MR1</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+32</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR2</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+32</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR3</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+32</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR4</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+32</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR5</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+32</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR6</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+32</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR7</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+32</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR8</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+32</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR9</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+32</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR10</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+32</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR11</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+32</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR12</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+32</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR14</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+32</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR15</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+32</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR16</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+32</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR17</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+32</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR18</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+32</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR19</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+32</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR20</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+32</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR21</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+32</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR22</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+32</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR23</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+32</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR24</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+32</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR25</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+32</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR26</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+32</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR27</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+32</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR28</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+32</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR29</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+32</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR30</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+32</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR31</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+32</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
          </fields>
        </register>
        <register>
          <name>CPUEMR2</name>
          <displayName>CPUEMR2</displayName>
          <description>EXTI event mask register</description>
          <addressOffset>0x94</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>MR32</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+32</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>EventMask</name>
                <enumeratedValue>
                  <name>Masked</name>
                  <description>Event request line is masked</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Unmasked</name>
                  <description>Event request line is unmasked</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MR33</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+32</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR34</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+32</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR35</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+32</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR36</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+32</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR37</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+32</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR38</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+32</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR39</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+32</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR40</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+32</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR41</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+32</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR42</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+32</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR43</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+32</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR44</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+32</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR46</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+32</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR47</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+32</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR48</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+32</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR49</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+32</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR50</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+32</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR51</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+32</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR52</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+32</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR53</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+32</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR54</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+32</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR55</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+32</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR56</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+32</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR57</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+32</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR58</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+32</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR59</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+32</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR60</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+32</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR61</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+32</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR62</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+32</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR63</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+32</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
          </fields>
        </register>
        <register>
          <name>CPUPR2</name>
          <displayName>CPUPR2</displayName>
          <description>EXTI pending register</description>
          <addressOffset>0x98</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>PR49</name>
              <description>Configurable event inputs x+32 Pending
              bit</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>PR49R</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NotPending</name>
                  <description>No trigger request occurred</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Pending</name>
                  <description>Selected trigger request occurred</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>PR49W</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clears pending bit</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PR51</name>
              <description>Configurable event inputs x+32 Pending
              bit</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues derivedFrom="PR49R">
                <usage>read</usage>
              </enumeratedValues>
              <enumeratedValues derivedFrom="PR49W">
                <usage>write</usage>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CPUIMR3</name>
          <displayName>CPUIMR3</displayName>
          <description>EXTI interrupt mask register</description>
          <addressOffset>0xA0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>MR64</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+64</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>InterruptMask</name>
                <enumeratedValue>
                  <name>Masked</name>
                  <description>Interrupt request line is masked</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Unmasked</name>
                  <description>Interrupt request line is unmasked</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MR65</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+64</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR66</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+64</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR67</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+64</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR68</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+64</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR69</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+64</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR70</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+64</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR71</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+64</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR72</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+64</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR73</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+64</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR74</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+64</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR75</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+64</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR76</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+64</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR77</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+64</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR78</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+64</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR79</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+64</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR80</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+64</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR82</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+64</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR84</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+64</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR85</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+64</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR86</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+64</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR87</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+64</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>MR88</name>
              <description>CPU Interrupt Mask on Direct Event input
              x+64</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
          </fields>
        </register>
        <register>
          <name>CPUEMR3</name>
          <displayName>CPUEMR3</displayName>
          <description>EXTI event mask register</description>
          <addressOffset>0xA4</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>MR64</name>
              <description>CPU Event mask on Event input
              x+64</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>EventMask</name>
                <enumeratedValue>
                  <name>Masked</name>
                  <description>Event request line is masked</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Unmasked</name>
                  <description>Event request line is unmasked</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MR65</name>
              <description>CPU Event mask on Event input
              x+64</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR66</name>
              <description>CPU Event mask on Event input
              x+64</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR67</name>
              <description>CPU Event mask on Event input
              x+64</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR68</name>
              <description>CPU Event mask on Event input
              x+64</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR69</name>
              <description>CPU Event mask on Event input
              x+64</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR70</name>
              <description>CPU Event mask on Event input
              x+64</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR71</name>
              <description>CPU Event mask on Event input
              x+64</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR72</name>
              <description>CPU Event mask on Event input
              x+64</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR73</name>
              <description>CPU Event mask on Event input
              x+64</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR74</name>
              <description>CPU Event mask on Event input
              x+64</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR75</name>
              <description>CPU Event mask on Event input
              x+64</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR76</name>
              <description>CPU Event mask on Event input
              x+64</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR77</name>
              <description>CPU Event mask on Event input
              x+64</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR78</name>
              <description>CPU Event mask on Event input
              x+64</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR79</name>
              <description>CPU Event mask on Event input
              x+64</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR80</name>
              <description>CPU Event mask on Event input
              x+64</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR82</name>
              <description>CPU Event mask on Event input
              x+64</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR84</name>
              <description>CPU Event mask on Event input
              x+64</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR85</name>
              <description>CPU Event mask on Event input
              x+64</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR86</name>
              <description>CPU Event mask on Event input
              x+64</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR87</name>
              <description>CPU Event mask on Event input
              x+64</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>MR88</name>
              <description>CPU Event mask on Event input
              x+64</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
          </fields>
        </register>
        <register>
          <name>CPUPR3</name>
          <displayName>CPUPR3</displayName>
          <description>EXTI pending register</description>
          <addressOffset>0xA8</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>PR82</name>
              <description>Configurable event inputs x+64 Pending
              bit</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>PR82R</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NotPending</name>
                  <description>No trigger request occurred</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Pending</name>
                  <description>Selected trigger request occurred</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>PR82W</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clears pending bit</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PR84</name>
              <description>Configurable event inputs x+64 Pending
              bit</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues derivedFrom="PR82R">
                <usage>read</usage>
              </enumeratedValues>
              <enumeratedValues derivedFrom="PR82W">
                <usage>write</usage>
              </enumeratedValues>
            </field>
            <field>
              <name>PR85</name>
              <description>Configurable event inputs x+64 Pending
              bit</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues derivedFrom="PR82R">
                <usage>read</usage>
              </enumeratedValues>
              <enumeratedValues derivedFrom="PR82W">
                <usage>write</usage>
              </enumeratedValues>
            </field>
            <field>
              <name>PR86</name>
              <description>Configurable event inputs x+64 Pending
              bit</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues derivedFrom="PR82R">
                <usage>read</usage>
              </enumeratedValues>
              <enumeratedValues derivedFrom="PR82W">
                <usage>write</usage>
              </enumeratedValues>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>DELAY_Block_SDMMC1</name>
      <description>DELAY_Block_SDMMC1</description>
      <groupName>DLYB</groupName>
      <baseAddress>0x52008000</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x8</size>
        <usage>registers</usage>
      </addressBlock>
      <registers>
        <register>
          <name>CR</name>
          <displayName>CR</displayName>
          <description>DLYB control register</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DEN</name>
              <description>Delay block enable bit</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SEN</name>
              <description>Sampler length enable bit</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CFGR</name>
          <displayName>CFGR</displayName>
          <description>DLYB configuration register</description>
          <addressOffset>0x4</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>SEL</name>
              <description>Select the phase for the Output
              clock</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>UNIT</name>
              <description>Delay Defines the delay of a Unit delay
              cell</description>
              <bitOffset>8</bitOffset>
              <bitWidth>7</bitWidth>
            </field>
            <field>
              <name>LNG</name>
              <description>Delay line length value</description>
              <bitOffset>16</bitOffset>
              <bitWidth>12</bitWidth>
            </field>
            <field>
              <name>LNGF</name>
              <description>Length valid flag</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral derivedFrom="DELAY_Block_SDMMC1">
      <name>DELAY_Block_QUADSPI</name>
      <baseAddress>0x52006000</baseAddress>
    </peripheral>
    <peripheral derivedFrom="DELAY_Block_SDMMC1">
      <name>DELAY_Block_SDMMC2</name>
      <baseAddress>0x48022800</baseAddress>
    </peripheral>
    <peripheral>
      <name>FLASH</name>
      <description>Flash</description>
      <groupName>FLASH</groupName>
      <baseAddress>0x52002000</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x1000</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>FLASH</name>
        <description>Flash memory</description>
        <value>4</value>
      </interrupt>
      <registers>
        <register>
          <name>ACR</name>
          <displayName>ACR</displayName>
          <description>Access control register</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000037</resetValue>
          <fields>
            <field>
              <name>LATENCY</name>
              <description>Read latency</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>WRHIGHFREQ</name>
              <description>Flash signal delay</description>
              <bitOffset>4</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
          </fields>
        </register>
        <cluster>
          <dim>2</dim>
          <dimIncrement>0x100</dimIncrement>
          <dimIndex>1-2</dimIndex>
          <name>BANK%s</name>
          <description>Cluster BANK%s, containing KEYR?, CR?, SR?, CCR?, PRAR_CUR?, PRAR_PRG?, SCAR_CUR?, SCAR_PRG?, WPSN_CUR?R, WPSN_PRG?R, CRCCR?, CRCSADD?R, CRCEADD?R, ECC_FA?R</description>
          <addressOffset>0x4</addressOffset>
          <register>
            <name>KEYR</name>
            <displayName>KEYR1</displayName>
            <description>FLASH key register for bank 1</description>
            <addressOffset>0x0</addressOffset>
            <size>0x20</size>
            <access>write-only</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>KEY1R</name>
                <description>Bank 1 access configuration unlock
              key</description>
                <bitOffset>0</bitOffset>
                <bitWidth>32</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>CR</name>
            <displayName>CR1</displayName>
            <description>FLASH control register for bank
          1</description>
            <addressOffset>0x8</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>LOCK</name>
                <description>Bank 1 configuration lock
              bit</description>
                <bitOffset>0</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>PG</name>
                <description>Bank 1 program enable bit</description>
                <bitOffset>1</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>SER</name>
                <description>Bank 1 sector erase
              request</description>
                <bitOffset>2</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>BER</name>
                <description>Bank 1 erase request</description>
                <bitOffset>3</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>PSIZE</name>
                <description>Bank 1 program size</description>
                <bitOffset>4</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>FW</name>
                <description>Bank 1 write forcing control
              bit</description>
                <bitOffset>6</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>START</name>
                <description>Bank 1 bank or sector erase start
              control bit</description>
                <bitOffset>7</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>SNB</name>
                <description>Bank 1 sector erase selection
              number</description>
                <bitOffset>8</bitOffset>
                <bitWidth>3</bitWidth>
              </field>
              <field>
                <name>CRC_EN</name>
                <description>Bank 1 CRC control bit</description>
                <bitOffset>15</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>EOPIE</name>
                <description>Bank 1 end-of-program interrupt control
              bit</description>
                <bitOffset>16</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>WRPERRIE</name>
                <description>Bank 1 write protection error interrupt
              enable bit</description>
                <bitOffset>17</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>PGSERRIE</name>
                <description>Bank 1 programming sequence error
              interrupt enable bit</description>
                <bitOffset>18</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>STRBERRIE</name>
                <description>Bank 1 strobe error interrupt enable
              bit</description>
                <bitOffset>19</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>INCERRIE</name>
                <description>Bank 1 inconsistency error interrupt
              enable bit</description>
                <bitOffset>21</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>OPERRIE</name>
                <description>Bank 1 write/erase error interrupt
              enable bit</description>
                <bitOffset>22</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>RDPERRIE</name>
                <description>Bank 1 read protection error interrupt
              enable bit</description>
                <bitOffset>23</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>RDSERRIE</name>
                <description>Bank 1 secure error interrupt enable
              bit</description>
                <bitOffset>24</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>SNECCERR</name>
                <description>Bank 1 ECC single correction error
              interrupt enable bit</description>
                <bitOffset>25</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>DBECCERRIE</name>
                <description>Bank 1 ECC double detection error
              interrupt enable bit</description>
                <bitOffset>26</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>CRCENDIE</name>
                <description>Bank 1 end of CRC calculation interrupt
              enable bit</description>
                <bitOffset>27</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>CRCRDERRIE</name>
                <description>Bank 1 CRC read error interrupt enable bit
When CRCRDERRIE1 bit is set to 1, an interrupt is generated when a protected area (PCROP or secure-only) has been detected during the last CRC computation on bank 1. CRCRDERRIE1 can be programmed only when LOCK1 is cleared to 0.</description>
                <bitOffset>28</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>SPSS</name>
                <description>Bank 2 special sector selection bit</description>
                <bitOffset>14</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>SR</name>
            <displayName>SR1</displayName>
            <description>FLASH status register for bank
          1</description>
            <addressOffset>0xC</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>BSY</name>
                <description>Bank 1 ongoing program
              flag</description>
                <bitOffset>0</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>WBNE</name>
                <description>Bank 1 write buffer not empty
              flag</description>
                <bitOffset>1</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>QW</name>
                <description>Bank 1 wait queue flag</description>
                <bitOffset>2</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>CRC_BUSY</name>
                <description>Bank 1 CRC busy flag</description>
                <bitOffset>3</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>EOP</name>
                <description>Bank 1 end-of-program flag</description>
                <bitOffset>16</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>WRPERR</name>
                <description>Bank 1 write protection error
              flag</description>
                <bitOffset>17</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>PGSERR</name>
                <description>Bank 1 programming sequence error
              flag</description>
                <bitOffset>18</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>STRBERR</name>
                <description>Bank 1 strobe error flag</description>
                <bitOffset>19</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>INCERR</name>
                <description>Bank 1 inconsistency error
              flag</description>
                <bitOffset>21</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>OPERR</name>
                <description>Bank 1 write/erase error
              flag</description>
                <bitOffset>22</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>RDPERR</name>
                <description>Bank 1 read protection error
              flag</description>
                <bitOffset>23</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>RDSERR</name>
                <description>Bank 1 secure error flag</description>
                <bitOffset>24</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>SNECCERR</name>
                <description>Bank 1 single correction error
              flag</description>
                <bitOffset>25</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>DBECCERR</name>
                <description>Bank 1 ECC double detection error
              flag</description>
                <bitOffset>26</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>CRCEND</name>
                <description>Bank 1 CRC-complete flag</description>
                <bitOffset>27</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>CCR</name>
            <displayName>CCR1</displayName>
            <description>FLASH clear control register for bank
          1</description>
            <addressOffset>0x10</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>CLR_EOP</name>
                <description>Bank 1 EOP1 flag clear bit</description>
                <bitOffset>16</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>CLR_WRPERR</name>
                <description>Bank 1 WRPERR1 flag clear
              bit</description>
                <bitOffset>17</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>CLR_PGSERR</name>
                <description>Bank 1 PGSERR1 flag clear
              bi</description>
                <bitOffset>18</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>CLR_STRBERR</name>
                <description>Bank 1 STRBERR1 flag clear
              bit</description>
                <bitOffset>19</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>CLR_INCERR</name>
                <description>Bank 1 INCERR1 flag clear
              bit</description>
                <bitOffset>21</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>CLR_OPERR</name>
                <description>Bank 1 OPERR1 flag clear
              bit</description>
                <bitOffset>22</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>CLR_RDPERR</name>
                <description>Bank 1 RDPERR1 flag clear
              bit</description>
                <bitOffset>23</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>CLR_RDSERR</name>
                <description>Bank 1 RDSERR1 flag clear
              bit</description>
                <bitOffset>24</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>CLR_SNECCERR</name>
                <description>Bank 1 SNECCERR1 flag clear
              bit</description>
                <bitOffset>25</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>CLR_DBECCERR</name>
                <description>Bank 1 DBECCERR1 flag clear
              bit</description>
                <bitOffset>26</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>CLR_CRCEND</name>
                <description>Bank 1 CRCEND1 flag clear
              bit</description>
                <bitOffset>27</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>PRAR_CUR</name>
            <displayName>PRAR_CUR1</displayName>
            <description>FLASH protection address for bank
          1</description>
            <addressOffset>0x24</addressOffset>
            <size>0x20</size>
            <access>read-only</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>PROT_AREA_START</name>
                <description>Bank 1 lowest PCROP protected
              address</description>
                <bitOffset>0</bitOffset>
                <bitWidth>12</bitWidth>
              </field>
              <field>
                <name>PROT_AREA_END</name>
                <description>Bank 1 highest PCROP protected
              address</description>
                <bitOffset>16</bitOffset>
                <bitWidth>12</bitWidth>
              </field>
              <field>
                <name>DMEP</name>
                <description>Bank 1 PCROP protected erase enable
              option status bit</description>
                <bitOffset>31</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>PRAR_PRG</name>
            <displayName>PRAR_PRG1</displayName>
            <description>FLASH protection address for bank
          1</description>
            <addressOffset>0x28</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>PROT_AREA_START</name>
                <description>Bank 1 lowest PCROP protected address
              configuration</description>
                <bitOffset>0</bitOffset>
                <bitWidth>12</bitWidth>
              </field>
              <field>
                <name>PROT_AREA_END</name>
                <description>Bank 1 highest PCROP protected address
              configuration</description>
                <bitOffset>16</bitOffset>
                <bitWidth>12</bitWidth>
              </field>
              <field>
                <name>DMEP</name>
                <description>Bank 1 PCROP protected erase enable
              option configuration bit</description>
                <bitOffset>31</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>SCAR_CUR</name>
            <displayName>SCAR_CUR1</displayName>
            <description>FLASH secure address for bank
          1</description>
            <addressOffset>0x2C</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>SEC_AREA_START</name>
                <description>Bank 1 lowest secure protected
              address</description>
                <bitOffset>0</bitOffset>
                <bitWidth>12</bitWidth>
              </field>
              <field>
                <name>SEC_AREA_END</name>
                <description>Bank 1 highest secure protected
              address</description>
                <bitOffset>16</bitOffset>
                <bitWidth>12</bitWidth>
              </field>
              <field>
                <name>DMES</name>
                <description>Bank 1 secure protected erase enable
              option status bit</description>
                <bitOffset>31</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>SCAR_PRG</name>
            <displayName>SCAR_PRG1</displayName>
            <description>FLASH secure address for bank
          1</description>
            <addressOffset>0x30</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>SEC_AREA_START</name>
                <description>Bank 1 lowest secure protected address
              configuration</description>
                <bitOffset>0</bitOffset>
                <bitWidth>12</bitWidth>
              </field>
              <field>
                <name>SEC_AREA_END</name>
                <description>Bank 1 highest secure protected address
              configuration</description>
                <bitOffset>16</bitOffset>
                <bitWidth>12</bitWidth>
              </field>
              <field>
                <name>DMES</name>
                <description>Bank 1 secure protected erase enable
              option configuration bit</description>
                <bitOffset>31</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>WPSN_CURR</name>
            <displayName>WPSN_CUR1R</displayName>
            <description>FLASH write sector protection for bank
          1</description>
            <addressOffset>0x34</addressOffset>
            <size>0x20</size>
            <access>read-only</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>WRPSn</name>
                <description>Bank 1 sector write protection option
              status byte</description>
                <bitOffset>0</bitOffset>
                <bitWidth>8</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>WPSN_PRGR</name>
            <displayName>WPSN_PRG1R</displayName>
            <description>FLASH write sector protection for bank
          1</description>
            <addressOffset>0x38</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>WRPSn</name>
                <description>Bank 1 sector write protection
              configuration byte</description>
                <bitOffset>0</bitOffset>
                <bitWidth>8</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>CRCCR</name>
            <displayName>CRCCR1</displayName>
            <description>FLASH CRC control register for bank
          1</description>
            <addressOffset>0x4C</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>CRC_SECT</name>
                <description>Bank 1 CRC sector number</description>
                <bitOffset>0</bitOffset>
                <bitWidth>3</bitWidth>
              </field>
              <field>
                <name>ALL_BANK</name>
                <description>Bank 1 CRC select bit</description>
                <bitOffset>7</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>CRC_BY_SECT</name>
                <description>Bank 1 CRC sector mode select
              bit</description>
                <bitOffset>8</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>ADD_SECT</name>
                <description>Bank 1 CRC sector select
              bit</description>
                <bitOffset>9</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>CLEAN_SECT</name>
                <description>Bank 1 CRC sector list clear
              bit</description>
                <bitOffset>10</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>START_CRC</name>
                <description>Bank 1 CRC start bit</description>
                <bitOffset>16</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>CLEAN_CRC</name>
                <description>Bank 1 CRC clear bit</description>
                <bitOffset>17</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>CRC_BURST</name>
                <description>Bank 1 CRC burst size</description>
                <bitOffset>20</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>CRCSADDR</name>
            <displayName>CRCSADD1R</displayName>
            <description>FLASH CRC start address register for bank
          1</description>
            <addressOffset>0x50</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>CRC_START_ADDR</name>
                <description>CRC start address on bank 1</description>
                <bitOffset>2</bitOffset>
                <bitWidth>18</bitWidth>
                <access>read-write</access>
              </field>
            </fields>
          </register>
          <register>
            <name>CRCEADDR</name>
            <displayName>CRCEADD1R</displayName>
            <description>FLASH CRC end address register for bank
          1</description>
            <addressOffset>0x54</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>CRC_END_ADDR</name>
                <description>CRC end address on bank 1</description>
                <bitOffset>2</bitOffset>
                <bitWidth>18</bitWidth>
                <access>read-write</access>
              </field>
            </fields>
          </register>
          <register>
            <name>FAR</name>
            <displayName>ECC_FA1R</displayName>
            <description>FLASH ECC fail address for bank
          1</description>
            <addressOffset>0x5C</addressOffset>
            <size>0x20</size>
            <access>read-only</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>FAIL_ECC_ADDR</name>
                <description>Bank 1 ECC error address</description>
                <bitOffset>0</bitOffset>
                <bitWidth>15</bitWidth>
              </field>
            </fields>
          </register>
        </cluster>
        <register>
          <name>OPTKEYR</name>
          <displayName>OPTKEYR</displayName>
          <description>FLASH option key register</description>
          <addressOffset>0x8</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>OPTKEYR</name>
              <description>Unlock key option bytes</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>OPTCR</name>
          <displayName>OPTCR</displayName>
          <description>FLASH option control register</description>
          <addressOffset>0x18</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>OPTLOCK</name>
              <description>FLASH_OPTCR lock option configuration
              bit</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>OPTSTART</name>
              <description>Option byte start change option
              configuration bit</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>MER</name>
              <description>Flash mass erase enable
              bit</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>OPTCHANGEERRIE</name>
              <description>Option byte change error interrupt
              enable bit</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SWAP_BANK</name>
              <description>Bank swapping configuration
              bit</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>OPTSR_CUR</name>
          <displayName>OPTSR_CUR</displayName>
          <description>FLASH option status register</description>
          <addressOffset>0x1C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>OPT_BUSY</name>
              <description>Option byte change ongoing
              flag</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>BOR_LEV</name>
              <description>Brownout level option status
              bit</description>
              <bitOffset>2</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>IWDG1_SW</name>
              <description>IWDG1 control option status
              bit</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>NRST_STOP_D1</name>
              <description>D1 DStop entry reset option status
              bit</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>NRST_STBY_D1</name>
              <description>D1 DStandby entry reset option status
              bit</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RDP</name>
              <description>Readout protection level option status
              byte</description>
              <bitOffset>8</bitOffset>
              <bitWidth>8</bitWidth>
            </field>
            <field>
              <name>IWDG_FZ_STOP</name>
              <description>IWDG Stop mode freeze option status
              bit</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IWDG_FZ_SDBY</name>
              <description>IWDG Standby mode freeze option status
              bit</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ST_RAM_SIZE</name>
              <description>DTCM RAM size option
              status</description>
              <bitOffset>19</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>SECURITY</name>
              <description>Security enable option status
              bit</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IO_HSLV</name>
              <description>I/O high-speed at low-voltage status bit
              (PRODUCT_BELOW_25V)</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>OPTCHANGEERR</name>
              <description>Option byte change error
              flag</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SWAP_BANK_OPT</name>
              <description>Bank swapping option status
              bit</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>OPTSR_PRG</name>
          <displayName>OPTSR_PRG</displayName>
          <description>FLASH option status register</description>
          <addressOffset>0x20</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>BOR_LEV</name>
              <description>BOR reset level option configuration
              bits</description>
              <bitOffset>2</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>IWDG1_SW</name>
              <description>IWDG1 option configuration
              bit</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>NRST_STOP_D1</name>
              <description>Option byte erase after D1 DStop option
              configuration bit</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>NRST_STBY_D1</name>
              <description>Option byte erase after D1 DStandby
              option configuration bit</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RDP</name>
              <description>Readout protection level option
              configuration byte</description>
              <bitOffset>8</bitOffset>
              <bitWidth>8</bitWidth>
            </field>
            <field>
              <name>IWDG_FZ_STOP</name>
              <description>IWDG Stop mode freeze option
              configuration bit</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IWDG_FZ_SDBY</name>
              <description>IWDG Standby mode freeze option
              configuration bit</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ST_RAM_SIZE</name>
              <description>DTCM size select option configuration
              bits</description>
              <bitOffset>19</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>SECURITY</name>
              <description>Security option configuration
              bit</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IO_HSLV</name>
              <description>I/O high-speed at low-voltage
              (PRODUCT_BELOW_25V)</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SWAP_BANK_OPT</name>
              <description>Bank swapping option configuration
              bit</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>OPTCCR</name>
          <displayName>OPTCCR</displayName>
          <description>FLASH option clear control
          register</description>
          <addressOffset>0x24</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CLR_OPTCHANGEERR</name>
              <description>OPTCHANGEERR reset bit</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>BOOT_CURR</name>
          <displayName>BOOT_CURR</displayName>
          <description>FLASH register with boot
          address</description>
          <addressOffset>0x40</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>BOOT_ADD0</name>
              <description>Boot address 0</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
            <field>
              <name>BOOT_ADD1</name>
              <description>Boot address 1</description>
              <bitOffset>16</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>BOOT_PRGR</name>
          <displayName>BOOT_PRGR</displayName>
          <description>FLASH register with boot
          address</description>
          <addressOffset>0x44</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>BOOT_ADD0</name>
              <description>Boot address 0</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
            <field>
              <name>BOOT_ADD1</name>
              <description>Boot address 1</description>
              <bitOffset>16</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CRCDATAR</name>
          <displayName>CRCDATAR</displayName>
          <description>FLASH CRC data register</description>
          <addressOffset>0x5C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CRC_DATA</name>
              <description>CRC result</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>ACR_</name>
          <displayName>ACR_</displayName>
          <description>Access control register</description>
          <addressOffset>0x100</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000037</resetValue>
          <fields>
            <field>
              <name>LATENCY</name>
              <description>Read latency</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>WRHIGHFREQ</name>
              <description>Flash signal delay</description>
              <bitOffset>4</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>OPTKEYR_</name>
          <displayName>OPTKEYR_</displayName>
          <description>FLASH option key register</description>
          <addressOffset>0x108</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>OPTKEYR</name>
              <description>Unlock key option bytes</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>OPTCR_</name>
          <displayName>OPTCR_</displayName>
          <description>FLASH option control register</description>
          <addressOffset>0x118</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>OPTLOCK</name>
              <description>FLASH_OPTCR lock option configuration
              bit</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>OPTSTART</name>
              <description>Option byte start change option
              configuration bit</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>MER</name>
              <description>Flash mass erase enable
              bit</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>OPTCHANGEERRIE</name>
              <description>Option byte change error interrupt
              enable bit</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SWAP_BANK</name>
              <description>Bank swapping configuration
              bit</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>OPTSR_CUR_</name>
          <displayName>OPTSR_CUR_</displayName>
          <description>FLASH option status register</description>
          <addressOffset>0x11C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>OPT_BUSY</name>
              <description>Option byte change ongoing
              flag</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>BOR_LEV</name>
              <description>Brownout level option status
              bit</description>
              <bitOffset>2</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>IWDG1_SW</name>
              <description>IWDG1 control option status
              bit</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>NRST_STOP_D1</name>
              <description>D1 DStop entry reset option status
              bit</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>NRST_STBY_D1</name>
              <description>D1 DStandby entry reset option status
              bit</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RDP</name>
              <description>Readout protection level option status
              byte</description>
              <bitOffset>8</bitOffset>
              <bitWidth>8</bitWidth>
            </field>
            <field>
              <name>IWDG_FZ_STOP</name>
              <description>IWDG Stop mode freeze option status
              bit</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IWDG_FZ_SDBY</name>
              <description>IWDG Standby mode freeze option status
              bit</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ST_RAM_SIZE</name>
              <description>DTCM RAM size option
              status</description>
              <bitOffset>19</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>SECURITY</name>
              <description>Security enable option status
              bit</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IO_HSLV</name>
              <description>I/O high-speed at low-voltage status bit
              (PRODUCT_BELOW_25V)</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>OPTCHANGEERR</name>
              <description>Option byte change error
              flag</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SWAP_BANK_OPT</name>
              <description>Bank swapping option status
              bit</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>OPTSR_PRG_</name>
          <displayName>OPTSR_PRG_</displayName>
          <description>FLASH option status register</description>
          <addressOffset>0x120</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>BOR_LEV</name>
              <description>BOR reset level option configuration
              bits</description>
              <bitOffset>2</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>IWDG1_SW</name>
              <description>IWDG1 option configuration
              bit</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>nRST_STOP</name>
              <description>Option byte erase after D1 DStop option
              configuration bit</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>nRST_STDY</name>
              <description>Option byte erase after D1 DStandby
              option configuration bit</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RDP</name>
              <description>Readout protection level option
              configuration byte</description>
              <bitOffset>8</bitOffset>
              <bitWidth>8</bitWidth>
            </field>
            <field>
              <name>FZ_IWDG_STOP</name>
              <description>IWDG Stop mode freeze option
              configuration bit</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>FZ_IWDG_SDBY</name>
              <description>IWDG Standby mode freeze option
              configuration bit</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ST_RAM_SIZE</name>
              <description>DTCM size select option configuration
              bits</description>
              <bitOffset>19</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>SECURITY</name>
              <description>Security option configuration
              bit</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IO_HSLV</name>
              <description>I/O high-speed at low-voltage
              (PRODUCT_BELOW_25V)</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SWAP_BANK_OPT</name>
              <description>Bank swapping option configuration
              bit</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>OPTCCR_</name>
          <displayName>OPTCCR_</displayName>
          <description>FLASH option clear control
          register</description>
          <addressOffset>0x124</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CLR_OPTCHANGEERR</name>
              <description>OPTCHANGEERR reset bit</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>BOOT_CURR_</name>
          <displayName>BOOT_CURR_</displayName>
          <description>FLASH register with boot
          address</description>
          <addressOffset>0x140</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>BOOT_ADD0</name>
              <description>Boot address 0</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
            <field>
              <name>BOOT_ADD1</name>
              <description>Boot address 1</description>
              <bitOffset>16</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>BOOT_PRGR_</name>
          <displayName>BOOT_PRGR_</displayName>
          <description>FLASH register with boot
          address</description>
          <addressOffset>0x144</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>BOOT_ADD0</name>
              <description>Boot address 0</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
            <field>
              <name>BOOT_ADD1</name>
              <description>Boot address 1</description>
              <bitOffset>16</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CRCDATAR_</name>
          <displayName>CRCDATAR_</displayName>
          <description>FLASH CRC data register</description>
          <addressOffset>0x15C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CRC_DATA</name>
              <description>CRC result</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>AXI</name>
      <description>AXI interconnect registers</description>
      <groupName>AXI</groupName>
      <baseAddress>0x51000000</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x100000</size>
        <usage>registers</usage>
      </addressBlock>
      <registers>
        <register>
          <name>PERIPH_ID_4</name>
          <displayName>PERIPH_ID_4</displayName>
          <description>AXI interconnect - peripheral ID4
          register</description>
          <addressOffset>0x1FD0</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000004</resetValue>
          <fields>
            <field>
              <name>JEP106CON</name>
              <description>JEP106 continuation code</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>KCOUNT4</name>
              <description>Register file size</description>
              <bitOffset>4</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>PERIPH_ID_0</name>
          <displayName>PERIPH_ID_0</displayName>
          <description>AXI interconnect - peripheral ID0
          register</description>
          <addressOffset>0x1FE0</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000004</resetValue>
          <fields>
            <field>
              <name>PARTNUM</name>
              <description>Peripheral part number bits 0 to
              7</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>PERIPH_ID_1</name>
          <displayName>PERIPH_ID_1</displayName>
          <description>AXI interconnect - peripheral ID1
          register</description>
          <addressOffset>0x1FE4</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000004</resetValue>
          <fields>
            <field>
              <name>PARTNUM</name>
              <description>Peripheral part number bits 8 to
              11</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>JEP106I</name>
              <description>JEP106 identity bits 0 to
              3</description>
              <bitOffset>4</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>PERIPH_ID_2</name>
          <displayName>PERIPH_ID_2</displayName>
          <description>AXI interconnect - peripheral ID2
          register</description>
          <addressOffset>0x1FE8</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000004</resetValue>
          <fields>
            <field>
              <name>JEP106ID</name>
              <description>JEP106 Identity bits 4 to
              6</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
            </field>
            <field>
              <name>JEDEC</name>
              <description>JEP106 code flag</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>REVISION</name>
              <description>Peripheral revision number</description>
              <bitOffset>4</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>PERIPH_ID_3</name>
          <displayName>PERIPH_ID_3</displayName>
          <description>AXI interconnect - peripheral ID3
          register</description>
          <addressOffset>0x1FEC</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000004</resetValue>
          <fields>
            <field>
              <name>CUST_MOD_NUM</name>
              <description>Customer modification</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>REV_AND</name>
              <description>Customer version</description>
              <bitOffset>4</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>COMP_ID_0</name>
          <displayName>COMP_ID_0</displayName>
          <description>AXI interconnect - component ID0
          register</description>
          <addressOffset>0x1FF0</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000004</resetValue>
          <fields>
            <field>
              <name>PREAMBLE</name>
              <description>Preamble bits 0 to 7</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>COMP_ID_1</name>
          <displayName>COMP_ID_1</displayName>
          <description>AXI interconnect - component ID1
          register</description>
          <addressOffset>0x1FF4</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000004</resetValue>
          <fields>
            <field>
              <name>PREAMBLE</name>
              <description>Preamble bits 8 to 11</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>CLASS</name>
              <description>Component class</description>
              <bitOffset>4</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>COMP_ID_2</name>
          <displayName>COMP_ID_2</displayName>
          <description>AXI interconnect - component ID2
          register</description>
          <addressOffset>0x1FF8</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000004</resetValue>
          <fields>
            <field>
              <name>PREAMBLE</name>
              <description>Preamble bits 12 to 19</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>COMP_ID_3</name>
          <displayName>COMP_ID_3</displayName>
          <description>AXI interconnect - component ID3
          register</description>
          <addressOffset>0x1FFC</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000004</resetValue>
          <fields>
            <field>
              <name>PREAMBLE</name>
              <description>Preamble bits 20 to 27</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>TARG1_FN_MOD_ISS_BM</name>
          <displayName>TARG1_FN_MOD_ISS_BM</displayName>
          <description>AXI interconnect - TARG x bus matrix issuing
          functionality register</description>
          <addressOffset>0x2008</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000004</resetValue>
          <fields>
            <field>
              <name>READ_ISS_OVERRIDE</name>
              <description>READ_ISS_OVERRIDE</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>WRITE_ISS_OVERRIDE</name>
              <description>Switch matrix write issuing override for
              target</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>TARG2_FN_MOD_ISS_BM</name>
          <displayName>TARG2_FN_MOD_ISS_BM</displayName>
          <description>AXI interconnect - TARG x bus matrix issuing
          functionality register</description>
          <addressOffset>0x3008</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000004</resetValue>
          <fields>
            <field>
              <name>READ_ISS_OVERRIDE</name>
              <description>READ_ISS_OVERRIDE</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>WRITE_ISS_OVERRIDE</name>
              <description>Switch matrix write issuing override for
              target</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>TARG3_FN_MOD_ISS_BM</name>
          <displayName>TARG3_FN_MOD_ISS_BM</displayName>
          <description>AXI interconnect - TARG x bus matrix issuing
          functionality register</description>
          <addressOffset>0x4008</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000004</resetValue>
          <fields>
            <field>
              <name>READ_ISS_OVERRIDE</name>
              <description>READ_ISS_OVERRIDE</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>WRITE_ISS_OVERRIDE</name>
              <description>Switch matrix write issuing override for
              target</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>TARG4_FN_MOD_ISS_BM</name>
          <displayName>TARG4_FN_MOD_ISS_BM</displayName>
          <description>AXI interconnect - TARG x bus matrix issuing
          functionality register</description>
          <addressOffset>0x5008</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000004</resetValue>
          <fields>
            <field>
              <name>READ_ISS_OVERRIDE</name>
              <description>READ_ISS_OVERRIDE</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>WRITE_ISS_OVERRIDE</name>
              <description>Switch matrix write issuing override for
              target</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>TARG5_FN_MOD_ISS_BM</name>
          <displayName>TARG5_FN_MOD_ISS_BM</displayName>
          <description>AXI interconnect - TARG x bus matrix issuing
          functionality register</description>
          <addressOffset>0x6008</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000004</resetValue>
          <fields>
            <field>
              <name>READ_ISS_OVERRIDE</name>
              <description>READ_ISS_OVERRIDE</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>WRITE_ISS_OVERRIDE</name>
              <description>Switch matrix write issuing override for
              target</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>TARG6_FN_MOD_ISS_BM</name>
          <displayName>TARG6_FN_MOD_ISS_BM</displayName>
          <description>AXI interconnect - TARG x bus matrix issuing
          functionality register</description>
          <addressOffset>0x7008</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000004</resetValue>
          <fields>
            <field>
              <name>READ_ISS_OVERRIDE</name>
              <description>READ_ISS_OVERRIDE</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>WRITE_ISS_OVERRIDE</name>
              <description>Switch matrix write issuing override for
              target</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>TARG7_FN_MOD_ISS_BM</name>
          <displayName>TARG7_FN_MOD_ISS_BM</displayName>
          <description>AXI interconnect - TARG x bus matrix issuing
          functionality register</description>
          <addressOffset>0x800C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000004</resetValue>
          <fields>
            <field>
              <name>READ_ISS_OVERRIDE</name>
              <description>READ_ISS_OVERRIDE</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>WRITE_ISS_OVERRIDE</name>
              <description>Switch matrix write issuing override for
              target</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>TARG1_FN_MOD2</name>
          <displayName>TARG1_FN_MOD2</displayName>
          <description>AXI interconnect - TARG x bus matrix
          functionality 2 register</description>
          <addressOffset>0x2024</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000004</resetValue>
          <fields>
            <field>
              <name>BYPASS_MERGE</name>
              <description>Disable packing of beats to match the
              output data width</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>TARG2_FN_MOD2</name>
          <displayName>TARG2_FN_MOD2</displayName>
          <description>AXI interconnect - TARG x bus matrix
          functionality 2 register</description>
          <addressOffset>0x3024</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000004</resetValue>
          <fields>
            <field>
              <name>BYPASS_MERGE</name>
              <description>Disable packing of beats to match the
              output data width</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>TARG7_FN_MOD2</name>
          <displayName>TARG7_FN_MOD2</displayName>
          <description>AXI interconnect - TARG x bus matrix
          functionality 2 register</description>
          <addressOffset>0x8024</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000004</resetValue>
          <fields>
            <field>
              <name>BYPASS_MERGE</name>
              <description>Disable packing of beats to match the
              output data width</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>TARG1_FN_MOD_LB</name>
          <displayName>TARG1_FN_MOD_LB</displayName>
          <description>AXI interconnect - TARG x long burst
          functionality modification</description>
          <addressOffset>0x202C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000004</resetValue>
          <fields>
            <field>
              <name>FN_MOD_LB</name>
              <description>Controls burst breaking of long
              bursts</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>TARG2_FN_MOD_LB</name>
          <displayName>TARG2_FN_MOD_LB</displayName>
          <description>AXI interconnect - TARG x long burst
          functionality modification</description>
          <addressOffset>0x302C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000004</resetValue>
          <fields>
            <field>
              <name>FN_MOD_LB</name>
              <description>Controls burst breaking of long
              bursts</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>TARG1_FN_MOD</name>
          <displayName>TARG1_FN_MOD</displayName>
          <description>AXI interconnect - TARG x long burst
          functionality modification</description>
          <addressOffset>0x2108</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000004</resetValue>
          <fields>
            <field>
              <name>READ_ISS_OVERRIDE</name>
              <description>Override AMIB read issuing
              capability</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>WRITE_ISS_OVERRIDE</name>
              <description>Override AMIB write issuing
              capability</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>TARG2_FN_MOD</name>
          <displayName>TARG2_FN_MOD</displayName>
          <description>AXI interconnect - TARG x long burst
          functionality modification</description>
          <addressOffset>0x3108</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000004</resetValue>
          <fields>
            <field>
              <name>READ_ISS_OVERRIDE</name>
              <description>Override AMIB read issuing
              capability</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>WRITE_ISS_OVERRIDE</name>
              <description>Override AMIB write issuing
              capability</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>TARG7_FN_MOD</name>
          <displayName>TARG7_FN_MOD</displayName>
          <description>AXI interconnect - TARG x long burst
          functionality modification</description>
          <addressOffset>0x8108</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000004</resetValue>
          <fields>
            <field>
              <name>READ_ISS_OVERRIDE</name>
              <description>Override AMIB read issuing
              capability</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>WRITE_ISS_OVERRIDE</name>
              <description>Override AMIB write issuing
              capability</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>INI1_FN_MOD2</name>
          <displayName>INI1_FN_MOD2</displayName>
          <description>AXI interconnect - INI x functionality
          modification 2 register</description>
          <addressOffset>0x42024</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000004</resetValue>
          <fields>
            <field>
              <name>BYPASS_MERGE</name>
              <description>Disables alteration of transactions by
              the up-sizer unless required by the
              protocol</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>INI3_FN_MOD2</name>
          <displayName>INI3_FN_MOD2</displayName>
          <description>AXI interconnect - INI x functionality
          modification 2 register</description>
          <addressOffset>0x44024</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000004</resetValue>
          <fields>
            <field>
              <name>BYPASS_MERGE</name>
              <description>Disables alteration of transactions by
              the up-sizer unless required by the
              protocol</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>INI1_FN_MOD_AHB</name>
          <displayName>INI1_FN_MOD_AHB</displayName>
          <description>AXI interconnect - INI x AHB functionality
          modification register</description>
          <addressOffset>0x42028</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000004</resetValue>
          <fields>
            <field>
              <name>RD_INC_OVERRIDE</name>
              <description>Converts all AHB-Lite write transactions
              to a series of single beat AXI</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>WR_INC_OVERRIDE</name>
              <description>Converts all AHB-Lite read transactions
              to a series of single beat AXI</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>INI3_FN_MOD_AHB</name>
          <displayName>INI3_FN_MOD_AHB</displayName>
          <description>AXI interconnect - INI x AHB functionality
          modification register</description>
          <addressOffset>0x44028</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000004</resetValue>
          <fields>
            <field>
              <name>RD_INC_OVERRIDE</name>
              <description>Converts all AHB-Lite write transactions
              to a series of single beat AXI</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>WR_INC_OVERRIDE</name>
              <description>Converts all AHB-Lite read transactions
              to a series of single beat AXI</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>INI1_READ_QOS</name>
          <displayName>INI1_READ_QOS</displayName>
          <description>AXI interconnect - INI x read QoS
          register</description>
          <addressOffset>0x42100</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000004</resetValue>
          <fields>
            <field>
              <name>AR_QOS</name>
              <description>Read channel QoS setting</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>INI2_READ_QOS</name>
          <displayName>INI2_READ_QOS</displayName>
          <description>AXI interconnect - INI x read QoS
          register</description>
          <addressOffset>0x43100</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000004</resetValue>
          <fields>
            <field>
              <name>AR_QOS</name>
              <description>Read channel QoS setting</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>INI3_READ_QOS</name>
          <displayName>INI3_READ_QOS</displayName>
          <description>AXI interconnect - INI x read QoS
          register</description>
          <addressOffset>0x44100</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000004</resetValue>
          <fields>
            <field>
              <name>AR_QOS</name>
              <description>Read channel QoS setting</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>INI4_READ_QOS</name>
          <displayName>INI4_READ_QOS</displayName>
          <description>AXI interconnect - INI x read QoS
          register</description>
          <addressOffset>0x45100</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000004</resetValue>
          <fields>
            <field>
              <name>AR_QOS</name>
              <description>Read channel QoS setting</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>INI5_READ_QOS</name>
          <displayName>INI5_READ_QOS</displayName>
          <description>AXI interconnect - INI x read QoS
          register</description>
          <addressOffset>0x46100</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000004</resetValue>
          <fields>
            <field>
              <name>AR_QOS</name>
              <description>Read channel QoS setting</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>INI6_READ_QOS</name>
          <displayName>INI6_READ_QOS</displayName>
          <description>AXI interconnect - INI x read QoS
          register</description>
          <addressOffset>0x47100</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000004</resetValue>
          <fields>
            <field>
              <name>AR_QOS</name>
              <description>Read channel QoS setting</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>INI1_WRITE_QOS</name>
          <displayName>INI1_WRITE_QOS</displayName>
          <description>AXI interconnect - INI x write QoS
          register</description>
          <addressOffset>0x42104</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000004</resetValue>
          <fields>
            <field>
              <name>AW_QOS</name>
              <description>Write channel QoS setting</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>INI2_WRITE_QOS</name>
          <displayName>INI2_WRITE_QOS</displayName>
          <description>AXI interconnect - INI x write QoS
          register</description>
          <addressOffset>0x43104</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000004</resetValue>
          <fields>
            <field>
              <name>AW_QOS</name>
              <description>Write channel QoS setting</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>INI3_WRITE_QOS</name>
          <displayName>INI3_WRITE_QOS</displayName>
          <description>AXI interconnect - INI x write QoS
          register</description>
          <addressOffset>0x44104</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000004</resetValue>
          <fields>
            <field>
              <name>AW_QOS</name>
              <description>Write channel QoS setting</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>INI4_WRITE_QOS</name>
          <displayName>INI4_WRITE_QOS</displayName>
          <description>AXI interconnect - INI x write QoS
          register</description>
          <addressOffset>0x45104</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000004</resetValue>
          <fields>
            <field>
              <name>AW_QOS</name>
              <description>Write channel QoS setting</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>INI5_WRITE_QOS</name>
          <displayName>INI5_WRITE_QOS</displayName>
          <description>AXI interconnect - INI x write QoS
          register</description>
          <addressOffset>0x46104</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000004</resetValue>
          <fields>
            <field>
              <name>AW_QOS</name>
              <description>Write channel QoS setting</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>INI6_WRITE_QOS</name>
          <displayName>INI6_WRITE_QOS</displayName>
          <description>AXI interconnect - INI x write QoS
          register</description>
          <addressOffset>0x47104</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000004</resetValue>
          <fields>
            <field>
              <name>AW_QOS</name>
              <description>Write channel QoS setting</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>INI1_FN_MOD</name>
          <displayName>INI1_FN_MOD</displayName>
          <description>AXI interconnect - INI x issuing
          functionality modification register</description>
          <addressOffset>0x42108</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000004</resetValue>
          <fields>
            <field>
              <name>READ_ISS_OVERRIDE</name>
              <description>Override ASIB read issuing
              capability</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>READ_ISS_OVERRIDE</name>
                <enumeratedValue>
                  <name>Normal</name>
                  <description>Normal ASIB read issuing capability</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Force1</name>
                  <description>Force ASIB read issuing capability to 1</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>WRITE_ISS_OVERRIDE</name>
              <description>Override ASIB write issuing
              capability</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>WRITE_ISS_OVERRIDE</name>
                <enumeratedValue>
                  <name>Normal</name>
                  <description>Normal ASIB write issuing capability</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Force1</name>
                  <description>Force ASIB write issuing capability to 1</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>INI2_FN_MOD</name>
          <displayName>INI2_FN_MOD</displayName>
          <description>AXI interconnect - INI x issuing
          functionality modification register</description>
          <addressOffset>0x43108</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000004</resetValue>
          <fields>
            <field>
              <name>READ_ISS_OVERRIDE</name>
              <description>Override ASIB read issuing
              capability</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>READ_ISS_OVERRIDE</name>
                <enumeratedValue>
                  <name>Normal</name>
                  <description>Normal ASIB read issuing capability</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Force1</name>
                  <description>Force ASIB read issuing capability to 1</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>WRITE_ISS_OVERRIDE</name>
              <description>Override ASIB write issuing
              capability</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>WRITE_ISS_OVERRIDE</name>
                <enumeratedValue>
                  <name>Normal</name>
                  <description>Normal ASIB write issuing capability</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Force1</name>
                  <description>Force ASIB write issuing capability to 1</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>INI3_FN_MOD</name>
          <displayName>INI3_FN_MOD</displayName>
          <description>AXI interconnect - INI x issuing
          functionality modification register</description>
          <addressOffset>0x44108</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000004</resetValue>
          <fields>
            <field>
              <name>READ_ISS_OVERRIDE</name>
              <description>Override ASIB read issuing
              capability</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>READ_ISS_OVERRIDE</name>
                <enumeratedValue>
                  <name>Normal</name>
                  <description>Normal ASIB read issuing capability</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Force1</name>
                  <description>Force ASIB read issuing capability to 1</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>WRITE_ISS_OVERRIDE</name>
              <description>Override ASIB write issuing
              capability</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>WRITE_ISS_OVERRIDE</name>
                <enumeratedValue>
                  <name>Normal</name>
                  <description>Normal ASIB write issuing capability</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Force1</name>
                  <description>Force ASIB write issuing capability to 1</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>INI4_FN_MOD</name>
          <displayName>INI4_FN_MOD</displayName>
          <description>AXI interconnect - INI x issuing
          functionality modification register</description>
          <addressOffset>0x45108</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000004</resetValue>
          <fields>
            <field>
              <name>READ_ISS_OVERRIDE</name>
              <description>Override ASIB read issuing
              capability</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>READ_ISS_OVERRIDE</name>
                <enumeratedValue>
                  <name>Normal</name>
                  <description>Normal ASIB read issuing capability</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Force1</name>
                  <description>Force ASIB read issuing capability to 1</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>WRITE_ISS_OVERRIDE</name>
              <description>Override ASIB write issuing
              capability</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>WRITE_ISS_OVERRIDE</name>
                <enumeratedValue>
                  <name>Normal</name>
                  <description>Normal ASIB write issuing capability</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Force1</name>
                  <description>Force ASIB write issuing capability to 1</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>INI5_FN_MOD</name>
          <displayName>INI5_FN_MOD</displayName>
          <description>AXI interconnect - INI x issuing
          functionality modification register</description>
          <addressOffset>0x46108</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000004</resetValue>
          <fields>
            <field>
              <name>READ_ISS_OVERRIDE</name>
              <description>Override ASIB read issuing
              capability</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>READ_ISS_OVERRIDE</name>
                <enumeratedValue>
                  <name>Normal</name>
                  <description>Normal ASIB read issuing capability</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Force1</name>
                  <description>Force ASIB read issuing capability to 1</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>WRITE_ISS_OVERRIDE</name>
              <description>Override ASIB write issuing
              capability</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>WRITE_ISS_OVERRIDE</name>
                <enumeratedValue>
                  <name>Normal</name>
                  <description>Normal ASIB write issuing capability</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Force1</name>
                  <description>Force ASIB write issuing capability to 1</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>INI6_FN_MOD</name>
          <displayName>INI6_FN_MOD</displayName>
          <description>AXI interconnect - INI x issuing
          functionality modification register</description>
          <addressOffset>0x47108</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000004</resetValue>
          <fields>
            <field>
              <name>READ_ISS_OVERRIDE</name>
              <description>Override ASIB read issuing
              capability</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>READ_ISS_OVERRIDE</name>
                <enumeratedValue>
                  <name>Normal</name>
                  <description>Normal ASIB read issuing capability</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Force1</name>
                  <description>Force ASIB read issuing capability to 1</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>WRITE_ISS_OVERRIDE</name>
              <description>Override ASIB write issuing
              capability</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>WRITE_ISS_OVERRIDE</name>
                <enumeratedValue>
                  <name>Normal</name>
                  <description>Normal ASIB write issuing capability</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Force1</name>
                  <description>Force ASIB write issuing capability to 1</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>HASH</name>
      <description>Hash processor</description>
      <groupName>HASH</groupName>
      <baseAddress>0x48021400</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>HASH_RNG</name>
        <description>HASH and RNG</description>
        <value>80</value>
      </interrupt>
      <registers>
        <register>
          <name>CR</name>
          <displayName>CR</displayName>
          <description>control register</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>INIT</name>
              <description>Initialize message digest
              calculation</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
            </field>
            <field>
              <name>DMAE</name>
              <description>DMA enable</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>DATATYPE</name>
              <description>Data type selection</description>
              <bitOffset>4</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>MODE</name>
              <description>Mode selection</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ALGO0</name>
              <description>Algorithm selection</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>NBW</name>
              <description>Number of words already
              pushed</description>
              <bitOffset>8</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>DINNE</name>
              <description>DIN not empty</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>MDMAT</name>
              <description>Multiple DMA Transfers</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>LKEY</name>
              <description>Long key selection</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ALGO1</name>
              <description>ALGO</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>DIN</name>
          <displayName>DIN</displayName>
          <description>data input register</description>
          <addressOffset>0x4</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DATAIN</name>
              <description>Data input</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>STR</name>
          <displayName>STR</displayName>
          <description>start register</description>
          <addressOffset>0x8</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DCAL</name>
              <description>Digest calculation</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
            </field>
            <field>
              <name>NBLW</name>
              <description>Number of valid bits in the last word of
              the message</description>
              <bitOffset>0</bitOffset>
              <bitWidth>5</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <dim>5</dim>
          <dimIncrement>0x4</dimIncrement>
          <dimIndex>0-4</dimIndex>
          <name>HR%s</name>
          <displayName>HR%s</displayName>
          <description>digest registers</description>
          <addressOffset>0xC</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>H</name>
              <description>H0</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>IMR</name>
          <displayName>IMR</displayName>
          <description>interrupt enable register</description>
          <addressOffset>0x20</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DCIE</name>
              <description>Digest calculation completion interrupt
              enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DINIE</name>
              <description>Data input interrupt
              enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>SR</name>
          <displayName>SR</displayName>
          <description>status register</description>
          <addressOffset>0x24</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000001</resetValue>
          <fields>
            <field>
              <name>BUSY</name>
              <description>Busy bit</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>DMAS</name>
              <description>DMA Status</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>DCIS</name>
              <description>Digest calculation completion interrupt
              status</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>DINIS</name>
              <description>Data input interrupt
              status</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <dim>54</dim>
          <dimIncrement>0x4</dimIncrement>
          <dimIndex>0-53</dimIndex>
          <name>CSR%s</name>
          <displayName>CSR%s</displayName>
          <description>context swap registers</description>
          <addressOffset>0xF8</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CSR</name>
              <description>CSR0</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <dim>8</dim>
          <dimIncrement>0x4</dimIncrement>
          <dimIndex>0-7</dimIndex>
          <name>HASH_HR%s</name>
          <displayName>HASH_HR%s</displayName>
          <description>HASH digest register %s</description>
          <addressOffset>0x310</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>H</name>
              <description>H0</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>CRYP</name>
      <description>Cryptographic processor</description>
      <groupName>CRYP</groupName>
      <baseAddress>0x48021000</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>CRYP</name>
        <description>CRYP global interrupt</description>
        <value>79</value>
      </interrupt>
      <registers>
        <register>
          <name>CR</name>
          <displayName>CR</displayName>
          <description>control register</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>ALGODIR</name>
              <description>Algorithm direction</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ALGOMODE0</name>
              <description>Algorithm mode</description>
              <bitOffset>3</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>DATATYPE</name>
              <description>Data type selection</description>
              <bitOffset>6</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>KEYSIZE</name>
              <description>Key size selection (AES mode
              only)</description>
              <bitOffset>8</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>FFLUSH</name>
              <description>FIFO flush</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
            </field>
            <field>
              <name>CRYPEN</name>
              <description>Cryptographic processor
              enable</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>GCM_CCMPH</name>
              <description>GCM_CCMPH</description>
              <bitOffset>16</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ALGOMODE3</name>
              <description>ALGOMODE</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>SR</name>
          <displayName>SR</displayName>
          <description>status register</description>
          <addressOffset>0x4</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000003</resetValue>
          <fields>
            <field>
              <name>BUSY</name>
              <description>Busy bit</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>OFFU</name>
              <description>Output FIFO full</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>OFNE</name>
              <description>Output FIFO not empty</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IFNF</name>
              <description>Input FIFO not full</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IFEM</name>
              <description>Input FIFO empty</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DIN</name>
          <displayName>DIN</displayName>
          <description>data input register</description>
          <addressOffset>0x8</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DATAIN</name>
              <description>Data input</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DOUT</name>
          <displayName>DOUT</displayName>
          <description>data output register</description>
          <addressOffset>0xC</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DATAOUT</name>
              <description>Data output</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DMACR</name>
          <displayName>DMACR</displayName>
          <description>DMA control register</description>
          <addressOffset>0x10</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DOEN</name>
              <description>DMA output enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DIEN</name>
              <description>DMA input enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>IMSCR</name>
          <displayName>IMSCR</displayName>
          <description>interrupt mask set/clear
          register</description>
          <addressOffset>0x14</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>OUTIM</name>
              <description>Output FIFO service interrupt
              mask</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>INIM</name>
              <description>Input FIFO service interrupt
              mask</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>RISR</name>
          <displayName>RISR</displayName>
          <description>raw interrupt status register</description>
          <addressOffset>0x18</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000001</resetValue>
          <fields>
            <field>
              <name>OUTRIS</name>
              <description>Output FIFO service raw interrupt
              status</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>INRIS</name>
              <description>Input FIFO service raw interrupt
              status</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MISR</name>
          <displayName>MISR</displayName>
          <description>masked interrupt status
          register</description>
          <addressOffset>0x1C</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>OUTMIS</name>
              <description>Output FIFO service masked interrupt
              status</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>INMIS</name>
              <description>Input FIFO service masked interrupt
              status</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>K0LR</name>
          <displayName>K0LR</displayName>
          <description>key registers</description>
          <addressOffset>0x20</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>b224</name>
              <description>b224</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b225</name>
              <description>b225</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b226</name>
              <description>b226</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b227</name>
              <description>b227</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b228</name>
              <description>b228</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b229</name>
              <description>b229</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b230</name>
              <description>b230</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b231</name>
              <description>b231</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b232</name>
              <description>b232</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b233</name>
              <description>b233</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b234</name>
              <description>b234</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b235</name>
              <description>b235</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b236</name>
              <description>b236</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b237</name>
              <description>b237</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b238</name>
              <description>b238</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b239</name>
              <description>b239</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b240</name>
              <description>b240</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b241</name>
              <description>b241</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b242</name>
              <description>b242</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b243</name>
              <description>b243</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b244</name>
              <description>b244</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b245</name>
              <description>b245</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b246</name>
              <description>b246</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b247</name>
              <description>b247</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b248</name>
              <description>b248</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b249</name>
              <description>b249</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b250</name>
              <description>b250</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b251</name>
              <description>b251</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b252</name>
              <description>b252</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b253</name>
              <description>b253</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b254</name>
              <description>b254</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b255</name>
              <description>b255</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>K0RR</name>
          <displayName>K0RR</displayName>
          <description>key registers</description>
          <addressOffset>0x24</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>b192</name>
              <description>b192</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b193</name>
              <description>b193</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b194</name>
              <description>b194</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b195</name>
              <description>b195</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b196</name>
              <description>b196</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b197</name>
              <description>b197</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b198</name>
              <description>b198</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b199</name>
              <description>b199</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b200</name>
              <description>b200</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b201</name>
              <description>b201</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b202</name>
              <description>b202</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b203</name>
              <description>b203</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b204</name>
              <description>b204</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b205</name>
              <description>b205</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b206</name>
              <description>b206</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b207</name>
              <description>b207</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b208</name>
              <description>b208</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b209</name>
              <description>b209</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b210</name>
              <description>b210</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b211</name>
              <description>b211</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b212</name>
              <description>b212</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b213</name>
              <description>b213</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b214</name>
              <description>b214</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b215</name>
              <description>b215</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b216</name>
              <description>b216</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b217</name>
              <description>b217</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b218</name>
              <description>b218</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b219</name>
              <description>b219</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b220</name>
              <description>b220</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b221</name>
              <description>b221</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b222</name>
              <description>b222</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b223</name>
              <description>b223</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>K1LR</name>
          <displayName>K1LR</displayName>
          <description>key registers</description>
          <addressOffset>0x28</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>b160</name>
              <description>b160</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b161</name>
              <description>b161</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b162</name>
              <description>b162</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b163</name>
              <description>b163</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b164</name>
              <description>b164</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b165</name>
              <description>b165</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b166</name>
              <description>b166</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b167</name>
              <description>b167</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b168</name>
              <description>b168</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b169</name>
              <description>b169</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b170</name>
              <description>b170</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b171</name>
              <description>b171</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b172</name>
              <description>b172</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b173</name>
              <description>b173</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b174</name>
              <description>b174</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b175</name>
              <description>b175</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b176</name>
              <description>b176</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b177</name>
              <description>b177</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b178</name>
              <description>b178</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b179</name>
              <description>b179</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b180</name>
              <description>b180</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b181</name>
              <description>b181</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b182</name>
              <description>b182</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b183</name>
              <description>b183</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b184</name>
              <description>b184</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b185</name>
              <description>b185</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b186</name>
              <description>b186</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b187</name>
              <description>b187</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b188</name>
              <description>b188</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b189</name>
              <description>b189</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b190</name>
              <description>b190</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b191</name>
              <description>b191</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>K1RR</name>
          <displayName>K1RR</displayName>
          <description>key registers</description>
          <addressOffset>0x2C</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>b128</name>
              <description>b128</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b129</name>
              <description>b129</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b130</name>
              <description>b130</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b131</name>
              <description>b131</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b132</name>
              <description>b132</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b133</name>
              <description>b133</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b134</name>
              <description>b134</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b135</name>
              <description>b135</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b136</name>
              <description>b136</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b137</name>
              <description>b137</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b138</name>
              <description>b138</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b139</name>
              <description>b139</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b140</name>
              <description>b140</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b141</name>
              <description>b141</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b142</name>
              <description>b142</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b143</name>
              <description>b143</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b144</name>
              <description>b144</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b145</name>
              <description>b145</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b146</name>
              <description>b146</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b147</name>
              <description>b147</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b148</name>
              <description>b148</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b149</name>
              <description>b149</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b150</name>
              <description>b150</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b151</name>
              <description>b151</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b152</name>
              <description>b152</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b153</name>
              <description>b153</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b154</name>
              <description>b154</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b155</name>
              <description>b155</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b156</name>
              <description>b156</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b157</name>
              <description>b157</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b158</name>
              <description>b158</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b159</name>
              <description>b159</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>K2LR</name>
          <displayName>K2LR</displayName>
          <description>key registers</description>
          <addressOffset>0x30</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>b96</name>
              <description>b96</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b97</name>
              <description>b97</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b98</name>
              <description>b98</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b99</name>
              <description>b99</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b100</name>
              <description>b100</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b101</name>
              <description>b101</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b102</name>
              <description>b102</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b103</name>
              <description>b103</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b104</name>
              <description>b104</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b105</name>
              <description>b105</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b106</name>
              <description>b106</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b107</name>
              <description>b107</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b108</name>
              <description>b108</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b109</name>
              <description>b109</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b110</name>
              <description>b110</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b111</name>
              <description>b111</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b112</name>
              <description>b112</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b113</name>
              <description>b113</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b114</name>
              <description>b114</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b115</name>
              <description>b115</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b116</name>
              <description>b116</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b117</name>
              <description>b117</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b118</name>
              <description>b118</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b119</name>
              <description>b119</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b120</name>
              <description>b120</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b121</name>
              <description>b121</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b122</name>
              <description>b122</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b123</name>
              <description>b123</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b124</name>
              <description>b124</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b125</name>
              <description>b125</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b126</name>
              <description>b126</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b127</name>
              <description>b127</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>K2RR</name>
          <displayName>K2RR</displayName>
          <description>key registers</description>
          <addressOffset>0x34</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>b64</name>
              <description>b64</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b65</name>
              <description>b65</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b66</name>
              <description>b66</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b67</name>
              <description>b67</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b68</name>
              <description>b68</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b69</name>
              <description>b69</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b70</name>
              <description>b70</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b71</name>
              <description>b71</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b72</name>
              <description>b72</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b73</name>
              <description>b73</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b74</name>
              <description>b74</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b75</name>
              <description>b75</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b76</name>
              <description>b76</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b77</name>
              <description>b77</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b78</name>
              <description>b78</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b79</name>
              <description>b79</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b80</name>
              <description>b80</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b81</name>
              <description>b81</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b82</name>
              <description>b82</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b83</name>
              <description>b83</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b84</name>
              <description>b84</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b85</name>
              <description>b85</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b86</name>
              <description>b86</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b87</name>
              <description>b87</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b88</name>
              <description>b88</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b89</name>
              <description>b89</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b90</name>
              <description>b90</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b91</name>
              <description>b91</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b92</name>
              <description>b92</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b93</name>
              <description>b93</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b94</name>
              <description>b94</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b95</name>
              <description>b95</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>K3LR</name>
          <displayName>K3LR</displayName>
          <description>key registers</description>
          <addressOffset>0x38</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>b32</name>
              <description>b32</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b33</name>
              <description>b33</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b34</name>
              <description>b34</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b35</name>
              <description>b35</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b36</name>
              <description>b36</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b37</name>
              <description>b37</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b38</name>
              <description>b38</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b39</name>
              <description>b39</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b40</name>
              <description>b40</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b41</name>
              <description>b41</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b42</name>
              <description>b42</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b43</name>
              <description>b43</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b44</name>
              <description>b44</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b45</name>
              <description>b45</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b46</name>
              <description>b46</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b47</name>
              <description>b47</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b48</name>
              <description>b48</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b49</name>
              <description>b49</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b50</name>
              <description>b50</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b51</name>
              <description>b51</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b52</name>
              <description>b52</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b53</name>
              <description>b53</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b54</name>
              <description>b54</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b55</name>
              <description>b55</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b56</name>
              <description>b56</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b57</name>
              <description>b57</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b58</name>
              <description>b58</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b59</name>
              <description>b59</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b60</name>
              <description>b60</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b61</name>
              <description>b61</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b62</name>
              <description>b62</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b63</name>
              <description>b63</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>K3RR</name>
          <displayName>K3RR</displayName>
          <description>key registers</description>
          <addressOffset>0x3C</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>b0</name>
              <description>b0</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b1</name>
              <description>b1</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b2</name>
              <description>b2</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b3</name>
              <description>b3</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b4</name>
              <description>b4</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b5</name>
              <description>b5</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b6</name>
              <description>b6</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b7</name>
              <description>b7</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b8</name>
              <description>b8</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b9</name>
              <description>b9</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b10</name>
              <description>b10</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b11</name>
              <description>b11</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b12</name>
              <description>b12</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b13</name>
              <description>b13</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b14</name>
              <description>b14</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b15</name>
              <description>b15</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b16</name>
              <description>b16</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b17</name>
              <description>b17</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b18</name>
              <description>b18</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b19</name>
              <description>b19</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b20</name>
              <description>b20</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b21</name>
              <description>b21</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b22</name>
              <description>b22</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b23</name>
              <description>b23</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b24</name>
              <description>b24</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b25</name>
              <description>b25</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b26</name>
              <description>b26</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b27</name>
              <description>b27</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b28</name>
              <description>b28</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b29</name>
              <description>b29</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b30</name>
              <description>b30</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>b31</name>
              <description>b31</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>IV0LR</name>
          <displayName>IV0LR</displayName>
          <description>initialization vector
          registers</description>
          <addressOffset>0x40</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>IV31</name>
              <description>IV31</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV30</name>
              <description>IV30</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV29</name>
              <description>IV29</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV28</name>
              <description>IV28</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV27</name>
              <description>IV27</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV26</name>
              <description>IV26</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV25</name>
              <description>IV25</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV24</name>
              <description>IV24</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV23</name>
              <description>IV23</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV22</name>
              <description>IV22</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV21</name>
              <description>IV21</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV20</name>
              <description>IV20</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV19</name>
              <description>IV19</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV18</name>
              <description>IV18</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV17</name>
              <description>IV17</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV16</name>
              <description>IV16</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV15</name>
              <description>IV15</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV14</name>
              <description>IV14</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV13</name>
              <description>IV13</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV12</name>
              <description>IV12</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV11</name>
              <description>IV11</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV10</name>
              <description>IV10</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV9</name>
              <description>IV9</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV8</name>
              <description>IV8</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV7</name>
              <description>IV7</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV6</name>
              <description>IV6</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV5</name>
              <description>IV5</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV4</name>
              <description>IV4</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV3</name>
              <description>IV3</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV2</name>
              <description>IV2</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV1</name>
              <description>IV1</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV0</name>
              <description>IV0</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>IV0RR</name>
          <displayName>IV0RR</displayName>
          <description>initialization vector
          registers</description>
          <addressOffset>0x44</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>IV63</name>
              <description>IV63</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV62</name>
              <description>IV62</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV61</name>
              <description>IV61</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV60</name>
              <description>IV60</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV59</name>
              <description>IV59</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV58</name>
              <description>IV58</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV57</name>
              <description>IV57</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV56</name>
              <description>IV56</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV55</name>
              <description>IV55</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV54</name>
              <description>IV54</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV53</name>
              <description>IV53</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV52</name>
              <description>IV52</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV51</name>
              <description>IV51</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV50</name>
              <description>IV50</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV49</name>
              <description>IV49</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV48</name>
              <description>IV48</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV47</name>
              <description>IV47</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV46</name>
              <description>IV46</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV45</name>
              <description>IV45</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV44</name>
              <description>IV44</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV43</name>
              <description>IV43</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV42</name>
              <description>IV42</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV41</name>
              <description>IV41</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV40</name>
              <description>IV40</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV39</name>
              <description>IV39</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV38</name>
              <description>IV38</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV37</name>
              <description>IV37</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV36</name>
              <description>IV36</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV35</name>
              <description>IV35</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV34</name>
              <description>IV34</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV33</name>
              <description>IV33</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV32</name>
              <description>IV32</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>IV1LR</name>
          <displayName>IV1LR</displayName>
          <description>initialization vector
          registers</description>
          <addressOffset>0x48</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>IV95</name>
              <description>IV95</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV94</name>
              <description>IV94</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV93</name>
              <description>IV93</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV92</name>
              <description>IV92</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV91</name>
              <description>IV91</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV90</name>
              <description>IV90</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV89</name>
              <description>IV89</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV88</name>
              <description>IV88</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV87</name>
              <description>IV87</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV86</name>
              <description>IV86</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV85</name>
              <description>IV85</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV84</name>
              <description>IV84</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV83</name>
              <description>IV83</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV82</name>
              <description>IV82</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV81</name>
              <description>IV81</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV80</name>
              <description>IV80</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV79</name>
              <description>IV79</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV78</name>
              <description>IV78</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV77</name>
              <description>IV77</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV76</name>
              <description>IV76</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV75</name>
              <description>IV75</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV74</name>
              <description>IV74</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV73</name>
              <description>IV73</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV72</name>
              <description>IV72</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV71</name>
              <description>IV71</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV70</name>
              <description>IV70</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV69</name>
              <description>IV69</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV68</name>
              <description>IV68</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV67</name>
              <description>IV67</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV66</name>
              <description>IV66</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV65</name>
              <description>IV65</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV64</name>
              <description>IV64</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>IV1RR</name>
          <displayName>IV1RR</displayName>
          <description>initialization vector
          registers</description>
          <addressOffset>0x4C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>IV127</name>
              <description>IV127</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV126</name>
              <description>IV126</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV125</name>
              <description>IV125</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV124</name>
              <description>IV124</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV123</name>
              <description>IV123</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV122</name>
              <description>IV122</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV121</name>
              <description>IV121</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV120</name>
              <description>IV120</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV119</name>
              <description>IV119</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV118</name>
              <description>IV118</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV117</name>
              <description>IV117</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV116</name>
              <description>IV116</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV115</name>
              <description>IV115</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV114</name>
              <description>IV114</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV113</name>
              <description>IV113</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV112</name>
              <description>IV112</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV111</name>
              <description>IV111</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV110</name>
              <description>IV110</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV109</name>
              <description>IV109</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV108</name>
              <description>IV108</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV107</name>
              <description>IV107</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV106</name>
              <description>IV106</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV105</name>
              <description>IV105</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV104</name>
              <description>IV104</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV103</name>
              <description>IV103</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV102</name>
              <description>IV102</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV101</name>
              <description>IV101</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV100</name>
              <description>IV100</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV99</name>
              <description>IV99</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV98</name>
              <description>IV98</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV97</name>
              <description>IV97</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IV96</name>
              <description>IV96</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CSGCMCCM0R</name>
          <displayName>CSGCMCCM0R</displayName>
          <description>context swap register</description>
          <addressOffset>0x50</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CSGCMCCM0R</name>
              <description>CSGCMCCM0R</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CSGCMCCM1R</name>
          <displayName>CSGCMCCM1R</displayName>
          <description>context swap register</description>
          <addressOffset>0x54</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CSGCMCCM1R</name>
              <description>CSGCMCCM1R</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CSGCMCCM2R</name>
          <displayName>CSGCMCCM2R</displayName>
          <description>context swap register</description>
          <addressOffset>0x58</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CSGCMCCM2R</name>
              <description>CSGCMCCM2R</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CSGCMCCM3R</name>
          <displayName>CSGCMCCM3R</displayName>
          <description>context swap register</description>
          <addressOffset>0x5C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CSGCMCCM3R</name>
              <description>CSGCMCCM3R</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CSGCMCCM4R</name>
          <displayName>CSGCMCCM4R</displayName>
          <description>context swap register</description>
          <addressOffset>0x60</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CSGCMCCM4R</name>
              <description>CSGCMCCM4R</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CSGCMCCM5R</name>
          <displayName>CSGCMCCM5R</displayName>
          <description>context swap register</description>
          <addressOffset>0x64</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CSGCMCCM5R</name>
              <description>CSGCMCCM5R</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CSGCMCCM6R</name>
          <displayName>CSGCMCCM6R</displayName>
          <description>context swap register</description>
          <addressOffset>0x68</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CSGCMCCM6R</name>
              <description>CSGCMCCM6R</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CSGCMCCM7R</name>
          <displayName>CSGCMCCM7R</displayName>
          <description>context swap register</description>
          <addressOffset>0x6C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CSGCMCCM7R</name>
              <description>CSGCMCCM7R</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CSGCM0R</name>
          <displayName>CSGCM0R</displayName>
          <description>context swap register</description>
          <addressOffset>0x70</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CSGCM0R</name>
              <description>CSGCM0R</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CSGCM1R</name>
          <displayName>CSGCM1R</displayName>
          <description>context swap register</description>
          <addressOffset>0x74</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CSGCM1R</name>
              <description>CSGCM1R</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CSGCM2R</name>
          <displayName>CSGCM2R</displayName>
          <description>context swap register</description>
          <addressOffset>0x78</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CSGCM2R</name>
              <description>CSGCM2R</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CSGCM3R</name>
          <displayName>CSGCM3R</displayName>
          <description>context swap register</description>
          <addressOffset>0x7C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CSGCM3R</name>
              <description>CSGCM3R</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CSGCM4R</name>
          <displayName>CSGCM4R</displayName>
          <description>context swap register</description>
          <addressOffset>0x80</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CSGCM4R</name>
              <description>CSGCM4R</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CSGCM5R</name>
          <displayName>CSGCM5R</displayName>
          <description>context swap register</description>
          <addressOffset>0x84</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CSGCM5R</name>
              <description>CSGCM5R</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CSGCM6R</name>
          <displayName>CSGCM6R</displayName>
          <description>context swap register</description>
          <addressOffset>0x88</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CSGCM6R</name>
              <description>CSGCM6R</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CSGCM7R</name>
          <displayName>CSGCM7R</displayName>
          <description>context swap register</description>
          <addressOffset>0x8C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CSGCM7R</name>
              <description>CSGCM7R</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>DCMI</name>
      <description>Digital camera interface</description>
      <groupName>DCMI</groupName>
      <baseAddress>0x48020000</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>DCMI</name>
        <description>DCMI global interrupt</description>
        <value>78</value>
      </interrupt>
      <registers>
        <register>
          <name>CR</name>
          <displayName>CR</displayName>
          <description>control register 1</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>OELS</name>
              <description>Odd/Even Line Select (Line Select
              Start)</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>OELS</name>
                <enumeratedValue>
                  <name>Odd</name>
                  <description>Interface captures first line after the frame start, second one being dropped</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Even</name>
                  <description>Interface captures second line from the frame start, first one being dropped</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LSM</name>
              <description>Line Select mode</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>LSM</name>
                <enumeratedValue>
                  <name>All</name>
                  <description>Interface captures all received lines</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Half</name>
                  <description>Interface captures one line out of two</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OEBS</name>
              <description>Odd/Even Byte Select (Byte Select
              Start)</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>OEBS</name>
                <enumeratedValue>
                  <name>Odd</name>
                  <description>Interface captures first data (byte or double byte) from the frame/line start, second one being dropped</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Even</name>
                  <description> Interface captures second data (byte or double byte) from the frame/line start, first one being dropped</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BSM</name>
              <description>Byte Select mode</description>
              <bitOffset>16</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>BSM</name>
                <enumeratedValue>
                  <name>All</name>
                  <description>Interface captures all received data</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>EveryOther</name>
                  <description>Interface captures every other byte from the received data</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Fourth</name>
                  <description>Interface captures one byte out of four</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TwoOfFour</name>
                  <description>Interface captures two bytes out of four</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ENABLE</name>
              <description>DCMI enable</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ENABLE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>DCMI disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>DCMI enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EDM</name>
              <description>Extended data mode</description>
              <bitOffset>10</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>EDM</name>
                <enumeratedValue>
                  <name>BitWidth8</name>
                  <description>Interface captures 8-bit data on every pixel clock</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>BitWidth10</name>
                  <description>Interface captures 10-bit data on every pixel clock</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>BitWidth12</name>
                  <description>Interface captures 12-bit data on every pixel clock</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>BitWidth14</name>
                  <description>Interface captures 14-bit data on every pixel clock</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FCRC</name>
              <description>Frame capture rate control</description>
              <bitOffset>8</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>FCRC</name>
                <enumeratedValue>
                  <name>All</name>
                  <description>All frames are captured</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Alternate</name>
                  <description>Every alternate frame captured (50% bandwidth reduction)</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OneOfFour</name>
                  <description>One frame out of four captured (75% bandwidth reduction)</description>
                  <value>2</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>VSPOL</name>
              <description>Vertical synchronization
              polarity</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>VSPOL</name>
                <enumeratedValue>
                  <name>ActiveLow</name>
                  <description>DCMI_VSYNC active low</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ActiveHigh</name>
                  <description>DCMI_VSYNC active high</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>HSPOL</name>
              <description>Horizontal synchronization
              polarity</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>HSPOL</name>
                <enumeratedValue>
                  <name>ActiveLow</name>
                  <description>DCMI_HSYNC active low</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ActiveHigh</name>
                  <description>DCMI_HSYNC active high</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PCKPOL</name>
              <description>Pixel clock polarity</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>PCKPOL</name>
                <enumeratedValue>
                  <name>FallingEdge</name>
                  <description>Falling edge active</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>RisingEdge</name>
                  <description>Rising edge active</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ESS</name>
              <description>Embedded synchronization
              select</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ESS</name>
                <enumeratedValue>
                  <name>Hardware</name>
                  <description>Hardware synchronization data capture (frame/line start/stop) is synchronized with the DCMI_HSYNC/DCMI_VSYNC signals</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Embedded</name>
                  <description>Embedded synchronization data capture is synchronized with synchronization codes embedded in the data flow</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>JPEG</name>
              <description>JPEG format</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>JPEG</name>
                <enumeratedValue>
                  <name>Uncompressed</name>
                  <description>Uncompressed video format</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>JPEG</name>
                  <description>This bit is used for JPEG data transfers. The DCMI_HSYNC signal is used as data enable. The crop and embedded synchronization features (ESS bit) cannot be used in this mode</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CROP</name>
              <description>Crop feature</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CROP</name>
                <enumeratedValue>
                  <name>Full</name>
                  <description>The full image is captured. In this case the total number of bytes in an image frame must be a multiple of four</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Cropped</name>
                  <description>Only the data inside the window specified by the crop register is captured. If the size of the crop window exceeds the picture size, then only the picture size is captured</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CM</name>
              <description>Capture mode</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CM</name>
                <enumeratedValue>
                  <name>Continuous</name>
                  <description>Continuous grab mode - The received data are transferred into the destination memory through the DMA. The buffer location and mode (linear or circular buffer) is controlled through the system DMA</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Snapshot</name>
                  <description>Snapshot mode (single frame) - Once activated, the interface waits for the start of frame and then transfers a single frame through the DMA. At the end of the frame, the CAPTURE bit is automatically reset</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CAPTURE</name>
              <description>Capture enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CAPTURE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Capture disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Capture enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>SR</name>
          <displayName>SR</displayName>
          <description>status register</description>
          <addressOffset>0x4</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>FNE</name>
              <description>FIFO not empty</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>FNE</name>
                <enumeratedValue>
                  <name>NotEmpty</name>
                  <description>FIFO contains valid data</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Empty</name>
                  <description>FIFO empty</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>VSYNC</name>
              <description>VSYNC</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>VSYNC</name>
                <enumeratedValue>
                  <name>ActiveFrame</name>
                  <description>Active frame</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>BetweenFrames</name>
                  <description>Synchronization between frames</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>HSYNC</name>
              <description>HSYNC</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>HSYNC</name>
                <enumeratedValue>
                  <name>ActiveLine</name>
                  <description>Active line</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>BetweenLines</name>
                  <description>Synchronization between lines</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>RIS</name>
          <displayName>RIS</displayName>
          <description>raw interrupt status register</description>
          <addressOffset>0x8</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>LINE_RIS</name>
              <description>Line raw interrupt status</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>LINE_RIS</name>
                <enumeratedValue>
                  <name>Cleared</name>
                  <description>Interrupt cleared</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Interrupt set</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>VSYNC_RIS</name>
              <description>VSYNC raw interrupt status</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>VSYNC_RIS</name>
                <enumeratedValue>
                  <name>Cleared</name>
                  <description>Interrupt cleared</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Interrupt set</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ERR_RIS</name>
              <description>Synchronization error raw interrupt
              status</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ERR_RIS</name>
                <enumeratedValue>
                  <name>NoError</name>
                  <description>No synchronization error detected</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SynchronizationError</name>
                  <description>Embedded synchronization characters are not received in the correct order</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OVR_RIS</name>
              <description>Overrun raw interrupt
              status</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>OVR_RIS</name>
                <enumeratedValue>
                  <name>NoOverrun</name>
                  <description>No data buffer overrun occurred</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OverrunOccured</name>
                  <description>A data buffer overrun occurred and the data FIFO is corrupted. The bit is cleared by setting the OVR_ISC bit of the DCMI_ICR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FRAME_RIS</name>
              <description>Capture complete raw interrupt
              status</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>FRAME_RIS</name>
                <enumeratedValue>
                  <name>NoNewCapture</name>
                  <description>No new capture</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FrameCaptured</name>
                  <description>A frame has been captured</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>IER</name>
          <displayName>IER</displayName>
          <description>interrupt enable register</description>
          <addressOffset>0xC</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>LINE_IE</name>
              <description>Line interrupt enable</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>LINE_IE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>No interrupt generation when the line is received</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>An Interrupt is generated when a line has been completely received</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>VSYNC_IE</name>
              <description>VSYNC interrupt enable</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>VSYNC_IE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>No interrupt generation</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>An interrupt is generated on each DCMI_VSYNC transition from the inactive to the active state</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ERR_IE</name>
              <description>Synchronization error interrupt
              enable</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ERR_IE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>No interrupt generation</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>An interrupt is generated if the embedded synchronization codes are not received in the correct order</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OVR_IE</name>
              <description>Overrun interrupt enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>OVR_IE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>No interrupt generation</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>An interrupt is generated if the DMA was not able to transfer the last data before new data (32-bit) are received</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FRAME_IE</name>
              <description>Capture complete interrupt
              enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>FRAME_IE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>No interrupt generation</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>An interrupt is generated at the end of each received frame/crop window (in crop mode)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>MIS</name>
          <displayName>MIS</displayName>
          <description>masked interrupt status
          register</description>
          <addressOffset>0x10</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>LINE_MIS</name>
              <description>Line masked interrupt
              status</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>LINE_MIS</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>No interrupt generation when the line is received</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>An Interrupt is generated when a line has been completely received and the LINE_IE bit is set in DCMI_IER</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>VSYNC_MIS</name>
              <description>VSYNC masked interrupt
              status</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>VSYNC_MIS</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>No interrupt is generated on DCMI_VSYNC transitions</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>An interrupt is generated on each DCMI_VSYNC transition from the inactive to the active state and the VSYNC_IE bit is set in DCMI_IER</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ERR_MIS</name>
              <description>Synchronization error masked interrupt
              status</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ERR_MIS</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>No interrupt is generated on a synchronization error</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>An interrupt is generated if the embedded synchronization codes are not received in the correct order and the ERR_IE bit in DCMI_IER is set</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OVR_MIS</name>
              <description>Overrun masked interrupt
              status</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>OVR_MIS</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>No interrupt is generated on overrun</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>An interrupt is generated if the DMA was not able to transfer the last data before new data (32-bit) are received and the OVR_IE bit is set in DCMI_IER</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FRAME_MIS</name>
              <description>Capture complete masked interrupt
              status</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>FRAME_MIS</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>No interrupt is generated after a complete capture</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>An interrupt is generated at the end of each received frame/crop window (in crop mode) and the FRAME_IE bit is set in DCMI_IER</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>ICR</name>
          <displayName>ICR</displayName>
          <description>interrupt clear register</description>
          <addressOffset>0x14</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>LINE_ISC</name>
              <description>line interrupt status
              clear</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>LINE_ISC</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Setting this bit clears the LINE_RIS flag in the DCMI_RIS register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>VSYNC_ISC</name>
              <description>Vertical synch interrupt status
              clear</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>VSYNC_ISC</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Setting this bit clears the VSYNC_RIS flag in the DCMI_RIS register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ERR_ISC</name>
              <description>Synchronization error interrupt status
              clear</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ERR_ISC</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Setting this bit clears the ERR_RIS flag in the DCMI_RIS register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OVR_ISC</name>
              <description>Overrun interrupt status
              clear</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>OVR_ISC</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Setting this bit clears the OVR_RIS flag in the DCMI_RIS register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FRAME_ISC</name>
              <description>Capture complete interrupt status
              clear</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>FRAME_ISC</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Setting this bit clears the FRAME_RIS flag in the DCMI_RIS register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>ESCR</name>
          <displayName>ESCR</displayName>
          <description>embedded synchronization code
          register</description>
          <addressOffset>0x18</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>FEC</name>
              <description>Frame end delimiter code</description>
              <bitOffset>24</bitOffset>
              <bitWidth>8</bitWidth>
            </field>
            <field>
              <name>LEC</name>
              <description>Line end delimiter code</description>
              <bitOffset>16</bitOffset>
              <bitWidth>8</bitWidth>
            </field>
            <field>
              <name>LSC</name>
              <description>Line start delimiter code</description>
              <bitOffset>8</bitOffset>
              <bitWidth>8</bitWidth>
            </field>
            <field>
              <name>FSC</name>
              <description>Frame start delimiter code</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>ESUR</name>
          <displayName>ESUR</displayName>
          <description>embedded synchronization unmask
          register</description>
          <addressOffset>0x1C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>FEU</name>
              <description>Frame end delimiter unmask</description>
              <bitOffset>24</bitOffset>
              <bitWidth>8</bitWidth>
            </field>
            <field>
              <name>LEU</name>
              <description>Line end delimiter unmask</description>
              <bitOffset>16</bitOffset>
              <bitWidth>8</bitWidth>
            </field>
            <field>
              <name>LSU</name>
              <description>Line start delimiter
              unmask</description>
              <bitOffset>8</bitOffset>
              <bitWidth>8</bitWidth>
            </field>
            <field>
              <name>FSU</name>
              <description>Frame start delimiter
              unmask</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CWSTRT</name>
          <displayName>CWSTRT</displayName>
          <description>crop window start</description>
          <addressOffset>0x20</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>VST</name>
              <description>Vertical start line count</description>
              <bitOffset>16</bitOffset>
              <bitWidth>13</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>8191</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>HOFFCNT</name>
              <description>Horizontal offset count</description>
              <bitOffset>0</bitOffset>
              <bitWidth>14</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>16383</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>CWSIZE</name>
          <displayName>CWSIZE</displayName>
          <description>crop window size</description>
          <addressOffset>0x24</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>VLINE</name>
              <description>Vertical line count</description>
              <bitOffset>16</bitOffset>
              <bitWidth>14</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>16383</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>CAPCNT</name>
              <description>Capture count</description>
              <bitOffset>0</bitOffset>
              <bitWidth>14</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>16383</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>DR</name>
          <displayName>DR</displayName>
          <description>data register</description>
          <addressOffset>0x28</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>4</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>0-3</dimIndex>
              <name>BYTE%s</name>
              <description>Data byte %s</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>OTG1_HS_GLOBAL</name>
      <description>USB 1 on the go high speed</description>
      <groupName>USB_OTG_HS</groupName>
      <baseAddress>0x40040000</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>OTG_HS_EP1_OUT</name>
        <description>OTG_HS out global interrupt</description>
        <value>74</value>
      </interrupt>
      <interrupt>
        <name>OTG_HS_EP1_IN</name>
        <description>OTG_HS in global interrupt</description>
        <value>75</value>
      </interrupt>
      <interrupt>
        <name>OTG_HS_WKUP</name>
        <description>OTG_HS wakeup interrupt</description>
        <value>76</value>
      </interrupt>
      <interrupt>
        <name>OTG_HS</name>
        <description>OTG_HS global interrupt</description>
        <value>77</value>
      </interrupt>
      <registers>
        <register>
          <name>GOTGCTL</name>
          <displayName>GOTGCTL</displayName>
          <description>OTG_HS control and status
          register</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000800</resetValue>
          <fields>
            <field>
              <name>SRQSCS</name>
              <description>Session request success</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>SRQ</name>
              <description>Session request</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>VBVALOEN</name>
              <description>VBUS valid override enable</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>VBVALOVAL</name>
              <description>VBUS valid override value</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>AVALOEN</name>
              <description>A-peripheral session valid override enable</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>AVALOVAL</name>
              <description>A-peripheral session valid override value</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>BVALOEN</name>
              <description>B-peripheral session valid override enable.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>BVALOVAL</name>
              <description>B-peripheral session valid override value</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>HNGSCS</name>
              <description>Host negotiation success</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>HNPRQ</name>
              <description>HNP request</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>HSHNPEN</name>
              <description>Host set HNP enable</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>DHNPEN</name>
              <description>Device HNP enabled</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>EHEN</name>
              <description>Embedded host enable</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CIDSTS</name>
              <description>Connector ID status</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>DBCT</name>
              <description>Long/short debounce time</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>ASVLD</name>
              <description>A-session valid</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>BSVLD</name>
              <description>B-session valid</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>OTGVER</name>
              <description>OTG version</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CURMOD</name>
              <description>Current mode of operation</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>GOTGINT</name>
          <displayName>GOTGINT</displayName>
          <description>OTG_HS interrupt register</description>
          <addressOffset>0x4</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>SEDET</name>
              <description>Session end detected</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SRSSCHG</name>
              <description>Session request success status
              change</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>HNSSCHG</name>
              <description>Host negotiation success status
              change</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>HNGDET</name>
              <description>Host negotiation detected</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ADTOCHG</name>
              <description>A-device timeout change</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DBCDNE</name>
              <description>Debounce done</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IDCHNG</name>
              <description>ID input pin changed</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>GAHBCFG</name>
          <displayName>GAHBCFG</displayName>
          <description>OTG_HS AHB configuration
          register</description>
          <addressOffset>0x8</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>GINT</name>
              <description>Global interrupt mask</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>HBSTLEN</name>
              <description>Burst length/type</description>
              <bitOffset>1</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>DMAEN</name>
              <description>DMA enable</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TXFELVL</name>
              <description>TxFIFO empty level</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>PTXFELVL</name>
              <description>Periodic TxFIFO empty
              level</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>GUSBCFG</name>
          <displayName>GUSBCFG</displayName>
          <description>OTG_HS USB configuration
          register</description>
          <addressOffset>0xC</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000A00</resetValue>
          <fields>
            <field>
              <name>TOCAL</name>
              <description>FS timeout calibration</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>PHYSEL</name>
              <description>USB 2.0 high-speed ULPI PHY or USB 1.1
              full-speed serial transceiver select</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
            </field>
            <field>
              <name>SRPCAP</name>
              <description>SRP-capable</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>HNPCAP</name>
              <description>HNP-capable</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TRDT</name>
              <description>USB turnaround time</description>
              <bitOffset>10</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>PHYLPCS</name>
              <description>PHY Low-power clock select</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ULPIFSLS</name>
              <description>ULPI FS/LS select</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ULPIAR</name>
              <description>ULPI Auto-resume</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ULPICSM</name>
              <description>ULPI Clock SuspendM</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ULPIEVBUSD</name>
              <description>ULPI External VBUS Drive</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ULPIEVBUSI</name>
              <description>ULPI external VBUS
              indicator</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TSDPS</name>
              <description>TermSel DLine pulsing
              selection</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>PCCI</name>
              <description>Indicator complement</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>PTCI</name>
              <description>Indicator pass through</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ULPIIPD</name>
              <description>ULPI interface protect
              disable</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>FHMOD</name>
              <description>Forced host mode</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>FDMOD</name>
              <description>Forced peripheral mode</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>GRSTCTL</name>
          <displayName>GRSTCTL</displayName>
          <description>OTG_HS reset register</description>
          <addressOffset>0x10</addressOffset>
          <size>0x20</size>
          <resetValue>0x20000000</resetValue>
          <fields>
            <field>
              <name>CSRST</name>
              <description>Core soft reset</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>HSRST</name>
              <description>HCLK soft reset</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>FCRST</name>
              <description>Host frame counter reset</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>RXFFLSH</name>
              <description>RxFIFO flush</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TXFFLSH</name>
              <description>TxFIFO flush</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TXFNUM</name>
              <description>TxFIFO number</description>
              <bitOffset>6</bitOffset>
              <bitWidth>5</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>AHBIDL</name>
              <description>AHB master idle</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>DMAREQ</name>
              <description>DMA request signal enabled for USB OTG
              HS</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>GINTSTS</name>
          <displayName>GINTSTS</displayName>
          <description>OTG_HS core interrupt register</description>
          <addressOffset>0x14</addressOffset>
          <size>0x20</size>
          <resetValue>0x04000020</resetValue>
          <fields>
            <field>
              <name>CMOD</name>
              <description>Current mode of operation</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>MMIS</name>
              <description>Mode mismatch interrupt</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>OTGINT</name>
              <description>OTG interrupt</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>SOF</name>
              <description>Start of frame</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>RXFLVL</name>
              <description>RxFIFO nonempty</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>NPTXFE</name>
              <description>Nonperiodic TxFIFO empty</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>GINAKEFF</name>
              <description>Global IN nonperiodic NAK
              effective</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>BOUTNAKEFF</name>
              <description>Global OUT NAK effective</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>ESUSP</name>
              <description>Early suspend</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>USBSUSP</name>
              <description>USB suspend</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>USBRST</name>
              <description>USB reset</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ENUMDNE</name>
              <description>Enumeration done</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ISOODRP</name>
              <description>Isochronous OUT packet dropped
              interrupt</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>EOPF</name>
              <description>End of periodic frame
              interrupt</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>IEPINT</name>
              <description>IN endpoint interrupt</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>OEPINT</name>
              <description>OUT endpoint interrupt</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>IISOIXFR</name>
              <description>Incomplete isochronous IN
              transfer</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>PXFR_INCOMPISOOUT</name>
              <description>Incomplete periodic
              transfer</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>DATAFSUSP</name>
              <description>Data fetch suspended</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>HPRTINT</name>
              <description>Host port interrupt</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>HCINT</name>
              <description>Host channels interrupt</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>PTXFE</name>
              <description>Periodic TxFIFO empty</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>CIDSCHG</name>
              <description>Connector ID status change</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>DISCINT</name>
              <description>Disconnect detected
              interrupt</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>SRQINT</name>
              <description>Session request/new session detected
              interrupt</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>WKUINT</name>
              <description>Resume/remote wakeup detected
              interrupt</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>GINTMSK</name>
          <displayName>GINTMSK</displayName>
          <description>OTG_HS interrupt mask register</description>
          <addressOffset>0x18</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>MMISM</name>
              <description>Mode mismatch interrupt
              mask</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>OTGINT</name>
              <description>OTG interrupt mask</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>SOFM</name>
              <description>Start of frame mask</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>RXFLVLM</name>
              <description>Receive FIFO nonempty mask</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>NPTXFEM</name>
              <description>Nonperiodic TxFIFO empty
              mask</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>GINAKEFFM</name>
              <description>Global nonperiodic IN NAK effective
              mask</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>GONAKEFFM</name>
              <description>Global OUT NAK effective
              mask</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ESUSPM</name>
              <description>Early suspend mask</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>USBSUSPM</name>
              <description>USB suspend mask</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>USBRST</name>
              <description>USB reset mask</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ENUMDNEM</name>
              <description>Enumeration done mask</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ISOODRPM</name>
              <description>Isochronous OUT packet dropped interrupt
              mask</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>EOPFM</name>
              <description>End of periodic frame interrupt
              mask</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>IEPINT</name>
              <description>IN endpoints interrupt
              mask</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>OEPINT</name>
              <description>OUT endpoints interrupt
              mask</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>IISOIXFRM</name>
              <description>Incomplete isochronous IN transfer
              mask</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>PXFRM_IISOOXFRM</name>
              <description>Incomplete periodic transfer
              mask</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>FSUSPM</name>
              <description>Data fetch suspended mask</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>PRTIM</name>
              <description>Host port interrupt mask</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>HCIM</name>
              <description>Host channels interrupt
              mask</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>PTXFEM</name>
              <description>Periodic TxFIFO empty mask</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CIDSCHGM</name>
              <description>Connector ID status change
              mask</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>DISCINT</name>
              <description>Disconnect detected interrupt
              mask</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>SRQIM</name>
              <description>Session request/new session detected
              interrupt mask</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>WUIM</name>
              <description>Resume/remote wakeup detected interrupt
              mask</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>RSTDE</name>
              <description>Reset detected interrupt
              mask</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>LPMINTM</name>
              <description>LPM interrupt mask</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>GRXSTSR_Host</name>
          <displayName>GRXSTSR_Host</displayName>
          <description>OTG_HS Receive status debug read register
          (host mode)</description>
          <addressOffset>0x1C</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CHNUM</name>
              <description>Channel number</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>BCNT</name>
              <description>Byte count</description>
              <bitOffset>4</bitOffset>
              <bitWidth>11</bitWidth>
            </field>
            <field>
              <name>DPID</name>
              <description>Data PID</description>
              <bitOffset>15</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>PKTSTS</name>
              <description>Packet status</description>
              <bitOffset>17</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>GRXSTSP_Host</name>
          <displayName>GRXSTSP_Host</displayName>
          <description>OTG_HS status read and pop register (host
          mode)</description>
          <addressOffset>0x20</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CHNUM</name>
              <description>Channel number</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>BCNT</name>
              <description>Byte count</description>
              <bitOffset>4</bitOffset>
              <bitWidth>11</bitWidth>
            </field>
            <field>
              <name>DPID</name>
              <description>Data PID</description>
              <bitOffset>15</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>PKTSTS</name>
              <description>Packet status</description>
              <bitOffset>17</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>GRXFSIZ</name>
          <displayName>GRXFSIZ</displayName>
          <description>OTG_HS Receive FIFO size
          register</description>
          <addressOffset>0x24</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000200</resetValue>
          <fields>
            <field>
              <name>RXFD</name>
              <description>RxFIFO depth</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>HNPTXFSIZ</name>
          <displayName>HNPTXFSIZ_Host</displayName>
          <description>OTG_HS nonperiodic transmit FIFO size
          register (host mode)</description>
          <addressOffset>0x28</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000200</resetValue>
          <fields>
            <field>
              <name>NPTXFSA</name>
              <description>Nonperiodic transmit RAM start
              address</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
            <field>
              <name>NPTXFD</name>
              <description>Nonperiodic TxFIFO depth</description>
              <bitOffset>16</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DIEPTXF0</name>
          <displayName>DIEPTXF0_Device</displayName>
          <description>Endpoint 0 transmit FIFO size (peripheral
          mode)</description>
          <alternateRegister>HNPTXFSIZ</alternateRegister>
          <addressOffset>0x28</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000200</resetValue>
          <fields>
            <field>
              <name>TX0FSA</name>
              <description>Endpoint 0 transmit RAM start
              address</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
            <field>
              <name>TX0FD</name>
              <description>Endpoint 0 TxFIFO depth</description>
              <bitOffset>16</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>HNPTXSTS</name>
          <displayName>GNPTXSTS</displayName>
          <description>OTG_HS nonperiodic transmit FIFO/queue
          status register</description>
          <addressOffset>0x2C</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00080200</resetValue>
          <fields>
            <field>
              <name>NPTXFSAV</name>
              <description>Nonperiodic TxFIFO space
              available</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
            <field>
              <name>NPTQXSAV</name>
              <description>Nonperiodic transmit request queue space
              available</description>
              <bitOffset>16</bitOffset>
              <bitWidth>8</bitWidth>
            </field>
            <field>
              <name>NPTXQTOP</name>
              <description>Top of the nonperiodic transmit request
              queue</description>
              <bitOffset>24</bitOffset>
              <bitWidth>7</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>GCCFG</name>
          <displayName>GCCFG</displayName>
          <description>OTG_HS general core configuration
          register</description>
          <addressOffset>0x38</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>PWRDWN</name>
              <description>Power down</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>BCDEN</name>
              <description>Battery charging detector (BCD)
              enable</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DCDEN</name>
              <description>Data contact detection (DCD) mode
              enable</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>PDEN</name>
              <description>Primary detection (PD) mode
              enable</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SDEN</name>
              <description>Secondary detection (SD) mode
              enable</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>VBDEN</name>
              <description>USB VBUS detection enable</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DCDET</name>
              <description>Data contact detection (DCD)
              status</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>PDET</name>
              <description>Primary detection (PD)
              status</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SDET</name>
              <description>Secondary detection (SD)
              status</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>PS2DET</name>
              <description>DM pull-up detection
              status</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CID</name>
          <displayName>CID</displayName>
          <description>OTG_HS core ID register</description>
          <addressOffset>0x3C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00001200</resetValue>
          <fields>
            <field>
              <name>PRODUCT_ID</name>
              <description>Product ID field</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>HPTXFSIZ</name>
          <displayName>HPTXFSIZ</displayName>
          <description>OTG_HS Host periodic transmit FIFO size
          register</description>
          <addressOffset>0x100</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x02000600</resetValue>
          <fields>
            <field>
              <name>PTXSA</name>
              <description>Host periodic TxFIFO start
              address</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
            <field>
              <name>PTXFD</name>
              <description>Host periodic TxFIFO depth</description>
              <bitOffset>16</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <dim>8</dim>
          <dimIncrement>0x4</dimIncrement>
          <dimIndex>1-8</dimIndex>
          <name>DIEPTXF%s</name>
          <displayName>DIEPTXF%s</displayName>
          <description>OTG_HS device IN endpoint transmit FIFO size register</description>
          <addressOffset>0x104</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x02000400</resetValue>
          <fields>
            <field>
              <name>INEPTXSA</name>
              <description>IN endpoint FIFOx transmit RAM start
              address</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
            <field>
              <name>INEPTXFD</name>
              <description>IN endpoint TxFIFO depth</description>
              <bitOffset>16</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>GRXSTSR_Device</name>
          <displayName>GRXSTSR_Device</displayName>
          <description>OTG_HS Receive status debug read register
          (peripheral mode mode)</description>
          <alternateRegister>GRXSTSR_Host</alternateRegister>
          <addressOffset>0x1C</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>EPNUM</name>
              <description>Endpoint number</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>BCNT</name>
              <description>Byte count</description>
              <bitOffset>4</bitOffset>
              <bitWidth>11</bitWidth>
            </field>
            <field>
              <name>DPID</name>
              <description>Data PID</description>
              <bitOffset>15</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>PKTSTS</name>
              <description>Packet status</description>
              <bitOffset>17</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>FRMNUM</name>
              <description>Frame number</description>
              <bitOffset>21</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>GRXSTSP_Device</name>
          <displayName>GRXSTSP_Device</displayName>
          <description>OTG_HS status read and pop register
          (peripheral mode)</description>
          <alternateRegister>GRXSTSP_Host</alternateRegister>
          <addressOffset>0x20</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>EPNUM</name>
              <description>Endpoint number</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>BCNT</name>
              <description>Byte count</description>
              <bitOffset>4</bitOffset>
              <bitWidth>11</bitWidth>
            </field>
            <field>
              <name>DPID</name>
              <description>Data PID</description>
              <bitOffset>15</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>PKTSTS</name>
              <description>Packet status</description>
              <bitOffset>17</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>FRMNUM</name>
              <description>Frame number</description>
              <bitOffset>21</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>GLPMCFG</name>
          <displayName>GLPMCFG</displayName>
          <description>OTG core LPM configuration
          register</description>
          <addressOffset>0x54</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>LPMEN</name>
              <description>LPM support enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>LPMACK</name>
              <description>LPM token acknowledge
              enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>BESL</name>
              <description>Best effort service
              latency</description>
              <bitOffset>2</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>REMWAKE</name>
              <description>bRemoteWake value</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>L1SSEN</name>
              <description>L1 Shallow Sleep enable</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>BESLTHRS</name>
              <description>BESL threshold</description>
              <bitOffset>8</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>L1DSEN</name>
              <description>L1 deep sleep enable</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>LPMRST</name>
              <description>LPM response</description>
              <bitOffset>13</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>SLPSTS</name>
              <description>Port sleep status</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>L1RSMOK</name>
              <description>Sleep State Resume OK</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>LPMCHIDX</name>
              <description>LPM Channel Index</description>
              <bitOffset>17</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>LPMRCNT</name>
              <description>LPM retry count</description>
              <bitOffset>21</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>SNDLPM</name>
              <description>Send LPM transaction</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>LPMRCNTSTS</name>
              <description>LPM retry count status</description>
              <bitOffset>25</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>ENBESL</name>
              <description>Enable best effort service
              latency</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral derivedFrom="OTG1_HS_GLOBAL">
      <name>OTG2_HS_GLOBAL</name>
      <baseAddress>0x40080000</baseAddress>
      <interrupt>
        <name>OTG_FS_EP1_OUT</name>
        <description>OTG_FS out global interrupt</description>
        <value>98</value>
      </interrupt>
      <interrupt>
        <name>OTG_FS_EP1_IN</name>
        <description>OTG_FS in global interrupt</description>
        <value>99</value>
      </interrupt>
      <interrupt>
        <name>OTG_FS_WKUP</name>
        <description>OTG_FS wakeup</description>
        <value>100</value>
      </interrupt>
      <interrupt>
        <name>OTG_FS</name>
        <description>OTG_FS global interrupt</description>
        <value>101</value>
      </interrupt>
    </peripheral>
    <peripheral>
      <name>OTG1_HS_HOST</name>
      <description>USB 1 on the go high speed</description>
      <groupName>USB_OTG_HS</groupName>
      <baseAddress>0x40040400</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <registers>
        <register>
          <name>HCFG</name>
          <displayName>HCFG</displayName>
          <description>OTG_HS host configuration
          register</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>FSLSPCS</name>
              <description>FS/LS PHY clock select</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>FSLSS</name>
              <description>FS- and LS-only support</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>HFIR</name>
          <displayName>HFIR</displayName>
          <description>OTG_HS Host frame interval
          register</description>
          <addressOffset>0x4</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x0000EA60</resetValue>
          <fields>
            <field>
              <name>FRIVL</name>
              <description>Frame interval</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>HFNUM</name>
          <displayName>HFNUM</displayName>
          <description>OTG_HS host frame number/frame time
          remaining register</description>
          <addressOffset>0x8</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00003FFF</resetValue>
          <fields>
            <field>
              <name>FRNUM</name>
              <description>Frame number</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
            <field>
              <name>FTREM</name>
              <description>Frame time remaining</description>
              <bitOffset>16</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>HPTXSTS</name>
          <displayName>HPTXSTS</displayName>
          <description>OTG_HS_Host periodic transmit FIFO/queue
          status register</description>
          <addressOffset>0x10</addressOffset>
          <size>0x20</size>
          <resetValue>0x00080100</resetValue>
          <fields>
            <field>
              <name>PTXFSAVL</name>
              <description>Periodic transmit data FIFO space
              available</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>PTXQSAV</name>
              <description>Periodic transmit request queue space
              available</description>
              <bitOffset>16</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>PTXQTOP</name>
              <description>Top of the periodic transmit request
              queue</description>
              <bitOffset>24</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>HAINT</name>
          <displayName>HAINT</displayName>
          <description>OTG_HS Host all channels interrupt
          register</description>
          <addressOffset>0x14</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>HAINT</name>
              <description>Channel interrupts</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>HAINTMSK</name>
          <displayName>HAINTMSK</displayName>
          <description>OTG_HS host all channels interrupt mask
          register</description>
          <addressOffset>0x18</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>HAINTM</name>
              <description>Channel interrupt mask</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>HPRT</name>
          <displayName>HPRT</displayName>
          <description>OTG_HS host port control and status
          register</description>
          <addressOffset>0x40</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>PCSTS</name>
              <description>Port connect status</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>PCDET</name>
              <description>Port connect detected</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>PENA</name>
              <description>Port enable</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>PENCHNG</name>
              <description>Port enable/disable change</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>POCA</name>
              <description>Port overcurrent active</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>POCCHNG</name>
              <description>Port overcurrent change</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>PRES</name>
              <description>Port resume</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>PSUSP</name>
              <description>Port suspend</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>PRST</name>
              <description>Port reset</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>PLSTS</name>
              <description>Port line status</description>
              <bitOffset>10</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>PPWR</name>
              <description>Port power</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>PTCTL</name>
              <description>Port test control</description>
              <bitOffset>13</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>PSPD</name>
              <description>Port speed</description>
              <bitOffset>17</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <cluster>
          <dim>16</dim>
          <dimIncrement>0x20</dimIncrement>
          <dimIndex>0-15</dimIndex>
          <name>HC%s</name>
          <description>Host channel</description>
          <addressOffset>0x100</addressOffset>
          <register>
            <name>CHAR</name>
            <displayName>HCCHAR0</displayName>
            <description>OTG_HS host channel-0 characteristics
          register</description>
            <addressOffset>0x0</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>MPSIZ</name>
                <description>Maximum packet size</description>
                <bitOffset>0</bitOffset>
                <bitWidth>11</bitWidth>
              </field>
              <field>
                <name>EPNUM</name>
                <description>Endpoint number</description>
                <bitOffset>11</bitOffset>
                <bitWidth>4</bitWidth>
              </field>
              <field>
                <name>EPDIR</name>
                <description>Endpoint direction</description>
                <bitOffset>15</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>LSDEV</name>
                <description>Low-speed device</description>
                <bitOffset>17</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>EPTYP</name>
                <description>Endpoint type</description>
                <bitOffset>18</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>MC</name>
                <description>Multi Count (MC) / Error Count
              (EC)</description>
                <bitOffset>20</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>DAD</name>
                <description>Device address</description>
                <bitOffset>22</bitOffset>
                <bitWidth>7</bitWidth>
              </field>
              <field>
                <name>ODDFRM</name>
                <description>Odd frame</description>
                <bitOffset>29</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>CHDIS</name>
                <description>Channel disable</description>
                <bitOffset>30</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>CHENA</name>
                <description>Channel enable</description>
                <bitOffset>31</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>SPLT</name>
            <displayName>HCSPLT0</displayName>
            <description>OTG_HS host channel-0 split control
          register</description>
            <addressOffset>0x4</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>PRTADDR</name>
                <description>Port address</description>
                <bitOffset>0</bitOffset>
                <bitWidth>7</bitWidth>
              </field>
              <field>
                <name>HUBADDR</name>
                <description>Hub address</description>
                <bitOffset>7</bitOffset>
                <bitWidth>7</bitWidth>
              </field>
              <field>
                <name>XACTPOS</name>
                <description>XACTPOS</description>
                <bitOffset>14</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
              <field>
                <name>COMPLSPLT</name>
                <description>Do complete split</description>
                <bitOffset>16</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>SPLITEN</name>
                <description>Split enable</description>
                <bitOffset>31</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>INT</name>
            <displayName>HCINT0</displayName>
            <description>OTG_HS host channel-11 interrupt
          register</description>
            <addressOffset>0x8</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>XFRC</name>
                <description>Transfer completed</description>
                <bitOffset>0</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>CHH</name>
                <description>Channel halted</description>
                <bitOffset>1</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>AHBERR</name>
                <description>AHB error</description>
                <bitOffset>2</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>STALL</name>
                <description>STALL response received
              interrupt</description>
                <bitOffset>3</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>NAK</name>
                <description>NAK response received
              interrupt</description>
                <bitOffset>4</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>ACK</name>
                <description>ACK response received/transmitted
              interrupt</description>
                <bitOffset>5</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>NYET</name>
                <description>Response received
              interrupt</description>
                <bitOffset>6</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>TXERR</name>
                <description>Transaction error</description>
                <bitOffset>7</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>BBERR</name>
                <description>Babble error</description>
                <bitOffset>8</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>FRMOR</name>
                <description>Frame overrun</description>
                <bitOffset>9</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>DTERR</name>
                <description>Data toggle error</description>
                <bitOffset>10</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>INTMSK</name>
            <displayName>HCINTMSK0</displayName>
            <description>OTG_HS host channel-11 interrupt mask
          register</description>
            <addressOffset>0xC</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>XFRCM</name>
                <description>Transfer completed mask</description>
                <bitOffset>0</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>CHHM</name>
                <description>Channel halted mask</description>
                <bitOffset>1</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>AHBERR</name>
                <description>AHB error</description>
                <bitOffset>2</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>STALLM</name>
                <description>STALL response received interrupt
              mask</description>
                <bitOffset>3</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>NAKM</name>
                <description>NAK response received interrupt
              mask</description>
                <bitOffset>4</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>ACKM</name>
                <description>ACK response received/transmitted
              interrupt mask</description>
                <bitOffset>5</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>NYET</name>
                <description>response received interrupt
              mask</description>
                <bitOffset>6</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>TXERRM</name>
                <description>Transaction error mask</description>
                <bitOffset>7</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>BBERRM</name>
                <description>Babble error mask</description>
                <bitOffset>8</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>FRMORM</name>
                <description>Frame overrun mask</description>
                <bitOffset>9</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>DTERRM</name>
                <description>Data toggle error mask</description>
                <bitOffset>10</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>TSIZ</name>
            <displayName>HCTSIZ0</displayName>
            <description>OTG_HS host channel-11 transfer size
          register</description>
            <addressOffset>0x10</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>XFRSIZ</name>
                <description>Transfer size</description>
                <bitOffset>0</bitOffset>
                <bitWidth>19</bitWidth>
              </field>
              <field>
                <name>PKTCNT</name>
                <description>Packet count</description>
                <bitOffset>19</bitOffset>
                <bitWidth>10</bitWidth>
              </field>
              <field>
                <name>DPID</name>
                <description>Data PID</description>
                <bitOffset>29</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>DMA</name>
            <displayName>HCDMA0</displayName>
            <description>OTG_HS host channel-0 DMA address
          register</description>
            <addressOffset>0x14</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>DMAADDR</name>
                <description>DMA address</description>
                <bitOffset>0</bitOffset>
                <bitWidth>32</bitWidth>
              </field>
            </fields>
          </register>
        </cluster>
      </registers>
    </peripheral>
    <peripheral derivedFrom="OTG1_HS_HOST">
      <name>OTG2_HS_HOST</name>
      <baseAddress>0x40080400</baseAddress>
    </peripheral>
    <peripheral>
      <name>OTG1_HS_DEVICE</name>
      <description>USB 1 on the go high speed</description>
      <groupName>USB_OTG_HS</groupName>
      <baseAddress>0x40040800</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <registers>
        <register>
          <name>DCFG</name>
          <displayName>DCFG</displayName>
          <description>OTG_HS device configuration
          register</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x02200000</resetValue>
          <fields>
            <field>
              <name>DSPD</name>
              <description>Device speed</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>NZLSOHSK</name>
              <description>Nonzero-length status OUT
              handshake</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DAD</name>
              <description>Device address</description>
              <bitOffset>4</bitOffset>
              <bitWidth>7</bitWidth>
            </field>
            <field>
              <name>PFIVL</name>
              <description>Periodic (micro)frame
              interval</description>
              <bitOffset>11</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>PERSCHIVL</name>
              <description>Periodic scheduling
              interval</description>
              <bitOffset>24</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DCTL</name>
          <displayName>DCTL</displayName>
          <description>OTG_HS device control register</description>
          <addressOffset>0x4</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>RWUSIG</name>
              <description>Remote wakeup signaling</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>SDIS</name>
              <description>Soft disconnect</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>GINSTS</name>
              <description>Global IN NAK status</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>GONSTS</name>
              <description>Global OUT NAK status</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>TCTL</name>
              <description>Test control</description>
              <bitOffset>4</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>SGINAK</name>
              <description>Set global IN NAK</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
            </field>
            <field>
              <name>CGINAK</name>
              <description>Clear global IN NAK</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
            </field>
            <field>
              <name>SGONAK</name>
              <description>Set global OUT NAK</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
            </field>
            <field>
              <name>CGONAK</name>
              <description>Clear global OUT NAK</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
            </field>
            <field>
              <name>POPRGDNE</name>
              <description>Power-on programming done</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>DSTS</name>
          <displayName>DSTS</displayName>
          <description>OTG_HS device status register</description>
          <addressOffset>0x8</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000010</resetValue>
          <fields>
            <field>
              <name>SUSPSTS</name>
              <description>Suspend status</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ENUMSPD</name>
              <description>Enumerated speed</description>
              <bitOffset>1</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>EERR</name>
              <description>Erratic error</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>FNSOF</name>
              <description>Frame number of the received
              SOF</description>
              <bitOffset>8</bitOffset>
              <bitWidth>14</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DIEPMSK</name>
          <displayName>DIEPMSK</displayName>
          <description>OTG_HS device IN endpoint common interrupt
          mask register</description>
          <addressOffset>0x10</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>XFRCM</name>
              <description>Transfer completed interrupt
              mask</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>EPDM</name>
              <description>Endpoint disabled interrupt
              mask</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TOM</name>
              <description>Timeout condition mask (nonisochronous
              endpoints)</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ITTXFEMSK</name>
              <description>IN token received when TxFIFO empty
              mask</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>INEPNMM</name>
              <description>IN token received with EP mismatch
              mask</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>INEPNEM</name>
              <description>IN endpoint NAK effective
              mask</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TXFURM</name>
              <description>FIFO underrun mask</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>BIM</name>
              <description>BNA interrupt mask</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DOEPMSK</name>
          <displayName>DOEPMSK</displayName>
          <description>OTG_HS device OUT endpoint common interrupt
          mask register</description>
          <addressOffset>0x14</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>XFRCM</name>
              <description>Transfer completed interrupt
              mask</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>EPDM</name>
              <description>Endpoint disabled interrupt
              mask</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>STUPM</name>
              <description>SETUP phase done mask</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>OTEPDM</name>
              <description>OUT token received when endpoint
              disabled mask</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>B2BSTUP</name>
              <description>Back-to-back SETUP packets received
              mask</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>OPEM</name>
              <description>OUT packet error mask</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>BOIM</name>
              <description>BNA interrupt mask</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DAINT</name>
          <displayName>DAINT</displayName>
          <description>OTG_HS device all endpoints interrupt
          register</description>
          <addressOffset>0x18</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>IEPINT</name>
              <description>IN endpoint interrupt bits</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
            <field>
              <name>OEPINT</name>
              <description>OUT endpoint interrupt
              bits</description>
              <bitOffset>16</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DAINTMSK</name>
          <displayName>DAINTMSK</displayName>
          <description>OTG_HS all endpoints interrupt mask
          register</description>
          <addressOffset>0x1C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>IEPM</name>
              <description>IN EP interrupt mask bits</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
            <field>
              <name>OEPM</name>
              <description>OUT EP interrupt mask bits</description>
              <bitOffset>16</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DVBUSDIS</name>
          <displayName>DVBUSDIS</displayName>
          <description>OTG_HS device VBUS discharge time
          register</description>
          <addressOffset>0x28</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x000017D7</resetValue>
          <fields>
            <field>
              <name>VBUSDT</name>
              <description>Device VBUS discharge time</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DVBUSPULSE</name>
          <displayName>DVBUSPULSE</displayName>
          <description>OTG_HS device VBUS pulsing time
          register</description>
          <addressOffset>0x2C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x000005B8</resetValue>
          <fields>
            <field>
              <name>DVBUSP</name>
              <description>Device VBUS pulsing time</description>
              <bitOffset>0</bitOffset>
              <bitWidth>12</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DTHRCTL</name>
          <displayName>DTHRCTL</displayName>
          <description>OTG_HS Device threshold control
          register</description>
          <addressOffset>0x30</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>NONISOTHREN</name>
              <description>Nonisochronous IN endpoints threshold
              enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ISOTHREN</name>
              <description>ISO IN endpoint threshold
              enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TXTHRLEN</name>
              <description>Transmit threshold length</description>
              <bitOffset>2</bitOffset>
              <bitWidth>9</bitWidth>
            </field>
            <field>
              <name>RXTHREN</name>
              <description>Receive threshold enable</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RXTHRLEN</name>
              <description>Receive threshold length</description>
              <bitOffset>17</bitOffset>
              <bitWidth>9</bitWidth>
            </field>
            <field>
              <name>ARPEN</name>
              <description>Arbiter parking enable</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DIEPEMPMSK</name>
          <displayName>DIEPEMPMSK</displayName>
          <description>OTG_HS device IN endpoint FIFO empty
          interrupt mask register</description>
          <addressOffset>0x34</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>INEPTXFEM</name>
              <description>IN EP Tx FIFO empty interrupt mask
              bits</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DEACHINT</name>
          <displayName>DEACHINT</displayName>
          <description>OTG_HS device each endpoint interrupt
          register</description>
          <addressOffset>0x38</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>IEP1INT</name>
              <description>IN endpoint 1interrupt bit</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>OEP1INT</name>
              <description>OUT endpoint 1 interrupt
              bit</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DEACHINTMSK</name>
          <displayName>DEACHINTMSK</displayName>
          <description>OTG_HS device each endpoint interrupt
          register mask</description>
          <addressOffset>0x3C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>IEP1INTM</name>
              <description>IN Endpoint 1 interrupt mask
              bit</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>OEP1INTM</name>
              <description>OUT Endpoint 1 interrupt mask
              bit</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DIEPEACHMSK1</name>
          <addressOffset>0x44</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>XFRCM</name>
              <description>Transfer completed interrupt mask</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>EPDM</name>
              <description>Endpoint disabled interrupt mask</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>AHBERRM</name>
              <description>AHB error mask</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TOM</name>
              <description>Timeout condition mask (Non-isochronous endpoints)</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ITTXFEMSK</name>
              <description>IN token received when TxFIFO empty mask</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>INEPNEM</name>
              <description>IN endpoint NAK effective mask</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TXFURM</name>
              <description>FIFO underrun mask</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>BNAM</name>
              <description>BNA interrupt mask</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>NAKM</name>
              <description>NAK interrupt mask</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DOEPEACHMSK1</name>
          <addressOffset>0x84</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>XFRCM</name>
              <description>Transfer completed interrupt mask</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>EPDM</name>
              <description>Endpoint disabled interrupt mask</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>AHBERRM</name>
              <description>AHB error mask</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>STUPM</name>
              <description>SETUP phase done mask</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>OTEPDM</name>
              <description>OUT token received when endpoint disabled mask</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>B2BSTUPM</name>
              <description>Back-to-back SETUP packets received mask</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>OUTPKTERRM</name>
              <description>Out packet error mask</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>BNAM</name>
              <description>BNA interrupt mask</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>BERRM</name>
              <description>Babble error interrupt mask</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>NAKMSK</name>
              <description>NAK interrupt mask</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>NYETMSK</name>
              <description>NYET interrupt mask</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <cluster>
          <name>DIEP0</name>
          <description>Device IN endpoint 0</description>
          <addressOffset>0x100</addressOffset>
          <register>
            <name>CTL</name>
            <displayName>DIEPCTL0</displayName>
            <description>OTG device endpoint-0 control
          register</description>
            <addressOffset>0x0</addressOffset>
            <size>0x20</size>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>MPSIZ</name>
                <description>Maximum packet size</description>
                <bitOffset>0</bitOffset>
                <bitWidth>11</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>USBAEP</name>
                <description>USB active endpoint</description>
                <bitOffset>15</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>EONUM_DPID</name>
                <description>Even/odd frame</description>
                <bitOffset>16</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-only</access>
              </field>
              <field>
                <name>NAKSTS</name>
                <description>NAK status</description>
                <bitOffset>17</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-only</access>
              </field>
              <field>
                <name>EPTYP</name>
                <description>Endpoint type</description>
                <bitOffset>18</bitOffset>
                <bitWidth>2</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>STALL</name>
                <description>STALL handshake</description>
                <bitOffset>21</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>TXFNUM</name>
                <description>TxFIFO number</description>
                <bitOffset>22</bitOffset>
                <bitWidth>4</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>CNAK</name>
                <description>Clear NAK</description>
                <bitOffset>26</bitOffset>
                <bitWidth>1</bitWidth>
                <access>write-only</access>
              </field>
              <field>
                <name>SNAK</name>
                <description>Set NAK</description>
                <bitOffset>27</bitOffset>
                <bitWidth>1</bitWidth>
                <access>write-only</access>
              </field>
              <field>
                <name>SD0PID_SEVNFRM</name>
                <description>Set DATA0 PID</description>
                <bitOffset>28</bitOffset>
                <bitWidth>1</bitWidth>
                <access>write-only</access>
              </field>
              <field>
                <name>SODDFRM</name>
                <description>Set odd frame</description>
                <bitOffset>29</bitOffset>
                <bitWidth>1</bitWidth>
                <access>write-only</access>
              </field>
              <field>
                <name>EPDIS</name>
                <description>Endpoint disable</description>
                <bitOffset>30</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>EPENA</name>
                <description>Endpoint enable</description>
                <bitOffset>31</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
              </field>
            </fields>
          </register>
          <register>
            <name>INT</name>
            <displayName>DIEPINT0</displayName>
            <description>OTG device endpoint-0 interrupt
          register</description>
            <addressOffset>0x8</addressOffset>
            <size>0x20</size>
            <resetValue>0x00000080</resetValue>
            <fields>
              <field>
                <name>XFRC</name>
                <description>Transfer completed
              interrupt</description>
                <bitOffset>0</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>EPDISD</name>
                <description>Endpoint disabled
              interrupt</description>
                <bitOffset>1</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>TOC</name>
                <description>Timeout condition</description>
                <bitOffset>3</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>ITTXFE</name>
                <description>IN token received when TxFIFO is
              empty</description>
                <bitOffset>4</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>INEPNE</name>
                <description>IN endpoint NAK effective</description>
                <bitOffset>6</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>TXFE</name>
                <description>Transmit FIFO empty</description>
                <bitOffset>7</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-only</access>
              </field>
              <field>
                <name>TXFIFOUDRN</name>
                <description>Transmit Fifo Underrun</description>
                <bitOffset>8</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>BNA</name>
                <description>Buffer not available
              interrupt</description>
                <bitOffset>9</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>PKTDRPSTS</name>
                <description>Packet dropped status</description>
                <bitOffset>11</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>BERR</name>
                <description>Babble error interrupt</description>
                <bitOffset>12</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>NAK</name>
                <description>NAK interrupt</description>
                <bitOffset>13</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
              </field>
            </fields>
          </register>
          <register>
            <name>TSIZ</name>
            <displayName>DIEPTSIZ0</displayName>
            <description>OTG_HS device IN endpoint 0 transfer size
          register</description>
            <addressOffset>0x10</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>XFRSIZ</name>
                <description>Transfer size</description>
                <bitOffset>0</bitOffset>
                <bitWidth>7</bitWidth>
              </field>
              <field>
                <name>PKTCNT</name>
                <description>Packet count</description>
                <bitOffset>19</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>DMA</name>
            <description>OTG_HS device endpoint-0 DMA address register</description>
            <addressOffset>0x14</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>DMAADDR</name>
                <description>DMA address</description>
                <bitOffset>0</bitOffset>
                <bitWidth>32</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>TXFSTS</name>
            <displayName>DTXFSTS0</displayName>
            <description>OTG_HS device IN endpoint transmit FIFO
          status register</description>
            <addressOffset>0x18</addressOffset>
            <size>0x20</size>
            <access>read-only</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>INEPTFSAV</name>
                <description>IN endpoint TxFIFO space
              avail</description>
                <bitOffset>0</bitOffset>
                <bitWidth>16</bitWidth>
              </field>
            </fields>
          </register>
        </cluster>
        <cluster>
          <dim>8</dim>
          <dimIncrement>0x20</dimIncrement>
          <dimIndex>1-8</dimIndex>
          <name>DIEP%s</name>
          <description>Device IN endpoint X</description>
          <addressOffset>0x120</addressOffset>
          <register>
            <name>CTL</name>
            <displayName>DIEPCTL1</displayName>
            <description>OTG device endpoint-1 control
          register</description>
            <addressOffset>0x0</addressOffset>
            <size>0x20</size>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>MPSIZ</name>
                <description>Maximum packet size</description>
                <bitOffset>0</bitOffset>
                <bitWidth>11</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>USBAEP</name>
                <description>USB active endpoint</description>
                <bitOffset>15</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>EONUM_DPID</name>
                <description>Even/odd frame</description>
                <bitOffset>16</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-only</access>
              </field>
              <field>
                <name>NAKSTS</name>
                <description>NAK status</description>
                <bitOffset>17</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-only</access>
              </field>
              <field>
                <name>EPTYP</name>
                <description>Endpoint type</description>
                <bitOffset>18</bitOffset>
                <bitWidth>2</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>STALL</name>
                <description>STALL handshake</description>
                <bitOffset>21</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>TXFNUM</name>
                <description>TxFIFO number</description>
                <bitOffset>22</bitOffset>
                <bitWidth>4</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>CNAK</name>
                <description>Clear NAK</description>
                <bitOffset>26</bitOffset>
                <bitWidth>1</bitWidth>
                <access>write-only</access>
              </field>
              <field>
                <name>SNAK</name>
                <description>Set NAK</description>
                <bitOffset>27</bitOffset>
                <bitWidth>1</bitWidth>
                <access>write-only</access>
              </field>
              <field>
                <name>SD0PID_SEVNFRM</name>
                <description>Set DATA0 PID</description>
                <bitOffset>28</bitOffset>
                <bitWidth>1</bitWidth>
                <access>write-only</access>
              </field>
              <field>
                <name>SODDFRM</name>
                <description>Set odd frame</description>
                <bitOffset>29</bitOffset>
                <bitWidth>1</bitWidth>
                <access>write-only</access>
              </field>
              <field>
                <name>EPDIS</name>
                <description>Endpoint disable</description>
                <bitOffset>30</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>EPENA</name>
                <description>Endpoint enable</description>
                <bitOffset>31</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
              </field>
            </fields>
          </register>
          <register derivedFrom="OTG1_HS_DEVICE.DIEP0.INT">
            <name>INT</name>
            <displayName>DIEPINT1</displayName>
            <description>OTG device endpoint-1 interrupt
          register</description>
            <addressOffset>0x8</addressOffset>
          </register>
          <register>
            <name>TSIZ</name>
            <displayName>DIEPTSIZ1</displayName>
            <description>OTG_HS device endpoint transfer size
          register</description>
            <addressOffset>0x10</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>XFRSIZ</name>
                <description>Transfer size</description>
                <bitOffset>0</bitOffset>
                <bitWidth>19</bitWidth>
              </field>
              <field>
                <name>PKTCNT</name>
                <description>Packet count</description>
                <bitOffset>19</bitOffset>
                <bitWidth>10</bitWidth>
              </field>
              <field>
                <name>MCNT</name>
                <description>Multi count</description>
                <bitOffset>29</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
            </fields>
          </register>
          <register derivedFrom="OTG1_HS_DEVICE.DIEP0.DMA">
            <name>DMA</name>
            <displayName>DIEPDMA1</displayName>
            <description>OTG_HS device endpoint-1 DMA address
          register</description>
            <addressOffset>0x14</addressOffset>
          </register>
          <register derivedFrom="OTG1_HS_DEVICE.DIEP0.TXFSTS">
            <name>TXFSTS</name>
            <displayName>DTXFSTS1</displayName>
            <description>OTG_HS device IN endpoint transmit FIFO
          status register</description>
            <addressOffset>0x18</addressOffset>
          </register>
        </cluster>
        <cluster>
          <name>DOEP0</name>
          <description>Device OUT endpoint 0</description>
          <addressOffset>0x300</addressOffset>
          <register>
            <name>CTL</name>
            <displayName>DOEPCTL0</displayName>
            <description>OTG_HS device control OUT endpoint 0 control
          register</description>
            <addressOffset>0x0</addressOffset>
            <size>0x20</size>
            <resetValue>0x00008000</resetValue>
            <fields>
              <field>
                <name>MPSIZ</name>
                <description>Maximum packet size</description>
                <bitOffset>0</bitOffset>
                <bitWidth>2</bitWidth>
                <access>read-only</access>
              </field>
              <field>
                <name>USBAEP</name>
                <description>USB active endpoint</description>
                <bitOffset>15</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-only</access>
              </field>
              <field>
                <name>NAKSTS</name>
                <description>NAK status</description>
                <bitOffset>17</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-only</access>
              </field>
              <field>
                <name>EPTYP</name>
                <description>Endpoint type</description>
                <bitOffset>18</bitOffset>
                <bitWidth>2</bitWidth>
                <access>read-only</access>
              </field>
              <field>
                <name>SNPM</name>
                <description>Snoop mode</description>
                <bitOffset>20</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>STALL</name>
                <description>STALL handshake</description>
                <bitOffset>21</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>CNAK</name>
                <description>Clear NAK</description>
                <bitOffset>26</bitOffset>
                <bitWidth>1</bitWidth>
                <access>write-only</access>
              </field>
              <field>
                <name>SNAK</name>
                <description>Set NAK</description>
                <bitOffset>27</bitOffset>
                <bitWidth>1</bitWidth>
                <access>write-only</access>
              </field>
              <field>
                <name>EPDIS</name>
                <description>Endpoint disable</description>
                <bitOffset>30</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-only</access>
              </field>
              <field>
                <name>EPENA</name>
                <description>Endpoint enable</description>
                <bitOffset>31</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
              </field>
            </fields>
          </register>
          <register>
            <name>INT</name>
            <displayName>DOEPINT0</displayName>
            <description>OTG_HS device endpoint-0 interrupt
          register</description>
            <addressOffset>0x8</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000080</resetValue>
            <fields>
              <field>
                <name>XFRC</name>
                <description>Transfer completed
              interrupt</description>
                <bitOffset>0</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>EPDISD</name>
                <description>Endpoint disabled
              interrupt</description>
                <bitOffset>1</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>STUP</name>
                <description>SETUP phase done</description>
                <bitOffset>3</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>OTEPDIS</name>
                <description>OUT token received when endpoint
              disabled</description>
                <bitOffset>4</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>B2BSTUP</name>
                <description>Back-to-back SETUP packets
              received</description>
                <bitOffset>6</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>NYET</name>
                <description>NYET interrupt</description>
                <bitOffset>14</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>TSIZ</name>
            <displayName>DOEPTSIZ0</displayName>
            <description>OTG_HS device endpoint-0 transfer size
          register</description>
            <addressOffset>0x10</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>XFRSIZ</name>
                <description>Transfer size</description>
                <bitOffset>0</bitOffset>
                <bitWidth>7</bitWidth>
              </field>
              <field>
                <name>PKTCNT</name>
                <description>Packet count</description>
                <bitOffset>19</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>STUPCNT</name>
                <description>SETUP packet count</description>
                <bitOffset>29</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>DMA</name>
            <description>OTG_HS device endpoint-0 DMA address register</description>
            <addressOffset>0x14</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>DMAADDR</name>
                <description>DMA address</description>
                <bitOffset>0</bitOffset>
                <bitWidth>32</bitWidth>
              </field>
            </fields>
          </register>
        </cluster>
        <cluster>
          <dim>8</dim>
          <dimIncrement>0x20</dimIncrement>
          <dimIndex>1-8</dimIndex>
          <name>DOEP%s</name>
          <description>Device IN endpoint X</description>
          <addressOffset>0x320</addressOffset>
          <register>
            <name>CTL</name>
            <displayName>DOEPCTL1</displayName>
            <description>OTG device endpoint-1 control
          register</description>
            <addressOffset>0x0</addressOffset>
            <size>0x20</size>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>MPSIZ</name>
                <description>Maximum packet size</description>
                <bitOffset>0</bitOffset>
                <bitWidth>11</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>USBAEP</name>
                <description>USB active endpoint</description>
                <bitOffset>15</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>EONUM_DPID</name>
                <description>Even odd frame/Endpoint data
              PID</description>
                <bitOffset>16</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-only</access>
              </field>
              <field>
                <name>NAKSTS</name>
                <description>NAK status</description>
                <bitOffset>17</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-only</access>
              </field>
              <field>
                <name>EPTYP</name>
                <description>Endpoint type</description>
                <bitOffset>18</bitOffset>
                <bitWidth>2</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>SNPM</name>
                <description>Snoop mode</description>
                <bitOffset>20</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>STALL</name>
                <description>STALL handshake</description>
                <bitOffset>21</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>CNAK</name>
                <description>Clear NAK</description>
                <bitOffset>26</bitOffset>
                <bitWidth>1</bitWidth>
                <access>write-only</access>
              </field>
              <field>
                <name>SNAK</name>
                <description>Set NAK</description>
                <bitOffset>27</bitOffset>
                <bitWidth>1</bitWidth>
                <access>write-only</access>
              </field>
              <field>
                <name>SD0PID_SEVNFRM</name>
                <description>Set DATA0 PID/Set even
              frame</description>
                <bitOffset>28</bitOffset>
                <bitWidth>1</bitWidth>
                <access>write-only</access>
              </field>
              <field>
                <name>SODDFRM</name>
                <description>Set odd frame</description>
                <bitOffset>29</bitOffset>
                <bitWidth>1</bitWidth>
                <access>write-only</access>
              </field>
              <field>
                <name>EPDIS</name>
                <description>Endpoint disable</description>
                <bitOffset>30</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>EPENA</name>
                <description>Endpoint enable</description>
                <bitOffset>31</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
              </field>
            </fields>
          </register>
          <register derivedFrom="OTG1_HS_DEVICE.DIEP0.INT">
            <name>INT</name>
            <displayName>DOEPINT1</displayName>
            <description>OTG_HS device endpoint-1 interrupt
          register</description>
            <addressOffset>0x8</addressOffset>
          </register>
          <register derivedFrom="OTG1_HS_DEVICE.DIEP0.DMA">
            <name>DMA</name>
            <description>OTG_HS device endpoint-1 DMA address register</description>
            <addressOffset>0x14</addressOffset>
          </register>
          <register>
            <name>TSIZ</name>
            <displayName>DOEPTSIZ1</displayName>
            <description>OTG_HS device endpoint-1 transfer size
          register</description>
            <addressOffset>0x10</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>XFRSIZ</name>
                <description>Transfer size</description>
                <bitOffset>0</bitOffset>
                <bitWidth>19</bitWidth>
              </field>
              <field>
                <name>PKTCNT</name>
                <description>Packet count</description>
                <bitOffset>19</bitOffset>
                <bitWidth>10</bitWidth>
              </field>
              <field>
                <name>RXDPID_STUPCNT</name>
                <description>Received data PID/SETUP packet
              count</description>
                <bitOffset>29</bitOffset>
                <bitWidth>2</bitWidth>
              </field>
            </fields>
          </register>
        </cluster>
      </registers>
    </peripheral>
    <peripheral derivedFrom="OTG1_HS_DEVICE">
      <name>OTG2_HS_DEVICE</name>
      <baseAddress>0x40080800</baseAddress>
    </peripheral>
    <peripheral>
      <name>OTG1_HS_PWRCLK</name>
      <description>USB 1 on the go high speed</description>
      <groupName>USB_OTG_HS</groupName>
      <baseAddress>0x40040E00</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x3F200</size>
        <usage>registers</usage>
      </addressBlock>
      <registers>
        <register>
          <name>PCGCR</name>
          <displayName>PCGCR</displayName>
          <description>Power and clock gating control
          register</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>STPPCLK</name>
              <description>Stop PHY clock</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>GATEHCLK</name>
              <description>Gate HCLK</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>PHYSUSP</name>
              <description>PHY suspended</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral derivedFrom="OTG1_HS_PWRCLK">
      <name>OTG2_HS_PWRCLK</name>
      <baseAddress>0x40080E00</baseAddress>
    </peripheral>
    <peripheral>
      <name>ETH</name>
      <description>ETH register block</description>
      <groupName>Ethernet</groupName>
      <baseAddress>0x40028000</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x11F0</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>ETH</name>
        <description>Ethernet global interrupt</description>
        <value>61</value>
      </interrupt>
      <interrupt>
        <name>ETH_WKUP</name>
        <description>Ethernet wakeup through EXTI</description>
        <value>62</value>
      </interrupt>
      <registers>
        <register>
          <name>MACCR</name>
          <displayName>MACCR</displayName>
          <description>Operating mode configuration register</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>RE</name>
              <description>Receiver Enable
When this bit is set, the Rx state machine of the MAC is enabled for receiving packets from the MII interface. When this bit is reset, the MAC Rx state machine is disabled after it completes the reception of the current packet. The Rx state machine does not receive any more packets from the MII interface.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TE</name>
              <description>Transmitter Enable
When this bit is set, the Tx state machine of the MAC is enabled for transmission on the MII interface. When this bit is reset, the MAC Tx state machine is disabled after it completes the transmission of the current packet. The Tx state machine does not transmit any more packets.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>PRELEN</name>
              <description>Preamble Length for Transmit packets
These bits control the number of preamble bytes that are added to the beginning of every Tx packet. The preamble reduction occurs only when the MAC is operating in the full-duplex mode.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>DC</name>
              <description>Deferral Check
When this bit is set, the deferral check function is enabled in the MAC. The MAC issues a Packet Abort status, along with the excessive deferral error bit set in the Tx packet status, when the Tx state machine is deferred for more than 24,288 bit times in 10 or 100 Mbps mode.
Deferral begins when the transmitter is ready to transmit, but it is prevented because of an active carrier sense signal (CRS) on MII.
The defer time is not cumulative. For example, if the transmitter defers for 10,000 bit times because the CRS signal is active and the CRS signal becomes inactive, the transmitter transmits and collision happens. Because of collision, the transmitter needs to back off and then defer again after back off completion. In such a scenario, the deferral timer is reset to 0, and it is restarted.
When this bit is reset, the deferral check function is disabled and the MAC defers until the CRS signal goes inactive.
This bit is applicable only in the half-duplex mode.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>BL</name>
              <description>Back-Off Limit</description>
              <bitOffset>5</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>DR</name>
              <description>Disable Retry
When this bit is set, the MAC attempts only one transmission. When a collision occurs on the MII interface, the MAC ignores the current packet transmission and reports a Packet Abort with excessive collision error in the Tx packet status.
When this bit is reset, the MAC retries based on the settings of the BL field. This bit is applicable only in the half-duplex mode.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>DCRS</name>
              <description>Disable Carrier Sense During Transmission
When this bit is set, the MAC transmitter ignores the (G)MII CRS signal during packet transmission in the half-duplex mode. As a result, no errors are generated because of Loss of Carrier or No Carrier during transmission.
When this bit is reset, the MAC transmitter generates errors because of Carrier Sense. The MAC can even abort the transmission.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>DO</name>
              <description>Disable Receive Own
When this bit is set, the MAC disables the reception of packets when the ETH_TX_EN is asserted in the half-duplex mode. When this bit is reset, the MAC receives all packets given by the PHY.
This bit is not applicable in the full-duplex mode. This bit is reserved and read-only (RO) with default value in the full-duplex-only configurations.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ECRSFD</name>
              <description>Enable Carrier Sense Before Transmission in Full-Duplex Mode
When this bit is set, the MAC transmitter checks the CRS signal before packet transmission in the full-duplex mode. The MAC starts the transmission only when the CRS signal is low.
When this bit is reset, the MAC transmitter ignores the status of the CRS signal.</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>LM</name>
              <description>Loopback Mode
When this bit is set, the MAC operates in the loopback mode at MII. The MII Rx clock input (eth_mii_rx_clk) is required for the loopback to work properly. This is because the Tx clock is not internally looped back.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>DM</name>
              <description>Duplex Mode
When this bit is set, the MAC operates in the full-duplex mode in which it can transmit and receive simultaneously.</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>FES</name>
              <description>MAC Speed
This bit selects the speed in the 10/100 Mbps mode:</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>JE</name>
              <description>Jumbo Packet Enable
When this bit is set, the MAC allows jumbo packets of 9,018 bytes (9,022 bytes for VLAN tagged packets) without reporting a giant packet error in the Rx packet status.
For more information about how the setting of this bit and the JE bit impact the Giant packet status, see .</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>JD</name>
              <description>Jabber Disable
When this bit is set, the MAC disables the jabber timer on the transmitter. The MAC can transfer packets of up to 16,383 bytes.
When this bit is reset, if the application sends more than 2,048 bytes of data (10,240 if JE is set high) during transmission, the MAC does not send rest of the bytes in that packet.</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>WD</name>
              <description>Watchdog Disable
When this bit is set, the MAC disables the watchdog timer on the receiver. The MAC can receive packets of up to 16,383 bytes.
When this bit is reset, the MAC does not allow more than 2,048 bytes (10,240 if JE is set high) of the packet being received. The MAC cuts off any bytes received after 2,048 bytes.</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ACS</name>
              <description>Automatic Pad or CRC Stripping
When this bit is set, the MAC strips the Pad or FCS field on the incoming packets only if the value of the length field is less than 1,536 bytes. All received packets with length field greater than or equal to 1,536 bytes are passed to the application without stripping the Pad or FCS field.
When this bit is reset, the MAC passes all incoming packets to the application, without any modification.
Note: For information about how the settings of CST bit and this bit impact the packet length, see .</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CST</name>
              <description>CRC stripping for Type packets
When this bit is set, the last four bytes (FCS) of all packets of Ether type (type field greater than 1,536) are stripped and dropped before forwarding the packet to the application. This function is not valid when the IP Checksum Engine (Type 1) is enabled in the MAC receiver. This function is valid when Type 2 Checksum Offload Engine is enabled.
Note: For information about how the settings of the ACS bit and this bit impact the packet length, see .</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>S2KP</name>
              <description>IEEE 802.3as Support for 2K Packets
When this bit is set, the MAC considers all packets with up to 2,000 bytes length as normal packets. When the JE bit is not set, the MAC considers all received packets of size more than 2K bytes as Giant packets.
When this bit is reset and the JE bit is not set, the MAC considers all received packets of size more than 1,518 bytes (1,522 bytes for tagged) as giant packets. For more information about how the setting of this bit and the JE bit impact the Giant packet status, see Packet Status based on S2KP and JE Bits.
Note: When the JE bit is set, setting this bit has no effect on the giant packet status.</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>GPSLCE</name>
              <description>Giant Packet Size Limit Control Enable
When this bit is set, the MAC considers the value in GPSL field in ETH_MACECR register to declare a received packet as Giant packet. This field must be programmed to more than 1,518 bytes. Otherwise, the MAC considers 1,518 bytes as giant packet limit.
When this bit is reset, the MAC considers a received packet as Giant packet when its size is greater than 1,518 bytes (1522 bytes for tagged packet).
The watchdog timeout limit, Jumbo Packet Enable and 2K Packet Enable have higher precedence over this bit, that is the MAC considers a received packet as Giant packet when its size is greater than 9,018 bytes (9,022 bytes for tagged packet) with Jumbo Packet Enabled and greater than 2,000 bytes with 2K Packet Enabled. The watchdog timeout, if enabled, terminates the received packet when watchdog limit is reached. Therefore, the programmed giant packet limit should be less than the watchdog limit to get the giant packet status.</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>IPG</name>
              <description>Inter-Packet Gap
These bits control the minimum IPG between packets during transmission.
...
This range of minimum IPG is valid in full-duplex mode.
In the half-duplex mode, the minimum IPG can be configured only for 64-bit times (IPG = 100). Lower values are not considered.
When a JAM pattern is being transmitted because of backpressure activation, the MAC does not consider the minimum IPG.
The above function (IPG less than 96 bit times) is valid only when EIPGEN bit in ETH_MACECR register is reset. When EIPGEN is set, then the minimum IPG (greater than 96 bit times) is controlled as per the description given in EIPG field in ETH_MACECR register.</description>
              <bitOffset>24</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>IPC</name>
              <description>Checksum Offload
When set, this bit enables the IPv4 header checksum checking and IPv4 or IPv6 TCP, UDP, or ICMP payload checksum checking. When this bit is reset, the COE function in the receiver is disabled.
The Layer 3 and Layer 4 Packet Filter feature automatically selects the IPC Full Checksum Offload Engine on the Receive side. When this feature is enabled, you must set the IPC bit.</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>SARC</name>
              <description>Source Address Insertion or Replacement Control
This field controls the source address insertion or replacement for all transmitted packets. Bit 30 specifies which MAC Address register (0 or 1) is used for source address insertion or replacement based on the values of Bits[29:28]:
Others: Reserved, must not be used.
Note: Changes to this field take effect only on the start of a packet. If you write to this register field when a packet is being transmitted, only the subsequent packet can use the updated value, that is, the current packet does not use the updated value.</description>
              <bitOffset>28</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ARPEN</name>
              <description>ARP Offload Enable
When this bit is set, the MAC can recognize an incoming ARP request packet and schedules the ARP packet for transmission. It will forward the ARP packet to the application and also indicate the events in the RxStatus.
When this bit is reset, the MAC receiver does not recognize any ARP packet and indicates them as Type frame in the RxStatus.</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACECR</name>
          <displayName>MACECR</displayName>
          <description>Extended operating mode configuration register</description>
          <addressOffset>0x4</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>GPSL</name>
              <description>Giant Packet Size Limit
If the received packet size is greater than the value programmed in this field in units of bytes, the MAC declares the received packet as Giant packet. The value programmed in this field must be greater than or equal to 1,518 bytes. Any other programmed value is considered as 1,518 bytes.
For VLAN tagged packets, the MAC adds 4 bytes to the programmed value. For double VLAN tagged packets, the MAC adds 8 bytes to the programmed value. The value in this field is applicable when the GPSLCE bit is set in ETH_MACCR register.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>14</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>DCRCC</name>
              <description>Disable CRC Checking for Received Packets
When this bit is set, the MAC receiver does not check the CRC field in the received packets. When this bit is reset, the MAC receiver always checks the CRC field in the received packets.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>SPEN</name>
              <description>Slow Protocol Detection Enable
When this bit is set, MAC processes the Slow Protocol packets (Ether Type 0x8809) and provides the Rx status. The MAC discards the Slow Protocol packets with invalid sub-types.
When this bit is reset, the MAC forwards all error-free Slow Protocol packets to the application. The MAC considers such packets as normal Type packets.</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>USP</name>
              <description>Unicast Slow Protocol Packet Detect
When this bit is set, the MAC detects the Slow Protocol packets with unicast address of the station specified in the  and MAC Address 0 low register . The MAC also detects the Slow Protocol packets with the Slow Protocols multicast address (01-80-C2-00-00-02).
When this bit is reset, the MAC detects only Slow Protocol packets with the Slow Protocol multicast address specified in the IEEE 802.3-2008, Section 5.</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>EIPGEN</name>
              <description>Extended Inter-Packet Gap Enable
When this bit is set, the MAC interprets EIPG field and IPG field in configuration register (ETH_MACCR) together as minimum IPG greater than 96 bit times in steps of 8 bit times.
When this bit is reset, the MAC ignores EIPG field and interprets IPG field in configuration register (ETH_MACCR) as minimum IPG less than or equal to 96 bit times in steps of 8 bit times.
Note: The extended Inter-Packet Gap feature must be enabled when operating in Full-Duplex mode only. There may be undesirable effects on back-pressure function and frame transmission if it is enabled in Half-Duplex mode.</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>EIPG</name>
              <description>Extended Inter-Packet Gap
The value in this field is applicable when the EIPGEN bit is set. This field (as Most Significant bits) along with IPG field in , gives the minimum IPG greater than 96 bit times in steps of 8 bit times. For example:
EIPG =  0 and IPG = 0 give 104 bit times
EIPG =  0 and IPG = 1 give 112 bit times
EIPG =  0 and IPG = 2 give 120 bit times
..
EIPG = 7 and IPG = 31 give 2144 bit times</description>
              <bitOffset>25</bitOffset>
              <bitWidth>5</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACPFR</name>
          <displayName>MACPFR</displayName>
          <description>Packet filtering control register</description>
          <addressOffset>0x8</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>PR</name>
              <description>Promiscuous Mode
When this bit is set, the Address Filtering module passes all incoming packets irrespective of the destination or source address. The SA or DA Filter Fails status bits of the Rx Status Word are always cleared when PR is set.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>HUC</name>
              <description>Hash Unicast
When this bit is set, the MAC performs the destination address filtering of unicast packets according to the Hash table.
When this bit is reset, the MAC performs a perfect destination address filtering for unicast packets, that is, it compares the DA field with the values programmed in DA registers.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>HMC</name>
              <description>Hash Multicast
When this bit is set, the MAC performs the destination address filtering of received multicast packets according to the Hash table.
When this bit is reset, the MAC performs the perfect destination address filtering for multicast packets, that is, it compares the DA field with the values programmed in DA registers.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>DAIF</name>
              <description>DA Inverse Filtering
When this bit is set, the Address Check block operates in inverse filtering mode for the DA address comparison for both unicast and multicast packets. When this bit is reset, normal filtering of packets is performed.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>PM</name>
              <description>Pass All Multicast
When this bit is set, it indicates that all received packets with a multicast destination address (first bit in the destination address field is '1') are passed. When this bit is reset, filtering of multicast packet depends on HMC bit.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>DBF</name>
              <description>Disable Broadcast Packets
When this bit is set, the AFM module blocks all incoming broadcast packets. In addition, it overrides all other filter settings.
When this bit is reset, the AFM module passes all received broadcast packets.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>PCF</name>
              <description>Pass Control Packets
These bits control the forwarding of all control packets (including unicast and multicast Pause packets).</description>
              <bitOffset>6</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>SAIF</name>
              <description>SA Inverse Filtering
When this bit is set, the Address Check block operates in the inverse filtering mode for SA address comparison. If the SA of a packet matches the values programmed in the SA registers, it is marked as failing the SA Address filter.
When this bit is reset, if the SA of a packet does not match the values programmed in the SA registers, it is marked as failing the SA Address filter.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>SAF</name>
              <description>Source Address Filter Enable
When this bit is set, the MAC compares the SA field of the received packets with the values programmed in the enabled SA registers. If the comparison fails, the MAC drops the packet.
When this bit is reset, the MAC forwards the received packet to the application with updated SAF bit of the Rx Status depending on the SA address comparison.
Note: According to the IEEE specification, Bit 47 of the SA is reserved. However, the MAC compares all 48 bits. The software driver should take this into consideration while programming the MAC address registers for SA.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>HPF</name>
              <description>Hash or Perfect Filter
When this bit is set, the address filter passes a packet if it matches either the perfect filtering or Hash filtering as set by the HMC or HUC bit.
When this bit is reset and the HUC or HMC bit is set, the packet is passed only if it matches the Hash filter.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>VTFE</name>
              <description>VLAN Tag Filter Enable
When this bit is set, the MAC drops the VLAN tagged packets that do not match the VLAN Tag. When this bit is reset, the MAC forwards all packets irrespective of the match status of the VLAN Tag.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>IPFE</name>
              <description>Layer 3 and Layer 4 Filter Enable
When this bit is set, the MAC drops packets that do not match the enabled Layer 3 and Layer 4 filters. If Layer 3 or Layer 4 filters are not enabled for matching, this bit does not have any effect.
When this bit is reset, the MAC forwards all packets irrespective of the match status of the Layer 3 and Layer 4 fields.</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>DNTU</name>
              <description>Drop Non-TCP/UDP over IP Packets
When this bit is set, the MAC drops the non-TCP or UDP over IP packets. The MAC forward only those packets that are processed by the Layer 4 filter. When this bit is reset, the MAC forwards all non-TCP or UDP over IP packets.</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>RA</name>
              <description>Receive All
When this bit is set, the MAC Receiver module passes all received packets to the application, irrespective of whether they pass the address filter or not. The result of the SA or DA filtering is updated (pass or fail) in the corresponding bit in the Rx Status Word.
When this bit is reset, the Receiver module passes only those packets to the application that pass the SA or DA address filter.</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACWTR</name>
          <displayName>MACWTR</displayName>
          <description>Watchdog timeout register</description>
          <addressOffset>0xC</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>WTO</name>
              <description>Watchdog Timeout
When the PWE bit is set and the WD bit of the (ETH_MACCR) register is reset, this field is used as watchdog timeout for a received packet. If the length of a received packet exceeds the value of this field, such packet is terminated and declared as an error packet.
Encoding is as follows:
..
Note: When the PWE bit is set, the value in this field should be more than 1,522 (0x05F2). Otherwise, the IEEE 802.3-specified valid tagged packets are declared as error packets and then dropped.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>PWE</name>
              <description>Programmable Watchdog Enable
When this bit is set and the WD bit of the (ETH_MACCR) register is reset, the WTO field is used as watchdog timeout for a received packet. When this bit is cleared, the watchdog timeout for a received packet is controlled by setting of WD and JE bits in  register.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACHT0R</name>
          <displayName>MACHT0R</displayName>
          <description>Hash Table 0 register</description>
          <addressOffset>0x10</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>HT31T0</name>
              <description>MAC Hash Table First 32 Bits
This field contains the first 32 Bits [31:0] of the Hash table.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACHT1R</name>
          <displayName>MACHT1R</displayName>
          <description>Hash Table 1 register</description>
          <addressOffset>0x14</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>HT63T32</name>
              <description>MAC Hash Table Second 32 Bits
This field contains the second 32 Bits [63:32] of the Hash table.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACVTR</name>
          <displayName>MACVTR</displayName>
          <description>VLAN tag register</description>
          <addressOffset>0x50</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>VL</name>
              <description>VLAN Tag Identifier for Receive Packets
This field contains the 802.1Q VLAN tag to identify the VLAN packets. This VLAN tag identifier is compared to the 15th and 16th bytes of the packets being received for VLAN packets. The following list describes the bits of this field:
Bits[15:13]: User Priority
Bit 12: Canonical Format Indicator (CFI) or Drop Eligible Indicator (DEI)
Bits[11:0]: VLAN Identifier (VID) field of VLAN tag
When the ETV bit is set, only the VID is used for comparison.
If this field ([11:0] if ETV is set) is all zeros, the MAC does not check the 15th and 16th bytes for VLAN tag comparison and declares all packets with Type field value of 0x8100 or 0x88a8 as VLAN packets.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ETV</name>
              <description>Enable 12-Bit VLAN Tag Comparison
When this bit is set, a 12-bit VLAN identifier is used for comparing and filtering instead of the complete 16-bit VLAN tag. Bits[11:0] of VLAN tag are compared with the corresponding field in the received VLAN-tagged packet. Similarly, when enabled, only 12 bits of the VLAN tag in the received packet are used for Hash-based VLAN filtering.
When this bit is reset, all 16 bits of the 15th and 16th bytes of the received VLAN packet are used for comparison and VLAN Hash filtering.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>VTIM</name>
              <description>VLAN Tag Inverse Match Enable
When this bit is set, this bit enables the VLAN Tag inverse matching. The packets without matching VLAN Tag are marked as matched. When reset, this bit enables the VLAN Tag perfect matching. The packets with matched VLAN Tag are marked as matched.</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ESVL</name>
              <description>Enable S-VLAN
When this bit is set, the MAC transmitter and receiver consider the S-VLAN packets (Type = 0x88A8) as valid VLAN tagged packets.</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ERSVLM</name>
              <description>Enable Receive S-VLAN Match
When this bit is set, the MAC receiver enables filtering or matching for S-VLAN (Type = 0x88A8) packets. When this bit is reset, the MAC receiver enables filtering or matching for C-VLAN (Type = 0x8100) packets.
The ERIVLT bit determines the VLAN tag position considered for filtering or matching.</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>DOVLTC</name>
              <description>Disable VLAN Type Check
When this bit is set, the MAC does not check whether the VLAN Tag specified by the ERIVLT bit is of type S-VLAN or C-VLAN.
When this bit is reset, the MAC filters or matches the VLAN Tag specified by the ERIVLT bit only when VLAN Tag type is similar to the one specified by the ERSVLM bit.</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>EVLS</name>
              <description>Enable VLAN Tag Stripping on Receive
This field indicates the stripping operation on the outer VLAN Tag in received packet:</description>
              <bitOffset>21</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>EVLRXS</name>
              <description>Enable VLAN Tag in Rx status
When this bit is set, MAC provides the outer VLAN Tag in the Rx status. When this bit is reset, the MAC does not provide the outer VLAN Tag in Rx status.</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>VTHM</name>
              <description>VLAN Tag Hash Table Match Enable
When this bit is set, the most significant four bits of CRC of VLAN Tag are used to index the content of the ETH_MACVLANHTR register. A value of 1 in the VLAN Hash Table register, corresponding to the index, indicates that the packet matched the VLAN Hash table.
When the ETV bit is set, the CRC of the 12-bit VLAN Identifier (VID) is used for comparison. When the ETV bit is reset, the CRC of the 16-bit VLAN tag is used for comparison.
When this bit is reset, the VLAN Hash Match operation is not performed.</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>EDVLP</name>
              <description>Enable Double VLAN Processing
When this bit is set, the MAC enables processing of up to two VLAN Tags on Tx and Rx (if present). When this bit is reset, the MAC enables processing of up to one VLAN Tag on Tx and Rx (if present).</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ERIVLT</name>
              <description>Enable Inner VLAN Tag
When this bit and the EDVLP field are set, the MAC receiver enables operation on the inner VLAN Tag (if present). When this bit is reset, the MAC receiver enables operation on the outer VLAN Tag (if present). The ERSVLM bit determines which VLAN type is enabled for filtering or matching.The ERSVLM bit and DOVLTC bit determines which VLAN type is enabled for filtering.</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>EIVLS</name>
              <description>Enable Inner VLAN Tag Stripping on Receive
This field indicates the stripping operation on inner VLAN Tag in received packet:</description>
              <bitOffset>28</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>EIVLRXS</name>
              <description>Enable Inner VLAN Tag in Rx Status
When this bit is set, the MAC provides the inner VLAN Tag in the Rx status. When this bit is reset, the MAC does not provide the inner VLAN Tag in Rx status.</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACVHTR</name>
          <displayName>MACVHTR</displayName>
          <description>VLAN Hash table register</description>
          <addressOffset>0x58</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>VLHT</name>
              <description>VLAN Hash Table
This field contains the 16-bit VLAN Hash Table.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACVIR</name>
          <displayName>MACVIR</displayName>
          <description>VLAN inclusion register</description>
          <addressOffset>0x60</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>VLT</name>
              <description>VLAN Tag for Transmit Packets
This field contains the value of the VLAN tag to be inserted or replaced. The value must only be changed when the transmit lines are inactive or during the initialization phase.
The following list describes the bits of this field:
Bits[15:13]: User Priority
Bit 12: Canonical Format Indicator (CFI) or Drop Eligible Indicator (DEI)
Bits[11:0]: VLAN Identifier (VID) field of VLAN tag</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>VLC</name>
              <description>VLAN Tag Control in Transmit Packets
Note: Changes to this field take effect only on the start of a packet. If you write this register field when a packet is being transmitted, only the subsequent packet can use the updated value, that is, the current packet does not use the updated value.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>VLP</name>
              <description>VLAN Priority Control
When this bit is set, the control bits[17:16] are used for VLAN deletion, insertion, or replacement. When this bit is reset, bits[17:16] are ignored.</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CSVL</name>
              <description>C-VLAN or S-VLAN
When this bit is set, S-VLAN type (0x88A8) is inserted or replaced in the 13th and 14th bytes of transmitted packets. When this bit is reset, C-VLAN type (0x8100) is inserted or replaced in the 13th and 14th bytes of transmitted packets.</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>VLTI</name>
              <description>VLAN Tag Input
When this bit is set, it indicates that the VLAN tag to be inserted or replaced in Tx packet should be taken from the Tx descriptor.</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CBTI</name>
              <description>Channel based tag insertion
When this bit is set, outer VLAN tag is inserted for every packets transmitted by the MAC. The tag value is taken from the queue/channel specific VLAN tag register. This will override VLTI, VLP, VLC and VLT fields of this register
When this bit is set, a write operation to byte 3 of this register initiates the read/write access to the indirect register.
When reset outer VLAN operation is based on the setting of VLTI, VLP, VLC and VLT fields of this register</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ADDR</name>
              <description>Address
This field selects one of the queue/channel specific VLAN Inclusion register for read/write access
This does not have any effect when CBTI is reset</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>RDWR</name>
              <description>Read write control
This bit controls the read or write operation for indirectly accessing the queue/channel specific VLAN Inclusion register.
When set indicates write operation and when reset indicates read operation
This has no effect when CBTI is reset</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>BUSY</name>
              <description>Busy
This bit indicates the status of the read/write operation of indirect access to the queue/channel specific VLAN inclusion register.
For write operation write to a register is complete when this bit is reset. For read operation the read data is valid when the bit is reset.
No further writes are allowed to this register when this bit is set. This does not have any effect when CBTI is reset</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACVIRALTERNATE</name>
          <displayName>MACVIRALTERNATE</displayName>
          <description>VLAN inclusion register</description>
          <alternateRegister>MACVIR</alternateRegister>
          <addressOffset>0x60</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>VLT</name>
              <description>VLAN Tag for Transmit Packets
This field contains the value of the VLAN tag to be inserted or replaced. The value must only be changed when the transmit lines are inactive or during the initialization phase.
The following list describes the bits of this field:
Bits[15:13]: User Priority
Bit 12: Canonical Format Indicator (CFI) or Drop Eligible Indicator (DEI)
Bits[11:0]: VLAN Identifier (VID) field of VLAN tag</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CSVL</name>
              <description>C-VLAN or S-VLAN
When this bit is set, S-VLAN type (0x88A8) is inserted or replaced in the 13th and 14th bytes of transmitted packets. When this bit is reset, C-VLAN type (0x8100) is inserted or replaced in the 13th and 14th bytes of transmitted packets.</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACIVIR</name>
          <displayName>MACIVIR</displayName>
          <description>Inner VLAN inclusion register</description>
          <addressOffset>0x64</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>VLT</name>
              <description>VLAN Tag for Transmit Packets
This field contains the value of the VLAN tag to be inserted or replaced. The value must only be changed when the transmit lines are inactive or during the initialization phase.
The following list describes the bits of this field:
Bits[15:13]: User Priority
Bit 12: Canonical Format Indicator (CFI) or Drop Eligible Indicator (DEI)
Bits[11:0]: VLAN Identifier (VID) field of VLAN tag</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>VLC</name>
              <description>VLAN Tag Control in Transmit Packets
The MAC removes the VLAN type (bytes 17 and 18) and VLAN tag (bytes 19 and 20) of all transmitted packets with VLAN tags.
The MAC inserts VLT in bytes 19 and 20 of the packet after inserting the Type value (0x8100 or 0x88a8) in bytes 17 and 18. This operation is performed on all transmitted packets, irrespective of whether they already have a VLAN tag.
The MAC replaces VLT in bytes 19 and 20 of all VLAN-type transmitted packets (Bytes 17 and 18 are 0x8100 or 0x88a8).
Note: Changes to this field take effect only on the start of a packet. If you write to this register field when a packet is being transmitted, only the subsequent packet can use the updated value, that is, the current packet does not use the updated value.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>VLP</name>
              <description>VLAN Priority Control
When this bit is set, the VLC field is used for VLAN deletion, insertion, or replacement. When this bit is reset, the VLC field is ignored.</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CSVL</name>
              <description>C-VLAN or S-VLAN
When this bit is set, S-VLAN type (0x88A8) is inserted or replaced in the 13th and 14th bytes of transmitted packets. When this bit is reset, C-VLAN type (0x8100) is inserted or replaced in the 13th and 14th bytes of transmitted packets.</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>VLTI</name>
              <description>VLAN Tag Input
When this bit is set, it indicates that the VLAN tag to be inserted or replaced in Tx packet should be taken from the Tx descriptor</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACQTXFCR</name>
          <displayName>MACQTXFCR</displayName>
          <description>Tx Queue  flow control register</description>
          <addressOffset>0x70</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>FCB_BPA</name>
              <description>Flow Control Busy or Backpressure Activate
This bit initiates a Pause packet in the full-duplex mode and activates the backpressure function in the half-duplex mode if the TFE bit is set.
Full-Duplex Mode: this bit should be read as 0 before writing to this register. To initiate a Pause packet, the application must set this bit to 1. During Control packet transfer, this bit continues to be set to indicate that a packet transmission is in progress. When Pause packet transmission is complete, the MAC resets this bit to 0. You should not write to this register until this bit is cleared.
Half-Duplex Mode: When this bit is set (and TFE bit is set) in the half-duplex mode, the MAC asserts the backpressure. During backpressure, when the MAC receives a new packet, the transmitter starts sending a JAM pattern resulting in a collision. When the MAC is configured for the full-duplex mode, the BPA is automatically disabled.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TFE</name>
              <description>Transmit Flow Control Enable
Full-Duplex Mode: when this bit is set, the MAC enables the flow control operation to Tx Pause packets. When this bit is reset, the flow control operation in the MAC is disabled, and the MAC does not transmit any Pause packets.
Half-Duplex Mode: when this bit is set, the MAC enables the backpressure operation. When this bit is reset, the backpressure feature is disabled.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>PLT</name>
              <description>Pause Low Threshold
This field configures the threshold of the Pause timer at which the input flow is checked for automatic retransmission of the Pause packet.
The threshold values should be always less than the Pause Time configured in Bits[31:16]. For example, if PT = 100H (256 slot times), and PLT = 001, a second Pause packet is automatically transmitted at 228 (256-28) slot times after the first Pause packet is transmitted.
The following list provides the threshold values for different values:
The slot time is defined as the time taken to transmit 512 bits (64 bytes) on the MII interface.
This (approximate) computation is based on the packet size (64, 1518, 2000, 9018, 16384, or 32768) + 2 Pause Packet Size + IPG in Slot Times.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>DZPQ</name>
              <description>Disable Zero-Quanta Pause
When this bit is set, it disables the automatic generation of the zero-quanta Pause packets.
When this bit is reset, normal operation with automatic zero-quanta Pause packet generation is enabled.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>PT</name>
              <description>Pause Time
This field holds the value to be used in the Pause Time field in the Tx control packet. I</description>
              <bitOffset>16</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACRXFCR</name>
          <displayName>MACRXFCR</displayName>
          <description>Rx flow control register</description>
          <addressOffset>0x90</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>RFE</name>
              <description>Receive Flow Control Enable
When this bit is set and the MAC is operating in full-duplex mode, the MAC decodes the received Pause packet and disables its transmitter for a specified (Pause) time. When this bit is reset or the MAC is operating in half-duplex mode, the decode function of the Pause packet is disabled.
When PFC is enabled, flow control is enabled for PFC packets. The MAC decodes the received PFC packet and disables the Transmit queue, with matching priorities, for a duration of received Pause time.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>UP</name>
              <description>Unicast Pause Packet Detect
A pause packet is processed when it has the unique multicast address specified in the IEEE 802.3. When this bit is set, the MAC can also detect Pause packets with unicast address of the station. This unicast address should be as specified in (ETH_MACA0HR) and MAC Address 0 low register (ETH_MACAxLR).
When this bit is reset, the MAC only detects Pause packets with unique multicast address.
Note: The MAC does not process a Pause packet if the multicast address is different from the unique multicast address. This is also applicable to the received PFC packet when the Priority Flow Control (PFC) is enabled. The unique multicast address (0x01_80_C2_00_00_01) is as specified in IEEE 802.1 Qbb-2011.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACISR</name>
          <displayName>MACISR</displayName>
          <description>Interrupt status register</description>
          <addressOffset>0xB0</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>PHYIS</name>
              <description>PHY Interrupt
This bit is set when rising edge is detected on the ETH_PHY_INTN input. This bit is cleared when this register is read.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>PMTIS</name>
              <description>PMT Interrupt Status
This bit is set when a Magic packet or Wake-on-LAN packet is received in the power-down mode (RWKPRCVD and MGKPRCVD bits in ETH_MACPCSR register). This bit is cleared when Bits[6:5] are cleared because of a Read operation to the (ETH_MACPCSR).</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>LPIIS</name>
              <description>LPI Interrupt Status
This bit is set for any LPI state entry or exit in the MAC Transmitter or Receiver. This bit is cleared when the TLPIEN bit of  is read.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>MMCIS</name>
              <description>MMC Interrupt Status
This bit is set high when MMCTXIS or MMCRXIS is set high. This bit is cleared only when all these bits are low.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>MMCRXIS</name>
              <description>MMC Receive Interrupt Status
This bit is set high when an interrupt is generated in the (ETH_MMC_RX_INTERRUPT). This bit is cleared when all bits in this interrupt register are cleared.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>MMCTXIS</name>
              <description>MMC Transmit Interrupt Status
This bit is set high when an interrupt is generated in the (ETH_MMC_TX_INTERRUPT). This bit is cleared when all bits in this interrupt register are cleared.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>TSIS</name>
              <description>Timestamp Interrupt Status
If the Timestamp feature is enabled, this bit is set when any of the following conditions is true:
The system time value is equal to or exceeds the value specified in the Target Time High and Low registers.
There is an overflow in the Seconds register.
The Target Time Error occurred, that is, programmed target time already elapsed.
If the Auxiliary Snapshot feature is enabled, this bit is set when the auxiliary snapshot trigger is asserted.
When drop transmit status is enabled in MTL, this bit is set when the captured transmit timestamp is updated in the (ETH_MACTXTSSNR) and  registers.
When PTP offload feature is enabled, this bit is set when the captured transmit timestamp is updated in the  and timestamp status seconds register (ETH_MACTXTSSSR) registers, for PTO generated Delay Request and Pdelay request packets.
This bit is cleared when the corresponding interrupt source bit is read (or corresponding interrupt source bit is written to 1 when RCWE bit of (ETH_MACCSRSWCR) is set) in the .</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <readAction>clear</readAction>
            </field>
            <field>
              <name>TXSTSIS</name>
              <description>Transmit Status Interrupt
This bit indicates the status of transmitted packets. This bit is set when any of the following bits is set in the :
Excessive Collision (EXCOL)
Late Collision (LCOL)
Excessive Deferral (EXDEF)
Loss of Carrier (LCARR)
No Carrier (NCARR)
Jabber Timeout (TJT)
This bit is cleared when the corresponding interrupt source bit is read (or corresponding interrupt source bit is written to 1 when RCWE bit of (ETH_MACCSRSWCR) is set) in the ETH_MACISR register.</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <readAction>clear</readAction>
            </field>
            <field>
              <name>RXSTSIS</name>
              <description>Receive Status Interrupt
This bit indicates the status of received packets. This bit is set when the RWT bit is set in the . This bit is cleared when the corresponding interrupt source bit is read (or corresponding interrupt source bit is written to 1 when RCWE bit of  is set) in the ETH_MACISR register.</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <readAction>clear</readAction>
            </field>
          </fields>
        </register>
        <register>
          <name>MACIER</name>
          <displayName>MACIER</displayName>
          <description>Interrupt enable register</description>
          <addressOffset>0xB4</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>PHYIE</name>
              <description>PHY Interrupt Enable
When this bit is set, it enables the assertion of the interrupt signal because of the setting of PHYIS bit in .</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>PMTIE</name>
              <description>PMT Interrupt Enable
When this bit is set, it enables the assertion of the interrupt signal because of the setting of PMTIS bit in .</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>LPIIE</name>
              <description>LPI Interrupt Enable
When this bit is set, it enables the assertion of the interrupt signal because of the setting of LPIIS bit in .</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TSIE</name>
              <description>Timestamp Interrupt Enable
When this bit is set, it enables the assertion of the interrupt signal because of the setting of TSIS bit in .</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TXSTSIE</name>
              <description>Transmit Status Interrupt Enable
When this bit is set, it enables the assertion of the interrupt signal because of the setting of TXSTSIS bit in the .</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>RXSTSIE</name>
              <description>Receive Status Interrupt Enable
When this bit is set, it enables the assertion of the interrupt signal because of the setting of RXSTSIS bit in the .</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACRXTXSR</name>
          <displayName>MACRXTXSR</displayName>
          <description>Rx Tx status register</description>
          <addressOffset>0xB8</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>TJT</name>
              <description>Transmit Jabber Timeout
This bit indicates that the Transmit Jabber Timer expired which happens when the packet size exceeds 2,048 bytes (10,240 bytes when the Jumbo packet is enabled) and JD bit is reset in the . This bit is set when the packet size exceeds 16,383 bytes and the JD bit is set in the register (ETH_MACCR).
Cleared on read (or write of 1 when RCWE bit in (ETH_MACCSRSWCR) is set).</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <readAction>clear</readAction>
            </field>
            <field>
              <name>NCARR</name>
              <description>No Carrier
When the DTXSTS bit is set in the , this bit indicates that the carrier signal from the PHY is not present at the end of preamble transmission.
Cleared on read (or write of 1 when RCWE bit in (ETH_MACCSRSWCR) is set).</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <readAction>clear</readAction>
            </field>
            <field>
              <name>LCARR</name>
              <description>Loss of Carrier
When the DTXSTS bit is set in the , this bit indicates that the loss of carrier occurred during packet transmission, that is, the ETH_CRS signal was inactive for one or more transmission clock periods during packet transmission. This bit is valid only for packets transmitted without collision.
Cleared on read (or write of 1 when RCWE bit in (ETH_MACCSRSWCR) is set).</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <readAction>clear</readAction>
            </field>
            <field>
              <name>EXDEF</name>
              <description>Excessive Deferral
When the DTXSTS bit is set in the  and the DC bit is set in the , this bit indicates that the transmission ended because of excessive deferral of over 24,288 bit times (155,680 when Jumbo packet is enabled).
Cleared on read (or write of 1 when RCWE bit in (ETH_MACCSRSWCR) is set).</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <readAction>clear</readAction>
            </field>
            <field>
              <name>LCOL</name>
              <description>Late Collision
When the DTXSTS bit is set in the , this bit indicates that the packet transmission aborted because a collision occurred after the collision window (64 bytes including Preamble in MII mode.
This bit is not valid if the Underflow error occurs.
Cleared on read (or write of 1 when RCWE bit in (ETH_MACCSRSWCR) is set).</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <readAction>clear</readAction>
            </field>
            <field>
              <name>EXCOL</name>
              <description>Excessive Collisions
When the DTXSTS bit is set in the , this bit indicates that the transmission aborted after 16 successive collisions while attempting to transmit the current packet. If the DR bit is set in the (ETH_MACCR), this bit is set after the first collision and the packet transmission is aborted.
Cleared on read (or write of 1 when RCWE bit in (ETH_MACCSRSWCR) is set).</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <readAction>clear</readAction>
            </field>
            <field>
              <name>RWT</name>
              <description>Receive Watchdog Timeout
This bit is set when a packet with length greater than 2,048 bytes is received (10, 240 bytes when Jumbo Packet mode is enabled) and the WD bit is reset in the configuration register (ETH_MACCR). This bit is set when a packet with length greater than 16,383 bytes is received and the WD bit is set in the (ETH_MACCR).
Cleared on read (or write of 1 when RCWE bit in (ETH_MACCSRSWCR) is set).</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <readAction>clear</readAction>
            </field>
          </fields>
        </register>
        <register>
          <name>MACPCSR</name>
          <displayName>MACPCSR</displayName>
          <addressOffset>0xC0</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>PWRDWN</name>
              <description>Power Down
When this bit is set, the MAC receiver drops all received packets until it receives the expected magic packet or remote wakeup packet. This bit is then self-cleared and the power-down mode is disabled. The software can clear this bit before the expected magic packet or remote wakeup packet is received. The packets received by the MAC after this bit is cleared are forwarded to the application. This bit must only be set when the Magic Packet Enable, Global Unicast, or Remote wakeup Packet Enable bit is set high.
Note: You can gate-off the CSR clock during the power-down mode. However, when the CSR clock is gated-off, you cannot perform any read or write operations on this register. Therefore, the Software cannot clear this bit.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>MGKPKTEN</name>
              <description>Magic Packet Enable
When this bit is set, a power management event is generated when the MAC receives a magic packet.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>RWKPKTEN</name>
              <description>Remote wakeup Packet Enable
When this bit is set, a power management event is generated when the MAC receives a remote wakeup packet.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>MGKPRCVD</name>
              <description>Magic Packet Received
When this bit is set, it indicates that the power management event is generated because of the reception of a magic packet. This bit is cleared when this register is read (or write of 1 when RCWE bit in  is set).</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <readAction>clear</readAction>
            </field>
            <field>
              <name>RWKPRCVD</name>
              <description>Remote wakeup Packet Received
When this bit is set, it indicates that the power management event is generated because of the reception of a remote wakeup packet. This bit is cleared when this register is read.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>GLBLUCAST</name>
              <description>Global Unicast
When this bit set, any unicast packet filtered by the MAC (DAF) address recognition is detected as a remote wakeup packet.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>RWKPFE</name>
              <description>Remote wakeup Packet Forwarding Enable
When this bit is set along with RWKPKTEN, the MAC receiver drops all received frames until it receives the expected wakeup frame. All frames after that event including the received wakeup frame are forwarded to application. This bit is then self-cleared on receiving the wakeup packet.
The application can also clear this bit before the expected wakeup frame is received. In such cases, the MAC reverts to the default behavior where packets received are forwarded to the application. This bit must only be set when RWKPKTEN is set high and PWRDWN is set low. The setting of this bit has no effect when PWRDWN is set high.
Note: If Magic Packet Enable and wakeup Frame Enable are both set along with setting of this bit and Magic Packet is received prior to wakeup frame, this bit is self-cleared on receiving Magic Packet, the received Magic packet is dropped, and all frames after received Magic Packet are forwarded to application.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>RWKPTR</name>
              <description>Remote wakeup FIFO Pointer
This field gives the current value (0 to 7) of the Remote wakeup Packet Filter register pointer. When the value of this pointer is equal to 7, the contents of the Remote wakeup Packet Filter Register are transferred to the eth_mii_rx_clk domain when a Write occurs to that register.</description>
              <bitOffset>24</bitOffset>
              <bitWidth>5</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>RWKFILTRST</name>
              <description>Remote wakeup Packet Filter Register Pointer Reset
When this bit is set, the remote wakeup packet filter register pointer is reset to 0. It is automatically cleared after 1 clock cycle.</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACRWKPFR</name>
          <displayName>MACRWKPFR</displayName>
          <addressOffset>0xC4</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>MACRWKPFR</name>
              <description>Remote wakeup packet filter
Refer to ,  and  for details on register content and programming sequence.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACLCSR</name>
          <displayName>MACLCSR</displayName>
          <description>LPI control and status register</description>
          <addressOffset>0xD0</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>TLPIEN</name>
              <description>Transmit LPI Entry
When this bit is set, it indicates that the MAC Transmitter has entered the LPI state because of the setting of the LPIEN bit. This bit is cleared by a read into this register (or write of 1 when RCWE bit in  is set).</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>TLPIEX</name>
              <description>Transmit LPI Exit
When this bit is set, it indicates that the MAC transmitter exited the LPI state after the application cleared the LPIEN bit and the LPI TW Timer has expired. This bit is cleared by a read into this register (or write of 1 when RCWE bit in (ETH_MACCSRSWCR) is set).</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>RLPIEN</name>
              <description>Receive LPI Entry
When this bit is set, it indicates that the MAC Receiver has received an LPI pattern and entered the LPI state. This bit is cleared by a read into this register (or write of 1 when RCWE bit in  is set).
Note: This bit may not be set if the MAC stops receiving the LPI pattern for a very short duration, such as, less than three clock cycles of CSR clock.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>RLPIEX</name>
              <description>Receive LPI Exit
When this bit is set, it indicates that the MAC Receiver has stopped receiving the LPI pattern on the MII interface, exited the LPI state, and resumed the normal reception. This bit is cleared by a read into this register (or write of 1 when RCWE bit in register (ETH_MACCSRSWCR) is set).
Note: This bit may not be set if the MAC stops receiving the LPI pattern for a very short duration, such as, less than three clock cycles of CSR clock.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>TLPIST</name>
              <description>Transmit LPI State
When this bit is set, it indicates that the MAC is transmitting the LPI pattern on the MII interface.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>RLPIST</name>
              <description>Receive LPI State
When this bit is set, it indicates that the MAC is receiving the LPI pattern on the MII interface.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>LPIEN</name>
              <description>LPI Enable
When this bit is set, it instructs the MAC Transmitter to enter the LPI state. When this bit is reset, it instructs the MAC to exit the LPI state and resume normal transmission.
This bit is cleared when the LPITXA bit is set and the MAC exits the LPI state because of the arrival of a new packet for transmission.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>PLS</name>
              <description>PHY Link Status
This bit indicates the link status of the PHY. The MAC Transmitter asserts the LPI pattern only when the link status is up (OKAY) at least for the time indicated by the LPI LS TIMER.
When this bit is set, the link is considered to be okay (UP) and when this bit is reset, the link is considered to be down.</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>LPITXA</name>
              <description>LPI Tx Automate
This bit controls the behavior of the MAC when it is entering or coming out of the LPI mode on the Transmit side.
If the LPITXA and LPIEN bits are set to 1, the MAC enters the LPI mode only after all outstanding packets (in the core) and pending packets (in the application interface) have been transmitted. The MAC comes out of the LPI mode when the application sends any packet for transmission or the application issues a Tx FIFO Flush command. In addition, the MAC automatically clears the LPIEN bit when it exits the LPI state. If Tx FIFO Flush is set in the FTQ bit of ETH_MTLTxQOMR, when the MAC is in the LPI mode, it exits the LPI mode.
When this bit is 0, the LPIEN bit directly controls behavior of the MAC when it is entering or coming out of the LPI mode.</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>LPITE</name>
              <description>LPI Timer Enable
This bit controls the automatic entry of the MAC Transmitter into and exit out of the LPI state. When LPITE, LPITXA and LPIEN bits are set, the MAC Transmitter enters LPI state only when the complete MAC TX data path is IDLE for a period indicated by the ETH_MACLETR register.
After entering LPI state, if the data path becomes non-IDLE (due to a new packet being accepted for transmission), the Transmitter exits LPI state but does not clear LPIEN bit. This enables the re-entry into LPI state when it is IDLE again.
When LPITE is 0, the LPI Auto timer is disabled and MAC Transmitter enters LPI state based on the settings of LPITXA and LPIEN bit descriptions.</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>LPITCSE</name>
              <description>LPI Tx Clock Stop Enable
When this bit is set, the MAC asserts sbd_tx_clk_gating_ctrl_o signal high after it enters Tx LPI mode to indicate that the Tx clock to MAC can be stopped. When this bit is reset, the MAC does not assert sbd_tx_clk_gating_ctrl_o signal high after it enters Tx LPI mode.
If RGMII Interface is selected, the Tx clock is required for transmitting the LPI pattern. The Tx Clock cannot be gated and so the LPITCSE bit cannot be programmed.</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACLTCR</name>
          <displayName>MACLTCR</displayName>
          <description>LPI timers control register</description>
          <addressOffset>0xD4</addressOffset>
          <size>0x20</size>
          <resetValue>0x03E80000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>TWT</name>
              <description>LPI TW Timer
This field specifies the minimum time (in microseconds) for which the MAC waits after it stops transmitting the LPI pattern to the PHY and before it resumes the normal transmission. The TLPIEX status bit is set after the expiry of this timer.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>LST</name>
              <description>LPI LS Timer
This field specifies the minimum time (in milliseconds) for which the link status from the PHY should be up (OKAY) before the LPI pattern can be transmitted to the PHY. The MAC does not transmit the LPI pattern even when the LPIEN bit is set unless the LPI LS Timer reaches the programmed terminal count. The default value of the LPI LS Timer is 1000 (1 sec) as defined in the IEEE standard.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>10</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACLETR</name>
          <displayName>MACLETR</displayName>
          <description>LPI entry timer register</description>
          <addressOffset>0xD8</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>LPIET</name>
              <description>LPI Entry Timer
This field specifies the time in microseconds the MAC will wait to enter LPI mode, after it has transmitted all the frames. This field is valid and used only when LPITE and LPITXA are set to 1.
Bits [2:0] are read-only so that the granularity of this timer is in steps of 8 micro-seconds.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>20</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MAC1USTCR</name>
          <displayName>MAC1USTCR</displayName>
          <description>One-microsecond-tick counter register</description>
          <addressOffset>0xDC</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>TIC_1US_CNTR</name>
              <description>1 s tick Counter
The application must program this counter so that the number of clock cycles of CSR clock is 1 s (subtract 1 from the value before programming).
For example if the CSR clock is 100 MHz then this field needs to be programmed to
100 - 1 = 99 (which is 0x63).
This is required to generate the 1 s events that are used to update some of the EEE related counters.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>12</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACVR</name>
          <displayName>MACVR</displayName>
          <description>Version register</description>
          <addressOffset>0x110</addressOffset>
          <size>0x20</size>
          <resetValue>0x00003142</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>SNPSVER</name>
              <description>IP version</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>USERVER</name>
              <description>ST-defined version</description>
              <bitOffset>8</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACDR</name>
          <displayName>MACDR</displayName>
          <description>Debug register</description>
          <addressOffset>0x114</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>RPESTS</name>
              <description>MAC MII Receive Protocol Engine Status
When this bit is set, it indicates that the MAC MII receive protocol engine is actively receiving data, and it is not in the Idle state.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>RFCFCSTS</name>
              <description>MAC Receive Packet Controller FIFO Status
When this bit is set, this field indicates the active state of the small FIFO Read and Write controllers of the MAC Receive Packet Controller module.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>TPESTS</name>
              <description>MAC MII Transmit Protocol Engine Status
When this bit is set, it indicates that the MAC MII transmit protocol engine is actively transmitting data, and it is not in the Idle state.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>TFCSTS</name>
              <description>MAC Transmit Packet Controller Status
This field indicates the state of the MAC Transmit Packet Controller module:
Status of the previous packet
IPG or backoff period to be over</description>
              <bitOffset>17</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACHWF0R</name>
          <displayName>MACHWF0R</displayName>
          <description>HW feature 0 register</description>
          <addressOffset>0x11C</addressOffset>
          <size>0x20</size>
          <resetValue>0x0A0D73F7</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>MIISEL</name>
              <description>10 or 100 Mbps Support
This bit is set to 1 when 10/100 Mbps is selected as operating mode.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>GMIISEL</name>
              <description>1000 Mbps Support
This bit is set to 1 when 1000 Mbps is selected as operating mode.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>HDSEL</name>
              <description>Half-duplex Support
This bit is set to 1 when the half-duplex mode is selected</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>PCSSEL</name>
              <description>PCS Registers (TBI, SGMII, or RTBI PHY interface)
This bit is set to 1 when the TBI, SGMII, or RTBI PHY interface option is selected</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>VLHASH</name>
              <description>VLAN Hash Filter Selected
This bit is set to 1 when the Enable VLAN Hash Table Based Filtering option is selected</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>SMASEL</name>
              <description>SMA (MDIO) Interface
This bit is set to 1 when the Enable Station Management (MDIO Interface) option is selected</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>RWKSEL</name>
              <description>PMT Remote Wakeup Packet Enable
This bit is set to 1 when the Enable Remote wakeup Packet Detection option is selected</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>MGKSEL</name>
              <description>PMT Magic Packet Enable
This bit is set to 1 when the Enable Magic Packet Detection option is selected</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>MMCSEL</name>
              <description>RMON Module Enable
This bit is set to 1 when the Enable MAC management counters (MMC) option is selected</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>ARPOFFSEL</name>
              <description>ARP Offload Enabled
This bit is set to 1 when the Enable IPv4 ARP Offload option is selected</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>TSSEL</name>
              <description>IEEE 1588-2008 Timestamp Enabled
This bit is set to 1 when the Enable IEEE 1588 Timestamp Support option is selected</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>EEESEL</name>
              <description>Energy Efficient Ethernet Enabled
This bit is set to 1 when the Enable Energy Efficient Ethernet (EEE) option is selected</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>TXCOESEL</name>
              <description>Transmit Checksum Offload Enabled
This bit is set to 1 when the Enable Transmit TCP/IP Checksum Insertion option is selected</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>RXCOESEL</name>
              <description>Receive Checksum Offload Enabled
This bit is set to 1 when the Enable Receive TCP/IP Checksum Check option is selected</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>ADDMACADRSEL</name>
              <description>MAC Addresses 1-31 Selected
This bit is set to 1 when the Enable Additional 1-31 MAC Address Registers option is selected</description>
              <bitOffset>18</bitOffset>
              <bitWidth>5</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>MACADR32SEL</name>
              <description>MAC Addresses 32-63 Selected
This bit is set to 1 when the Enable Additional 32 MAC Address Registers (32-63) option is selected</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>MACADR64SEL</name>
              <description>MAC Addresses 64-127 Selected
This bit is set to 1 when the Enable Additional 64 MAC Address Registers (64-127) option is selected</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>TSSTSSEL</name>
              <description>Timestamp System Time Source
This bit indicates the source of the Timestamp system time:
This bit is set to 1 when the Enable IEEE 1588 Timestamp Support option is selected</description>
              <bitOffset>25</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>SAVLANINS</name>
              <description>Source Address or VLAN Insertion Enable
This bit is set to 1 when the Enable SA and VLAN Insertion on Tx option is selected</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>ACTPHYSEL</name>
              <description>Active PHY Selected
When you have multiple PHY interfaces in your configuration, this field indicates the sampled value of phy_intf_sel_i during reset de-assertion:
Others: Reserved, must not be used</description>
              <bitOffset>28</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACHWF1R</name>
          <displayName>MACHWF1R</displayName>
          <description>HW feature 1 register</description>
          <addressOffset>0x120</addressOffset>
          <size>0x20</size>
          <resetValue>0x11041904</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>RXFIFOSIZE</name>
              <description>MTL Receive FIFO Size
This field contains the configured value of MTL Rx FIFO in bytes expressed as Log to base 2 minus 7, that is, Log2(RXFIFO_SIZE) -7:</description>
              <bitOffset>0</bitOffset>
              <bitWidth>5</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>TXFIFOSIZE</name>
              <description>MTL Transmit FIFO Size
This field contains the configured value of MTL Tx FIFO in bytes expressed as Log to base 2 minus 7, that is, Log2(TXFIFO_SIZE) -7:</description>
              <bitOffset>6</bitOffset>
              <bitWidth>5</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>OSTEN</name>
              <description>One-Step Timestamping Enable
This bit is set to 1 when the Enable One-Step Timestamp Feature is selected.</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>PTOEN</name>
              <description>PTP Offload Enable
This bit is set to 1 when the Enable PTP Timestamp Offload Feature is selected.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>ADVTHWORD</name>
              <description>IEEE 1588 High Word Register Enable
This bit is set to 1 when the Add IEEE 1588 Higher Word Register option is selected</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>ADDR64</name>
              <description>Address width
This field indicates the configured address width.
Others: Reserved, must not be used</description>
              <bitOffset>14</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>DCBEN</name>
              <description>DCB Feature Enable
This bit is set to 1 when the Enable Data Center Bridging option is selected</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>SPHEN</name>
              <description>Split Header Feature Enable
This bit is set to 1 when the Enable Split Header Structure option is selected</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>TSOEN</name>
              <description>TCP Segmentation Offload Enable
This bit is set to 1 when the Enable TCP Segmentation Offloading for TCP/IP Packets option is selected</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>DBGMEMA</name>
              <description>DMA Debug Registers Enable
This bit is set to 1 when the Debug Mode Enable option is selected</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>AVSEL</name>
              <description>AV Feature Enable
This bit is set to 1 when the Enable Audio Video Bridging option is selected.</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>RAVSEL</name>
              <description>Rx Side Only AV Feature Enable
This bit is set to 1 when the Enable Audio Video Bridging option on Rx Side Only is selected.</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>POUOST</name>
              <description>One Step for PTP over UDP/IP Feature Enable
This bit is set to 1 when the Enable one step timestamp for PTP over UDP/IP feature is selected.</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>HASHTBLSZ</name>
              <description>Hash Table Size
This field indicates the size of the Hash table:</description>
              <bitOffset>24</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>L3L4FNUM</name>
              <description>Total number of L3 or L4 Filters
This field indicates the total number of L3 or L4 filters:
..</description>
              <bitOffset>27</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACHWF2R</name>
          <displayName>MACHWF2R</displayName>
          <description>HW feature 2 register</description>
          <addressOffset>0x124</addressOffset>
          <size>0x20</size>
          <resetValue>0x41000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>RXQCNT</name>
              <description>Number of MTL Receive Queues
This field indicates the number of MTL Receive queues:
..</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>TXQCNT</name>
              <description>Number of MTL Transmit Queues
This field indicates the number of MTL Transmit queues:
..</description>
              <bitOffset>6</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>RXCHCNT</name>
              <description>Number of DMA Receive Channels
This field indicates the number of DMA Receive channels:
..</description>
              <bitOffset>12</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>RDCSZ</name>
              <description>Rx DMA Descriptor Cache Size in terms of 16-byte descriptors</description>
              <bitOffset>16</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>TXCHCNT</name>
              <description>Number of DMA Transmit Channels
This field indicates the number of DMA Transmit channels:
..</description>
              <bitOffset>18</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>TDCSZ</name>
              <description>Tx DMA Descriptor Cache Size in terms of 16-byte descriptors</description>
              <bitOffset>22</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>PPSOUTNUM</name>
              <description>Number of PPS Outputs
This field indicates the number of PPS outputs:</description>
              <bitOffset>24</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>AUXSNAPNUM</name>
              <description>Number of Auxiliary Snapshot Inputs
This field indicates the number of auxiliary snapshot inputs:</description>
              <bitOffset>28</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACHWF3R</name>
          <displayName>MACHWF3R</displayName>
          <description>HW feature 3 register</description>
          <addressOffset>0x128</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000020</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>NRVF</name>
              <description>Number of Extended VLAN Tag Filters Enabled
This field indicates the Number of Extended VLAN Tag Filters selected:</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>CBTISEL</name>
              <description>Queue/Channel based VLAN tag insertion on Tx enable
This bit is set to 1 when the Enable Queue/Channel based VLAN tag insertion on Tx feature is selected.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>DVLAN</name>
              <description>Double VLAN processing enable
This bit is set to 1 when Double VLAN processing is enabled.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACMDIOAR</name>
          <displayName>MACMDIOAR</displayName>
          <description>MDIO address register</description>
          <addressOffset>0x200</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>MB</name>
              <description>MII Busy
The application sets this bit to instruct the SMA to initiate a Read or Write
access to the MDIOS. The MAC clears this bit after the MDIO frame
transfer is completed. Hence the software must not write or change any of the
fields in  and (ETH_MACMDIODR) as long as this bit is set.
For write transfers, the application must first write 16-bit data in the MD field (and also RA field when C45E is set) in  register before setting this bit. When C45E is set, it should also write into the RA field of (ETH_MACMDIODR) before initiating a read transfer. When a read transfer is completed (MII busy=0), the data read from the PHY register is valid in the MD field of the register (ETH_MACMDIODR).
Note: Even if the addressed PHY is not present, there is no change in the
functionality of this bit.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>C45E</name>
              <description>Clause 45 PHY Enable
When this bit is set, Clause 45 capable PHY is connected to MDIO. When this bit is reset, Clause 22 capable PHY is connected to MDIO.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>GOC</name>
              <description>MII Operation Command
This bit indicates the operation command to the PHY.
When Clause 22 PHY is enabled, only Write and Read commands are valid.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>SKAP</name>
              <description>Skip Address Packet
When this bit is set, the SMA does not send the address packets before read, write, or post-read increment address packets. This bit is valid only when C45E is set.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CR</name>
              <description>CSR Clock Range
The CSR Clock Range selection determines the frequency of the MDC clock according to the CSR clock frequency used in your design:
The suggested range of CSR clock frequency applicable for each value (when Bit 11 = 0) ensures that the MDC clock is approximately between 1.0 MHz to 2.5 MHz frequency range.
When Bit 11 is set, you can achieve a higher frequency of the MDC clock than the frequency limit of 2.5 MHz (specified in the IEEE 802.3) and program a clock divider of lower value. For example, when CSR clock is of 100 MHz frequency and you program these bits to 1010, the resultant MDC clock is of 12.5 MHz which is above the range specified in IEEE 802.3. Program the following values only if the interfacing chips support faster MDC clocks:</description>
              <bitOffset>8</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>NTC</name>
              <description>Number of Training Clocks
This field controls the number of trailing clock cycles generated on ETH_MDC after the end of transmission of MDIO frame. The valid values can be from 0 to 7. Programming the value to 011 indicates that there are additional three clock cycles on the MDC line after the end of MDIO frame transfer.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>RDA</name>
              <description>Register/Device Address
These bits select the PHY register in selected Clause 22 PHY device. These bits select the Device (MMD) in selected Clause 45 capable PHY.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>5</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>PA</name>
              <description>Physical Layer Address
This field indicates which Clause 22 PHY devices (out of 32 devices) the MAC is accessing. This field indicates which Clause 45 capable PHYs (out of 32 PHYs) the MAC is accessing.</description>
              <bitOffset>21</bitOffset>
              <bitWidth>5</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>BTB</name>
              <description>Back to Back transactions
When this bit is set and the NTC has value greater than 0, then the MAC will inform the completion of a read or write command at the end of frame transfer (before the trailing clocks are transmitted). The software can thus initiate the next command which will be executed immediately irrespective of the number trailing clocks generated for the previous frame.
When this bit is reset, then the read/write command completion (MII busy is cleared) only after the trailing clocks are generated. In this mode, it is ensured that the NTC is always generated after each frame.
This bit must not be set when NTC=0.</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>PSE</name>
              <description>Preamble Suppression Enable
When this bit is set, the SMA will suppress the 32-bit preamble and transmit MDIO frames with only 1 preamble bit.
When this bit is 0, the MDIO frame always has 32 bits of preamble as defined in the IEEE specifications.</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACMDIODR</name>
          <displayName>MACMDIODR</displayName>
          <description>MDIO data register</description>
          <addressOffset>0x204</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>MD</name>
              <description>MII Data
This field contains the 16-bit data value read from the PHY after a Management Read operation or the 16-bit data value to be written to the PHY before a Management Write operation.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>RA</name>
              <description>Register Address
This field is valid only when C45E is set. It contains the Register Address in the PHY to which the MDIO frame is intended for.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACARPAR</name>
          <displayName>MACARPAR</displayName>
          <description>ARP address register</description>
          <addressOffset>0x210</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>ARPPA</name>
              <description>ARP Protocol Address
This field contains the IPv4 Destination Address of the MAC. This address is used for perfect match with the Protocol Address of Target field in the received ARP packet.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACCSRSWCR</name>
          <displayName>MACCSRSWCR</displayName>
          <description>CSR software control register</description>
          <addressOffset>0x230</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>RCWE</name>
              <description>Register Clear on Write 1 Enable
When this bit is set, the access mode to some register fields changes to rc_w1 (clear on write) meaning that the application needs to set that respective bit to 1 to clear it.
When this bit is reset, the access mode to these register fields remains rc_r (clear on read).</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>SEEN</name>
              <description>Slave Error Response Enable
When this bit is set, the MAC responds with a Slave Error for accesses to reserved registers in CSR space.
When this bit is reset, the MAC responds with an Okay response to any register accessed from CSR space.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACA0HR</name>
          <displayName>MACA0HR</displayName>
          <description>MAC Address 0 high register</description>
          <addressOffset>0x300</addressOffset>
          <size>0x20</size>
          <resetValue>0x8000FFFF</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>ADDRHI</name>
              <description>MAC Address0[47:32]
This field contains the upper 16 bits [47:32] of the first 6-byte MAC address. The MAC uses this field for filtering the received packets and inserting the MAC address in the Transmit Flow Control (Pause) Packets.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>AE</name>
              <description>Address Enable
This bit is always set to 1.</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACA0LR</name>
          <displayName>MACA0LR</displayName>
          <description>MAC Address 0 low register</description>
          <addressOffset>0x304</addressOffset>
          <size>0x20</size>
          <resetValue>0xFFFFFFFF</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>ADDRLO</name>
              <description>MAC Address x [31:0] (x = 0 to 3)
This field contains the lower 32 bits of the first 6-byte MAC address. The MAC uses this field for filtering the received packets and inserting the MAC address in the Transmit Flow Control (Pause) Packets.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACA1HR</name>
          <displayName>MACA1HR</displayName>
          <description>MAC Address 1 high register</description>
          <addressOffset>0x308</addressOffset>
          <size>0x20</size>
          <resetValue>0x0000FFFF</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>ADDRHI</name>
              <description>MAC Address1 [47:32]
This field contains the upper 16 bits[47:32] of the second 6-byte MAC address.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>MBC</name>
              <description>Mask Byte Control
These bits are mask control bits for comparing each of the MAC Address bytes. When set high, the MAC does not compare the corresponding byte of received DA or SA with the contents of MAC Address1 registers. Each bit controls the masking of the bytes as follows:
Bit 29: ETH_MACAxHR[15:8]
Bit 28: ETH_MACAxHR[7:0]
Bit 27: ETH_MACAxLR[31:24]
Bit 26: ETH_MACAxLR[23:16]
Bit 25: ETH_MACAxLR[15:8]
Bit 24: ETH_MACAxLR[7:0]
You can filter a group of addresses (known as group address filtering) by masking one or more bytes of the address.</description>
              <bitOffset>24</bitOffset>
              <bitWidth>6</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>SA</name>
              <description>Source Address
When this bit is set, the MAC Address1[47:0] is used to compare with the SA fields of the received packet. When this bit is reset, the MAC Address x[47:0] is used to compare with the DA fields of the received packet.</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>AE</name>
              <description>Address Enable
When this bit is set, the address filter module uses the second MAC address for perfect filtering. When this bit is reset, the address filter module ignores the address for filtering.</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACA1LR</name>
          <displayName>MACA1LR</displayName>
          <description>MAC Address 1 low register</description>
          <addressOffset>0x30C</addressOffset>
          <size>0x20</size>
          <resetValue>0xFFFFFFFF</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>ADDRLO</name>
              <description>MAC Address x [31:0] (x = 0 to 3)
This field contains the lower 32 bits of the first 6-byte MAC address. The MAC uses this field for filtering the received packets and inserting the MAC address in the Transmit Flow Control (Pause) Packets.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACA2HR</name>
          <displayName>MACA2HR</displayName>
          <description>MAC Address 2 high register</description>
          <addressOffset>0x310</addressOffset>
          <size>0x20</size>
          <resetValue>0x0000FFFF</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>ADDRHI</name>
              <description>MAC Address1 [47:32]
This field contains the upper 16 bits[47:32] of the second 6-byte MAC address.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>MBC</name>
              <description>Mask Byte Control
These bits are mask control bits for comparing each of the MAC Address bytes. When set high, the MAC does not compare the corresponding byte of received DA or SA with the contents of MAC Address1 registers. Each bit controls the masking of the bytes as follows:
Bit 29: ETH_MACAxHR[15:8]
Bit 28: ETH_MACAxHR[7:0]
Bit 27: ETH_MACAxLR[31:24]
Bit 26: ETH_MACAxLR[23:16]
Bit 25: ETH_MACAxLR[15:8]
Bit 24: ETH_MACAxLR[7:0]
You can filter a group of addresses (known as group address filtering) by masking one or more bytes of the address.</description>
              <bitOffset>24</bitOffset>
              <bitWidth>6</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>SA</name>
              <description>Source Address
When this bit is set, the MAC Address1[47:0] is used to compare with the SA fields of the received packet. When this bit is reset, the MAC Address x[47:0] is used to compare with the DA fields of the received packet.</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>AE</name>
              <description>Address Enable
When this bit is set, the address filter module uses the second MAC address for perfect filtering. When this bit is reset, the address filter module ignores the address for filtering.</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACA2LR</name>
          <displayName>MACA2LR</displayName>
          <description>MAC Address 2 low register</description>
          <addressOffset>0x314</addressOffset>
          <size>0x20</size>
          <resetValue>0xFFFFFFFF</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>ADDRLO</name>
              <description>MAC Address x [31:0] (x = 0 to 3)
This field contains the lower 32 bits of the first 6-byte MAC address. The MAC uses this field for filtering the received packets and inserting the MAC address in the Transmit Flow Control (Pause) Packets.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACA3HR</name>
          <displayName>MACA3HR</displayName>
          <description>MAC Address 3 high register</description>
          <addressOffset>0x318</addressOffset>
          <size>0x20</size>
          <resetValue>0x0000FFFF</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>ADDRHI</name>
              <description>MAC Address1 [47:32]
This field contains the upper 16 bits[47:32] of the second 6-byte MAC address.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>MBC</name>
              <description>Mask Byte Control
These bits are mask control bits for comparing each of the MAC Address bytes. When set high, the MAC does not compare the corresponding byte of received DA or SA with the contents of MAC Address1 registers. Each bit controls the masking of the bytes as follows:
Bit 29: ETH_MACAxHR[15:8]
Bit 28: ETH_MACAxHR[7:0]
Bit 27: ETH_MACAxLR[31:24]
Bit 26: ETH_MACAxLR[23:16]
Bit 25: ETH_MACAxLR[15:8]
Bit 24: ETH_MACAxLR[7:0]
You can filter a group of addresses (known as group address filtering) by masking one or more bytes of the address.</description>
              <bitOffset>24</bitOffset>
              <bitWidth>6</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>SA</name>
              <description>Source Address
When this bit is set, the MAC Address1[47:0] is used to compare with the SA fields of the received packet. When this bit is reset, the MAC Address x[47:0] is used to compare with the DA fields of the received packet.</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>AE</name>
              <description>Address Enable
When this bit is set, the address filter module uses the second MAC address for perfect filtering. When this bit is reset, the address filter module ignores the address for filtering.</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACA3LR</name>
          <displayName>MACA3LR</displayName>
          <description>MAC Address 3 low register</description>
          <addressOffset>0x31C</addressOffset>
          <size>0x20</size>
          <resetValue>0xFFFFFFFF</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>ADDRLO</name>
              <description>MAC Address x [31:0] (x = 0 to 3)
This field contains the lower 32 bits of the first 6-byte MAC address. The MAC uses this field for filtering the received packets and inserting the MAC address in the Transmit Flow Control (Pause) Packets.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MMC_CONTROL</name>
          <displayName>MMC_CONTROL</displayName>
          <description>MMC control register</description>
          <addressOffset>0x700</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>CNTRST</name>
              <description>Counters Reset
When this bit is set, all counters are reset. This bit is cleared automatically after 1 clock cycle.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CNTSTOPRO</name>
              <description>Counter Stop Rollover
When this bit is set, the counter does not roll over to zero after reaching the maximum value.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>RSTONRD</name>
              <description>Reset on Read
When this bit is set, the MMC counters are reset to zero after Read (self-clearing after reset). The counters are cleared when the least significant byte lane (Bits[7:0]) is read.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CNTFREEZ</name>
              <description>MMC Counter Freeze
When this bit is set, it freezes all MMC counters to their current value.
Until this bit is reset to 0, no MMC counter is updated because of any transmitted or received packet. If any MMC counter is read with the Reset on Read bit set, then that counter is also cleared in this mode.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CNTPRST</name>
              <description>Counters Preset
When this bit is set, all counters are initialized or preset to almost full or almost half according to the CNTPRSTLVL bit. This bit is cleared automatically after 1 clock cycle.
This bit, along with the CNTPRSTLVL bit, is useful for debugging and testing the assertion of interrupts because of MMC counter becoming half-full or full.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CNTPRSTLVL</name>
              <description>Full-Half Preset
When this bit is low and the CNTPRST bit is set, all MMC counters get preset to almost-half value. All octet counters get preset to 0x7FFF_F800 (Half 2Kbytes) and all packet-counters get preset to 0x7FFF_FFF0 (Half 16).
When this bit is high and the CNTPRST bit is set, all MMC counters get preset to almost-full value. All octet counters get preset to 0xFFFF_F800 (Full 2Kbytes) and all packet-counters get preset to 0xFFFF_FFF0 (Full 16).
For 16-bit counters, the almost-half preset values are 0x7800 and 0x7FF0 for the respective octet and packet counters. Similarly, the almost-full preset values for the 16-bit counters are 0xF800 and 0xFFF0.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>UCDBC</name>
              <description>Update MMC Counters for Dropped Broadcast Packets
The CNTRST bit has a higher priority than the CNTPRST bit. Therefore, when the software tries to set both bits in the same write cycle, all counters are cleared and the CNTPRST bit is not set.
When set, the MAC updates all related MMC Counters for Broadcast packets that are dropped because of the setting of the DBF bit of (ETH_MACPFR).
When reset, the MMC Counters are not updated for dropped Broadcast packets.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MMC_RX_INTERRUPT</name>
          <displayName>MMC_RX_INTERRUPT</displayName>
          <description>MMC Rx interrupt register</description>
          <addressOffset>0x704</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>RXCRCERPIS</name>
              <description>MMC Receive CRC Error Packet Counter Interrupt Status
This bit is set when the  counter reaches half of the maximum value or the maximum value.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <readAction>clear</readAction>
            </field>
            <field>
              <name>RXALGNERPIS</name>
              <description>MMC Receive Alignment Error Packet Counter Interrupt Status
This bit is set when the (ETH_RX_ALIGNMENT_ERROR_PACKETS) counter reaches half of the maximum value or the maximum value.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <readAction>clear</readAction>
            </field>
            <field>
              <name>RXUCGPIS</name>
              <description>MMC Receive Unicast Good Packet Counter Interrupt Status
This bit is set when the (ETH_RX_UNICAST_PACKETS_GOOD) counter reaches half of the maximum value or the maximum value.</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <readAction>clear</readAction>
            </field>
            <field>
              <name>RXLPIUSCIS</name>
              <description>MMC Receive LPI microsecond counter interrupt status
This bit is set when the  counter reaches half of the maximum value or the maximum value.</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <readAction>clear</readAction>
            </field>
            <field>
              <name>RXLPITRCIS</name>
              <description>MMC Receive LPI transition counter interrupt status
This bit is set when the  counter reaches half of the maximum value or the maximum value.</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <readAction>clear</readAction>
            </field>
          </fields>
        </register>
        <register>
          <name>MMC_TX_INTERRUPT</name>
          <displayName>MMC_TX_INTERRUPT</displayName>
          <description>MMC Tx interrupt register</description>
          <addressOffset>0x708</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>TXSCOLGPIS</name>
              <description>MMC Transmit Single Collision Good Packet Counter Interrupt Status
This bit is set when the (ETH_TX_SINGLE_COLLISION_GOOD_PACKETS) counter reaches half of the maximum value or the maximum value.</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <readAction>clear</readAction>
            </field>
            <field>
              <name>TXMCOLGPIS</name>
              <description>MMC Transmit Multiple Collision Good Packet Counter Interrupt Status
This bit is set when the (ETH_TX_MULTIPLE_COLLISION_GOOD_PACKETS) counter reaches half of the maximum value or the maximum value.</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <readAction>clear</readAction>
            </field>
            <field>
              <name>TXGPKTIS</name>
              <description>MMC Transmit Good Packet Counter Interrupt Status
This bit is set when the  counter reaches half of the maximum value or the maximum value.</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <readAction>clear</readAction>
            </field>
            <field>
              <name>TXLPIUSCIS</name>
              <description>MMC Transmit LPI microsecond counter interrupt status
This bit is set when the  counter reaches half of the maximum value or the maximum value.</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <readAction>clear</readAction>
            </field>
            <field>
              <name>TXLPITRCIS</name>
              <description>MMC Transmit LPI transition counter interrupt status
This bit is set when the  counter reaches half of the maximum value or the maximum value.</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <readAction>clear</readAction>
            </field>
          </fields>
        </register>
        <register>
          <name>MMC_RX_INTERRUPT_MASK</name>
          <displayName>MMC_RX_INTERRUPT_MASK</displayName>
          <description>MMC Rx interrupt mask register</description>
          <addressOffset>0x70C</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>RXCRCERPIM</name>
              <description>MMC Receive CRC Error Packet Counter Interrupt Mask
Setting this bit masks the interrupt when the (ETH_RX_CRC_ERROR_PACKETS) counter reaches half of the maximum value or the maximum value.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>RXALGNERPIM</name>
              <description>MMC Receive Alignment Error Packet Counter Interrupt Mask
Setting this bit masks the interrupt when the (ETH_RX_ALIGNMENT_ERROR_PACKETS) counter reaches half of the maximum value or the maximum value.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>RXUCGPIM</name>
              <description>MMC Receive Unicast Good Packet Counter Interrupt Mask
Setting this bit masks the interrupt when the (ETH_RX_UNICAST_PACKETS_GOOD) counter reaches half of the maximum value or the maximum value.</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>RXLPIUSCIM</name>
              <description>MMC Receive LPI microsecond counter interrupt Mask
Setting this bit masks the interrupt when the (ETH_RX_LPI_USEC_CNTR) counter reaches half of the maximum value or the maximum value.</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>RXLPITRCIM</name>
              <description>MMC Receive LPI transition counter interrupt Mask
Setting this bit masks the interrupt when the (ETH_RX_LPI_TRAN_CNTR) counter reaches half of the maximum value or the maximum value.</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MMC_TX_INTERRUPT_MASK</name>
          <displayName>MMC_TX_INTERRUPT_MASK</displayName>
          <description>MMC Tx interrupt mask register</description>
          <addressOffset>0x710</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>TXSCOLGPIM</name>
              <description>MMC Transmit Single Collision Good Packet Counter Interrupt Mask
Setting this bit masks the interrupt when the (ETH_TX_SINGLE_COLLISION_GOOD_PACKETS) counter reaches half of the maximum value or the maximum value.</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TXMCOLGPIM</name>
              <description>MMC Transmit Multiple Collision Good Packet Counter Interrupt Mask
Setting this bit masks the interrupt when the (ETH_TX_MULTIPLE_COLLISION_GOOD_PACKETS) counter reaches half of the maximum value or the maximum value.</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TXGPKTIM</name>
              <description>MMC Transmit Good Packet Counter Interrupt Mask
Setting this bit masks the interrupt when the (ETH_TX_PACKET_COUNT_GOOD) counter reaches half of the maximum value or the maximum value.</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TXLPIUSCIM</name>
              <description>MMC Transmit LPI microsecond counter interrupt Mask
Setting this bit masks the interrupt when the (ETH_TX_LPI_USEC_CNTR) counter reaches half of the maximum value or the maximum value.</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TXLPITRCIM</name>
              <description>MMC Transmit LPI transition counter interrupt Mask
Setting this bit masks the interrupt when the (ETH_TX_LPI_TRAN_CNTR) counter reaches half of the maximum value or the maximum value.</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>TX_SINGLE_COLLISION_GOOD_PACKETS</name>
          <displayName>TX_SINGLE_COLLISION_GOOD_PACKETS</displayName>
          <description>Tx single collision good packets register</description>
          <addressOffset>0x74C</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>TXSNGLCOLG</name>
              <description>Tx Single Collision Good Packets
This field indicates the number of successfully transmitted packets after a single collision in the half-duplex mode.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>TX_MULTIPLE_COLLISION_GOOD_PACKETS</name>
          <displayName>TX_MULTIPLE_COLLISION_GOOD_PACKETS</displayName>
          <description>Tx multiple collision good packets register</description>
          <addressOffset>0x750</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>TXMULTCOLG</name>
              <description>Tx Multiple Collision Good Packets
This field indicates the number of successfully transmitted packets after multiple collisions in the half-duplex mode.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>TX_PACKET_COUNT_GOOD</name>
          <displayName>TX_PACKET_COUNT_GOOD</displayName>
          <description>Tx packet count good register</description>
          <addressOffset>0x768</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>TXPKTG</name>
              <description>Tx Packet Count Good
This field indicates the number of good packets transmitted.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>RX_CRC_ERROR_PACKETS</name>
          <displayName>RX_CRC_ERROR_PACKETS</displayName>
          <description>Rx CRC error packets register</description>
          <addressOffset>0x794</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>RXCRCERR</name>
              <description>Rx CRC Error Packets
This field indicates the number of packets received with CRC error.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>RX_ALIGNMENT_ERROR_PACKETS</name>
          <displayName>RX_ALIGNMENT_ERROR_PACKETS</displayName>
          <description>Rx alignment error packets register</description>
          <addressOffset>0x798</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>RXALGNERR</name>
              <description>Rx Alignment Error Packets
This field indicates the number of packets received with alignment (dribble) error. It is valid only in 10/100 mode.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>RX_UNICAST_PACKETS_GOOD</name>
          <displayName>RX_UNICAST_PACKETS_GOOD</displayName>
          <description>Rx unicast packets good register</description>
          <addressOffset>0x7C4</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>RXUCASTG</name>
              <description>Rx Unicast Packets Good
This field indicates the number of good unicast packets received.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>TX_LPI_USEC_CNTR</name>
          <displayName>TX_LPI_USEC_CNTR</displayName>
          <description>Tx LPI microsecond timer register</description>
          <addressOffset>0x7EC</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>TXLPIUSC</name>
              <description>Tx LPI Microseconds Counter
This field indicates the number of microseconds Tx LPI is asserted. For every Tx LPI Entry and Exit, the Timer value can have an error of +/- 1 microsecond.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>TX_LPI_TRAN_CNTR</name>
          <displayName>TX_LPI_TRAN_CNTR</displayName>
          <description>Tx LPI transition counter register</description>
          <addressOffset>0x7F0</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>TXLPITRC</name>
              <description>Tx LPI Transition counter
This field indicates the number of times Tx LPI Entry has occurred. Even if Tx LPI Entry occurs in Automate mode (because of LPITXA bit set in the (ETH_MACLCSR)), the counter will increment.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>RX_LPI_USEC_CNTR</name>
          <displayName>RX_LPI_USEC_CNTR</displayName>
          <description>Rx LPI microsecond counter register</description>
          <addressOffset>0x7F4</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>RXLPIUSC</name>
              <description>Rx LPI Microseconds Counter
This field indicates the number of microseconds Rx LPI is asserted. For every Rx LPI Entry and Exit, the Timer value can have an error of +/- 1 microsecond.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>RX_LPI_TRAN_CNTR</name>
          <displayName>RX_LPI_TRAN_CNTR</displayName>
          <description>Rx LPI transition counter register</description>
          <addressOffset>0x7F8</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>RXLPITRC</name>
              <description>Rx LPI Transition counter
This field indicates the number of times Rx LPI Entry has occurred.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACL3L4C0R</name>
          <displayName>MACL3L4C0R</displayName>
          <description>L3 and L4 control 0 register</description>
          <addressOffset>0x900</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>L3PEN0</name>
              <description>Layer 3 Protocol Enable
When this bit is set, the Layer 3 IP Source or Destination Address matching is enabled for IPv6 packets. When this bit is reset, the Layer 3 IP Source or Destination Address matching is enabled for IPv4 packets.
The Layer 3 matching is done only when the L3SAM0 or L3DAM0 bit is set.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>L3SAM0</name>
              <description>Layer 3 IP SA Match Enable
When this bit is set, the Layer 3 IP Source Address field is enabled for matching. When this bit is reset, the MAC ignores the Layer 3 IP Source Address field for matching.
Note: When the L3PEN0 bit is set, you should set either this bit or the L3DAM0 bit because either IPv6 SA or DA can be checked for filtering.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>L3SAIM0</name>
              <description>Layer 3 IP SA Inverse Match Enable
When this bit is set, the Layer 3 IP Source Address field is enabled for inverse matching. When this bit reset, the Layer 3 IP Source Address field is enabled for perfect matching.
This bit is valid and applicable only when the L3SAM0 bit is set.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>L3DAM0</name>
              <description>Layer 3 IP DA Match Enable
When this bit is set, the Layer 3 IP Destination Address field is enabled for matching. When this bit is reset, the MAC ignores the Layer 3 IP Destination Address field for matching.
Note: When the L3PEN0 bit is set, you should set either this bit or the L3SAM0 bit because either IPv6 DA or SA can be checked for filtering.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>L3DAIM0</name>
              <description>Layer 3 IP DA Inverse Match Enable
When this bit is set, the Layer 3 IP Destination Address field is enabled for inverse matching. When this bit is reset, the Layer 3 IP Destination Address field is enabled for perfect matching.
This bit is valid and applicable only when the L3DAM0 bit is set high.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>L3HSBM0</name>
              <description>Layer 3 IP SA higher bits match
This field contains the number of lower bits of IP source address that are masked for matching in the IPv4 packets. The following list describes the values of this field:
2: Two LSbs [1:0] are masked
..
31: All bits except MSb are masked.
Condition: IPv6 packets:
This field contains Bits[4:0] of L3HSBM0. These bits indicate the number of higher bits of IP source or destination address matched in the IPv6 packets. This field is valid and applicable only when the L3DAM0 or L3SAM0 bit is set high.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>5</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>L3HDBM0</name>
              <description>Layer 3 IP DA higher bits match
This field contains the number of higher bits of IP Destination Address that are masked in the IPv4 packets:
2: Two LSbs [1:0] are masked
..
31: All bits except MSb are masked.
Bits[12:11] of this field correspond to Bits[6:5] of L3HSBM0 which indicate the number of lower bits of IP Source or Destination Address that are masked in the IPv6 packets. Number of bits masked is given by concatenated values of the L3HDBM0[1:0] and L3HSBM0 bits:
2: Two LSbs [1:0] are masked
..
31: All bits except MSb are masked.
This field is valid and applicable only when the L3DAM0 or L3SAM0 bit is set.</description>
              <bitOffset>11</bitOffset>
              <bitWidth>5</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>L4PEN0</name>
              <description>Layer 4 Protocol Enable
When this bit is set, the Source and Destination Port number fields of UDP packets are used for matching. When this bit is reset, the Source and Destination Port number fields of TCP packets are used for matching.
The Layer 4 matching is done only when the L4SPM0 or L4DPM0 bit is set.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>L4SPM0</name>
              <description>Layer 4 Source Port Match Enable
When this bit is set, the Layer 4 Source Port number field is enabled for matching. When this bit is reset, the MAC ignores the Layer 4 Source Port number field for matching.</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>L4SPIM0</name>
              <description>Layer 4 Source Port Inverse Match Enable
When this bit is set, the Layer 4 Source Port number field is enabled for inverse matching. When this bit is reset, the Layer 4 Source Port number field is enabled for perfect matching.
This bit is valid and applicable only when the L4SPM0 bit is set high.</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>L4DPM0</name>
              <description>Layer 4 Destination Port Match Enable
When this bit is set, the Layer 4 Destination Port number field is enabled for matching. When this bit is reset, the MAC ignores the Layer 4 Destination Port number field for matching.</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>L4DPIM0</name>
              <description>Layer 4 Destination Port Inverse Match Enable
When this bit is set, the Layer 4 Destination Port number field is enabled for inverse matching. When this bit is reset, the Layer 4 Destination Port number field is enabled for perfect matching.
This bit is valid and applicable only when the L4DPM0 bit is set high.</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACL4A0R</name>
          <displayName>MACL4A0R</displayName>
          <addressOffset>0x904</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>L4SP0</name>
              <description>Layer 4 Source Port Number Field
When the L4PEN0 bit is reset and the L4DPM0 bit is set in the (ETH_MACL3L4C0R), this field contains the value to be matched with the TCP Source Port Number field in the IPv4 or IPv6 packets.
When the L4PEN0 and L4DPM0 bits are set in (ETH_MACL3L4C0R), this field contains the value to be matched with the UDP Source Port Number field in the IPv4 or IPv6 packets.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>L4DP0</name>
              <description>Layer 4 Destination Port Number Field
When the L4PEN0 bit is reset and the L4DPM0 bit is set in the (ETH_MACL3L4C0R), this field contains the value to be matched with the TCP Destination Port Number field in the IPv4 or IPv6 packets.
When the L4PEN0 and L4DPM0 bits are set in (ETH_MACL3L4C0R), this field contains the value to be matched with the UDP Destination Port Number field in the IPv4 or IPv6 packets.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACL3A00R</name>
          <displayName>MACL3A00R</displayName>
          <description>Layer3 Address 0 filter 0 register</description>
          <addressOffset>0x910</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>L3A00</name>
              <description>Layer 3 Address 0 Field
When the L3PEN0 and L3SAM0 bits are set in the (ETH_MACL3L4C0R), this field contains the value to be matched with Bits[31:0] of the IP Source Address field in the IPv6 packets.
When the L3PEN0 and L3DAM0 bits are set in the (ETH_MACL3L4C0R), this field contains the value to be matched with Bits[31:0] of the IP Destination Address field in the IPv6 packets.
When the L3PEN0 bit is reset and the L3SAM0 bit is set in the (ETH_MACL3L4C0R), this field contains the value to be matched with the IP Source Address field in the IPv4 packets.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACL3A10R</name>
          <displayName>MACL3A10R</displayName>
          <description>Layer3 Address 1 filter 0 register</description>
          <addressOffset>0x914</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>L3A10</name>
              <description>Layer 3 Address 1 Field
When the L3PEN0 and L3SAM0 bits are set in the (ETH_MACL3L4C0R), this field contains the value to be matched with Bits[63:32] of the IP Source Address field in the IPv6 packets.
When the L3PEN0 and L3DAM0 bits are set in the (ETH_MACL3L4C0R), this field contains the value to be matched with Bits[63:32] of the IP Destination Address field in the IPv6 packets.
When the L3PEN0 bit is reset and the L3SAM0 bit is set in the (ETH_MACL3L4C0R), this field contains the value to be matched with the IP Destination Address field in the IPv4 packets.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACL3A20R</name>
          <displayName>MACL3A20R</displayName>
          <description>Layer3 Address 2 filter 0 register</description>
          <addressOffset>0x918</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>L3A20</name>
              <description>Layer 3 Address 2 Field
When the L3PEN0 and L3SAM0 bits are set in the (ETH_MACL3L4C0R), this field contains the value to be matched with Bits[95:64] of the IP Source Address field in the IPv6 packets.
When the L3PEN0 and L3DAM0 bits are set in the (ETH_MACL3L4C0R), this field contains the value to be matched with Bits[95:64] of the IP Destination Address field in the IPv6 packets.
When the L3PEN0 bit is reset in the , this field is not used.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACL3A30R</name>
          <displayName>MACL3A30R</displayName>
          <description>Layer3 Address 3 filter 0 register</description>
          <addressOffset>0x91C</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>L3A30</name>
              <description>Layer 3 Address 3 Field
When the L3PEN0 and L3SAM0 bits are set in the (ETH_MACL3L4C0R), this field contains the value to be matched with Bits[127:96] of the IP Source Address field in the IPv6 packets.
When the L3PEN0 and L3DAM0 bits are set in the (ETH_MACL3L4C0R), this field contains the value to be matched with Bits[127:96] of the IP Destination Address field in the IPv6 packets.
When the L3PEN0 bit is reset in the , this field is not used.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACL3L4C1R</name>
          <displayName>MACL3L4C1R</displayName>
          <description>L3 and L4 control 1 register</description>
          <addressOffset>0x930</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>L3PEN1</name>
              <description>Layer 3 Protocol Enable
When this bit is set, the Layer 3 IP Source or Destination Address matching is enabled for IPv6 packets. When this bit is reset, the Layer 3 IP Source or Destination Address matching is enabled for IPv4 packets.
The Layer 3 matching is done only when the L3SAM1 or L3DAM1 bit is set.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>L3SAM1</name>
              <description>Layer 3 IP SA Match Enable
When this bit is set, the Layer 3 IP Source Address field is enabled for matching. When this bit is reset, the MAC ignores the Layer 3 IP Source Address field for matching.
Note: When the L3PEN01 bit is set, you should set either this bit or the L3DAM1 bit because either IPv6 SA or DA can be checked for filtering.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>L3SAIM1</name>
              <description>Layer 3 IP SA Inverse Match Enable
When this bit is set, the Layer 3 IP Source Address field is enabled for inverse matching. When this bit reset, the Layer 3 IP Source Address field is enabled for perfect matching.
This bit is valid and applicable only when the L3SAM1 bit is set.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>L3DAM1</name>
              <description>Layer 3 IP DA Match Enable
When this bit is set, the Layer 3 IP Destination Address field is enabled for matching. When this bit is reset, the MAC ignores the Layer 3 IP Destination Address field for matching.
Note: When the L3PEN1 bit is set, you should set either this bit or the L3SAM1 bit because either IPv6 DA or SA can be checked for filtering.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>L3DAIM1</name>
              <description>Layer 3 IP DA Inverse Match Enable
When this bit is set, the Layer 3 IP Destination Address field is enabled for inverse matching. When this bit is reset, the Layer 3 IP Destination Address field is enabled for perfect matching.
This bit is valid and applicable only when the L3DAM1 bit is set high.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>L3HSBM1</name>
              <description>Layer 3 IP SA Higher Bits Match
This field contains the number of lower bits of IP Source Address that are masked for matching in the IPv4 packets. The following list describes the values of this field:
2: Two LSbs [1:0] are masked
..
31: All bits except MSb are masked.
This field contains Bits[4:0] of L3HSBM1. These bits indicate the number of higher bits of IP Source or Destination Address matched in the IPv6 packets. This field is valid and applicable only when the L3DAM1 or L3SAM1 bit is set high.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>5</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>L3HDBM1</name>
              <description>Layer 3 IP DA higher bits match
This field contains the number of lower bits of IP Destination Address that are masked for matching in the IPv4 packets. The following list describes the values of this field:
2: Two LSbs [1:0] are masked
..
31: All bits except MSb are masked.
Bits[12:11] of this field correspond to Bits[6:5] of L3HSBM1, which indicate the number of lower bits of IP Source or Destination Address that are masked in the IPv6 packets. The following list describes the concatenated values of the L3HDBM1[1:0] and L3HSBM1 bits:
2: Two LSbs [1:0] are masked
..
127: All bits except MSb are masked
This field is valid and applicable only when the L3DAM1 or L3SAM1 bit is set.</description>
              <bitOffset>11</bitOffset>
              <bitWidth>5</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>L4PEN1</name>
              <description>Layer 4 Protocol Enable
When this bit is set, the Source and Destination Port number fields of UDP packets are used for matching. When this bit is reset, the Source and Destination Port number fields of TCP packets are used for matching.
The Layer 4 matching is done only when the L4SPM1 or L4DPM1 bit is set.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>L4SPM1</name>
              <description>Layer 4 Source Port Match Enable
When this bit is set, the Layer 4 Source Port number field is enabled for matching. When this bit is reset, the MAC ignores the Layer 4 Source Port number field for matching.</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>L4SPIM1</name>
              <description>Layer 4 Source Port Inverse Match Enable
When this bit is set, the Layer 4 Source Port number field is enabled for inverse matching. When this bit is reset, the Layer 4 Source Port number field is enabled for perfect matching.
This bit is valid and applicable only when the L4SPM1 bit is set high.</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>L4DPM1</name>
              <description>Layer 4 Destination Port Match Enable
When this bit is set, the Layer 4 Destination Port number field is enabled for matching. When this bit is reset, the MAC ignores the Layer 4 Destination Port number field for matching.</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>L4DPIM1</name>
              <description>Layer 4 Destination Port Inverse Match Enable
When this bit is set, the Layer 4 Destination Port number field is enabled for inverse matching. When this bit is reset, the Layer 4 Destination Port number field is enabled for perfect matching.
This bit is valid and applicable only when the L4DPM1 bit is set high.</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACL4A1R</name>
          <displayName>MACL4A1R</displayName>
          <addressOffset>0x934</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>L4SP1</name>
              <description>Layer 4 Source Port Number Field
When the L4PEN1 bit is reset and the L4DPM1 bit is set in the (ETH_MACL3L4C1R), this field contains the value to be matched with the TCP Source Port Number field in the IPv4 or IPv6 packets.
When the L4PEN1 and L4DPM1 bits are set in (ETH_MACL3L4C1R), this field contains the value to be matched with the UDP Source Port Number field in the IPv4 or IPv6 packets.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>L4DP1</name>
              <description>Layer 4 Destination Port Number Field
When the L4PEN1 bit is reset and the L4DPM1 bit is set in the (ETH_MACL3L4C1R), this field contains the value to be matched with the TCP Destination Port Number field in the IPv4 or IPv6 packets.
When the L4PEN1 and L4DPM1 bits are set in (ETH_MACL3L4C1R), this field contains the value to be matched with the UDP Destination Port Number field in the IPv4 or IPv6 packets.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACL3A01R</name>
          <displayName>MACL3A01R</displayName>
          <description>Layer3 address 0 filter 1 Register</description>
          <addressOffset>0x940</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>L3A01</name>
              <description>Layer 3 Address 0 Field
When the L3PEN1 and L3SAM1bits are set in the (ETH_MACL3L4C1R), this field contains the value to be matched with Bits[31:0] of the IP Source Address field in the IPv6 packets.
When the L3PEN1 and L3DAM1 bits are set in the (ETH_MACL3L4C1R), this field contains the value to be matched with Bits[31:0] of the IP Destination Address field in the IPv6 packets.
When the L3PEN1 bit is reset and the L3SAM1 bit is set in the (ETH_MACL3L4C1R), this field contains the value to be matched with the IP Source Address field in the IPv4 packets.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACL3A11R</name>
          <displayName>MACL3A11R</displayName>
          <description>Layer3 address 1 filter 1 register</description>
          <addressOffset>0x944</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>L3A11</name>
              <description>Layer 3 Address 1 Field
When the L3PEN1 and L3SAM1 bits are set in the (ETH_MACL3L4C1R), this field contains the value to be matched with Bits[63:32] of the IP Source Address field in the IPv6 packets.
When the L3PEN1 and L3DAM1 bits are set in the (ETH_MACL3L4C1R), this field contains the value to be matched with Bits[63:32] of the IP Destination Address field in the IPv6 packets.
When the L3PEN1 bit is reset and the L3SAM1 bit is set in the (ETH_MACL3L4C1R), this field contains the value to be matched with the IP Destination Address field in the IPv4 packets.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACL3A21R</name>
          <displayName>MACL3A21R</displayName>
          <description>Layer3 address 2 filter 1 Register</description>
          <addressOffset>0x948</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>L3A21</name>
              <description>Layer 3 Address 2 Field
When the L3PEN1 and L3SAM1 bits are set in the (ETH_MACL3L4C1R), this field contains the value to be matched with Bits[95:64] of the IP Source Address field in the IPv6 packets.
When the L3PEN1 and L3DAM1 bits are set in the (ETH_MACL3L4C1R), this field contains the value to be matched with Bits[95:64] of the IP Destination Address field in the IPv6 packets.
When the L3PEN1 bit is reset in the , this field is not used.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACL3A31R</name>
          <displayName>MACL3A31R</displayName>
          <description>Layer3 address 3 filter 1 register</description>
          <addressOffset>0x94C</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>L3A31</name>
              <description>Layer 3 Address 3 Field
When the L3PEN1 and L3SAM1 bits are set in the (ETH_MACL3L4C1R), this field contains the value to be matched with Bits[127:96] of the IP Source Address field in the IPv6 packets.
When the L3PEN1 and L3DAM1 bits are set in the (ETH_MACL3L4C1R), this field contains the value to be matched with Bits[127:96] of the IP Destination Address field in the IPv6 packets.
When the L3PEN1 bit is reset in the , this field is not used.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACTSCR</name>
          <displayName>MACTSCR</displayName>
          <description>Timestamp control Register</description>
          <addressOffset>0xB00</addressOffset>
          <size>0x20</size>
          <resetValue>0x00002000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>TSENA</name>
              <description>Enable Timestamp
When this bit is set, the timestamp is added for Transmit and Receive packets. When disabled, timestamp is not added for transmit and receive packets and the Timestamp Generator is also suspended. You need to initialize the Timestamp (system time) after enabling this mode.
On the Receive side, the MAC processes the 1588 packets only if this bit is set.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TSCFUPDT</name>
              <description>Fine or Coarse Timestamp Update
When this bit is set, the Fine method is used to update system timestamp. When this bit is reset, Coarse method is used to update the system timestamp.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TSINIT</name>
              <description>Initialize Timestamp
When this bit is set, the system time is initialized (overwritten) with the value specified in the  and update register (ETH_MACSTNUR).
This bit should be zero before it is updated. This bit is reset when the initialization is complete.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TSUPDT</name>
              <description>Update Timestamp
When this bit is set, the system time is updated (added or subtracted) with the value specified in  and update register (ETH_MACSTNUR).
This bit should be zero before updating it. This bit is reset when the update is complete in hardware.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TSADDREG</name>
              <description>Update Addend Register
When this bit is set, the content of the Timestamp Addend register is updated in the PTP block for fine correction. This bit is cleared when the update is complete. This bit should be zero before it is set.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TSENALL</name>
              <description>Enable Timestamp for All Packets
When this bit is set, the timestamp snapshot is enabled for all packets received by the MAC.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TSCTRLSSR</name>
              <description>Timestamp Digital or Binary Rollover Control
When this bit is set, the Timestamp Low register rolls over after 0x3B9A_C9FF value (that is, 1 nanosecond accuracy) and increments the timestamp (High) seconds. When this bit is reset, the rollover value of sub-second register is 0x7FFF_FFFF. The sub-second increment must be programmed correctly depending on the PTP reference clock frequency and the value of this bit.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TSVER2ENA</name>
              <description>Enable PTP Packet Processing for Version 2 Format
When this bit is set, the IEEE 1588 version 2 format is used to process the PTP packets. When this bit is reset, the IEEE 1588 version 1 format is used to process the PTP packets. The IEEE 1588 formats are described in 'PTP Processing and Control'.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TSIPENA</name>
              <description>Enable Processing of PTP over Ethernet Packets
When this bit is set, the MAC receiver processes the PTP packets encapsulated directly in the Ethernet packets. When this bit is reset, the MAC ignores the PTP over Ethernet packets.</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TSIPV6ENA</name>
              <description>Enable Processing of PTP Packets Sent over IPv6-UDP
When this bit is set, the MAC receiver processes the PTP packets encapsulated in IPv6-UDP packets. When this bit is clear, the MAC ignores the PTP transported over IPv6-UDP packets.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TSIPV4ENA</name>
              <description>Enable Processing of PTP Packets Sent over IPv4-UDP
When this bit is set, the MAC receiver processes the PTP packets encapsulated in IPv4-UDP packets. When this bit is reset, the MAC ignores the PTP transported over IPv4-UDP packets. This bit is set by default.</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TSEVNTENA</name>
              <description>Enable Timestamp Snapshot for Event Messages
When this bit is set, the timestamp snapshot is taken only for event messages (SYNC, Delay_Req, Pdelay_Req, or Pdelay_Resp). When this bit is reset, the snapshot is taken for all messages except Announce, Management, and Signaling. For more information about the timestamp snapshots, see .</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TSMSTRENA</name>
              <description>Enable Snapshot for Messages Relevant to Master
When this bit is set, the snapshot is taken only for the messages that are relevant to the master node. Otherwise, the snapshot is taken for the messages relevant to the slave node.</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>SNAPTYPSEL</name>
              <description>Select PTP packets for Taking Snapshots
These bits, along with Bits 15 and 14, define the set of PTP packet types for which snapshot needs to be taken. The encoding is given in Register Bits.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TSENMACADDR</name>
              <description>Enable MAC Address for PTP Packet Filtering
When this bit is set, the DA MAC address (that matches any MAC Address register) is used to filter the PTP packets when PTP is directly sent over Ethernet.
When this bit is set, received PTP packets with DA containing a special multicast or unicast address that matches the one programmed in MAC address registers are considered for processing as indicated below, when PTP is directly sent over Ethernet.
For normal time stamping operation, MAC address registers 0 to 31 is considered for unicast destination address matching.
For PTP offload, only MAC address register 0 is considered for unicast destination address matching.</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TXTSSTSM</name>
              <description>Transmit Timestamp Status Mode
When this bit is set, the MAC overwrites the earlier transmit timestamp status even if it is not read by the software. The MAC indicates this by setting the TXTSSMIS bit of the timestamp status nanoseconds register (ETH_MACTXTSSNR) register.
When this bit is reset, the MAC ignores the timestamp status of current packet if the timestamp status of previous packet is not read by the software. The MAC indicates this by setting the TXTSSMIS bit of the (ETH_MACTXTSSNR).</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>AV8021ASMEN</name>
              <description>AV 802.1AS Mode Enable
When this bit is set, the MAC processes only untagged PTP over Ethernet packets for providing PTP status and capturing timestamp snapshots, that is, IEEE 802.1AS operating mode.
When PTP offload feature is enabled, for the purpose of PTP offload, the transport specific field in the PTP header is generated and checked based on the value of this bit.</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACSSIR</name>
          <displayName>MACSSIR</displayName>
          <description>Sub-second increment register</description>
          <addressOffset>0xB04</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>SSINC</name>
              <description>Sub-second Increment Value
The value programmed in this field is accumulated every clock cycle (of clk_ptp_i) with the contents of the sub-second register. For example, when the PTP clock is 50 MHz (period is 20 ns), you should program 20 (0x14) when the System Time Nanoseconds register has an accuracy of 1 ns [TSCTRLSSR bit is set in (ETH_MACTSCR)]. When TSCTRLSSR is cleared, the Nanoseconds register has a resolution of ~0.465 ns. In this case, you should program a value of 43 (0x2B) which is derived by 20 ns/0.465.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACSTSR</name>
          <displayName>MACSTSR</displayName>
          <description>System time seconds register</description>
          <addressOffset>0xB08</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>TSS</name>
              <description>Timestamp Second
The value in this field indicates the current value in seconds of the System Time maintained by the MAC.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACSTNR</name>
          <displayName>MACSTNR</displayName>
          <description>System time nanoseconds register</description>
          <addressOffset>0xB0C</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>TSSS</name>
              <description>Timestamp Sub-seconds
The value in this field has the sub-second representation of time, with an accuracy of 0.46 ns. When TSCTRLSSR is set in , each bit represents 1 ns. The maximum value is 0x3B9A_C9FF after which it rolls-over to zero.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>31</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACSTSUR</name>
          <displayName>MACSTSUR</displayName>
          <description>System time seconds update register</description>
          <addressOffset>0xB10</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>TSS</name>
              <description>Timestamp Seconds
The value in this field is the sub-second part of the update. When ADDSUB is reset, this field must be programmed with the sub-second part of the update value, with an accuracy based on the TSCTRLSSR bit of the . When ADDSUB is set, then this field must be programmed with the complement of the sub-second part of the update value as described below.
When TSCTRLSSR is set, then the programmed value must be 10^9 - sub-second value&gt;. When TSCTRLSSR is reset, then the programmed value must be 2^31 - sub-second_value&gt;
For example, when TSCTRLSSR bit is set and if 2.000000001 seconds need to be subtracted from the system time, then the TSS field in the register (ETH_MACSTSUR) must be 0xFFFF_FFFE (that is, 2^32 - 2), ADDSUB bit in this register should be set, and the TSSS field must be 0x3B9A_C9FF (that is, 10^9 - 1).</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACSTNUR</name>
          <displayName>MACSTNUR</displayName>
          <addressOffset>0xB14</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>TSSS</name>
              <description>Timestamp Sub-seconds
The value in this field has the sub-second representation of time, with an accuracy of 0.46 ns. When the TSCTRLSSR bit is set in the , each bit represents 1 ns and the programmed value should not exceed 0x3B9A_C9FF.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>31</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ADDSUB</name>
              <description>Add or Subtract Time
When this bit is set, the time value is subtracted with the contents of the update register. When this bit is reset, the time value is added with the contents of the update register.</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACTSAR</name>
          <displayName>MACTSAR</displayName>
          <description>Timestamp addend register</description>
          <addressOffset>0xB18</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>TSAR</name>
              <description>Timestamp Addend Register
This field indicates the 32-bit time value to be added to the Accumulator register to achieve time synchronization.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACTSSR</name>
          <displayName>MACTSSR</displayName>
          <description>Timestamp status register</description>
          <addressOffset>0xB20</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>TSSOVF</name>
              <description>Timestamp Seconds Overflow
When this bit is set, it indicates that the seconds value of the timestamp (when supporting version 2 format) has overflowed beyond 32'hFFFF_FFFF.
This bit is cleared when the application reads this bit (or write of 1 when RCWE bit in software control register (ETH_MACCSRSWCR) is set)</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <readAction>clear</readAction>
            </field>
            <field>
              <name>TSTARGT0</name>
              <description>Timestamp Target Time Reached
When set, this bit indicates that the value of system time is greater than or equal to the value specified in the  and nanoseconds register (ETH_MACPPSTTNR).
This bit is cleared when the application reads this bit (or write of 1 when RCWE bit in software control register (ETH_MACCSRSWCR) is set)</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <readAction>clear</readAction>
            </field>
            <field>
              <name>AUXTSTRIG</name>
              <description>Auxiliary Timestamp Trigger Snapshot
This bit is set high when the auxiliary snapshot is written to the FIFO.
This bit is cleared when the application reads this bit (or write of 1 when RCWE bit in software control register (ETH_MACCSRSWCR) is set).</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <readAction>clear</readAction>
            </field>
            <field>
              <name>TSTRGTERR0</name>
              <description>Timestamp Target Time Error
This bit is set when the latest target time programmed in the register (ETH_MACPPSTTSR) and (ETH_MACPPSTTNR) elapses. This bit is cleared when the application reads this bit (or write of 1 when RCWE bit in  is set).</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <readAction>clear</readAction>
            </field>
            <field>
              <name>TXTSSIS</name>
              <description>Tx Timestamp Status Interrupt Status
When drop transmit status is enabled in MTL, this bit is set when the captured transmit timestamp is updated in the (ETH_MACTXTSSNR) and .
When PTP offload feature is enabled, this bit is set when the captured transmit timestamp is updated in the  and timestamp status seconds register (ETH_MACTXTSSSR), for PTO generated Delay Request and Pdelay request packets.
This bit is cleared when the  is read (or write of 1 when RCWE bit in  is set).</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <readAction>clear</readAction>
            </field>
            <field>
              <name>ATSSTN</name>
              <description>Auxiliary Timestamp Snapshot Trigger Identifier
These bits identify the Auxiliary trigger inputs for which the timestamp available in the Auxiliary Snapshot Register is applicable. When more than one bit is set at the same time, it means that corresponding auxiliary triggers were sampled at the same clock. These bits are applicable only if the number of Auxiliary snapshots is more than one. One bit is assigned for each trigger as shown in the following list:
Bit 16: Auxiliary trigger 0
Bit 17: Auxiliary trigger 1
Bit 18: Auxiliary trigger 2
Bit 19: Auxiliary trigger 3
The software can read this register to find the triggers that are set when the timestamp is taken.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-write</access>
              <readAction>clear</readAction>
            </field>
            <field>
              <name>ATSSTM</name>
              <description>Auxiliary Timestamp Snapshot Trigger Missed
This bit is set when the Auxiliary timestamp snapshot FIFO is full and external trigger was set. This indicates that the latest snapshot is not stored in the FIFO.</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <readAction>clear</readAction>
            </field>
            <field>
              <name>ATSNS</name>
              <description>Number of Auxiliary Timestamp Snapshots
This field indicates the number of Snapshots available in the FIFO. A value equal to the depth of FIFO (4) indicates that the Auxiliary Snapshot FIFO is full. These bits are cleared (to 00000) when the Auxiliary snapshot FIFO clear bit is set.</description>
              <bitOffset>25</bitOffset>
              <bitWidth>5</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACTXTSSNR</name>
          <displayName>MACTXTSSNR</displayName>
          <description>Tx timestamp status nanoseconds register</description>
          <addressOffset>0xB30</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>TXTSSLO</name>
              <description>Transmit Timestamp Status Low
This field contains the 31 bits of the Nanoseconds field of the Transmit packet's captured timestamp.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>31</bitWidth>
              <access>read-write</access>
              <readAction>clear</readAction>
            </field>
            <field>
              <name>TXTSSMIS</name>
              <description>Transmit Timestamp Status Missed
When this bit is set, it indicates one of the following:
The timestamp of the current packet is ignored if TXTSSTSM bit of the control Register (ETH_MACTSCR) is reset
The timestamp of the previous packet is overwritten with timestamp of the current packet if TXTSSTSM bit of the  is set.</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACTXTSSSR</name>
          <displayName>MACTXTSSSR</displayName>
          <description>Tx timestamp status seconds register</description>
          <addressOffset>0xB34</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>TXTSSHI</name>
              <description>Transmit Timestamp Status High
This field contains the lower 32 bits of the Seconds field of Transmit packet's captured timestamp.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACACR</name>
          <displayName>MACACR</displayName>
          <description>Auxiliary control register</description>
          <addressOffset>0xB40</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>ATSFC</name>
              <description>Auxiliary Snapshot FIFO Clear
When set, this bit resets the pointers of the Auxiliary Snapshot FIFO. This bit is cleared when the pointers are reset and the FIFO is empty. When this bit is high, the auxiliary snapshots are stored in the FIFO.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ATSEN0</name>
              <description>Auxiliary Snapshot 0 Enable
This bit controls the capturing of Auxiliary Snapshot Trigger 0. When this bit is set, the auxiliary snapshot of the event on eth_ptp_trg0 input is enabled. When this bit is reset, the events on this input are ignored.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ATSEN1</name>
              <description>Auxiliary Snapshot 1 Enable
This bit controls the capturing of Auxiliary Snapshot Trigger 1. When this bit is set, the auxiliary snapshot of the event on eth_ptp_trg1 input is enabled. When this bit is reset, the events on this input are ignored.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ATSEN2</name>
              <description>Auxiliary Snapshot 2 Enable
This bit controls the capturing of Auxiliary Snapshot Trigger 2. When this bit is set, the auxiliary snapshot of the event on eth_ptp_trg2 input is enabled. When this bit is reset, the events on this input are ignored.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ATSEN3</name>
              <description>Auxiliary Snapshot 3 Enable
This bit controls the capturing of Auxiliary Snapshot Trigger 3. When this bit is set, the auxiliary snapshot of the event on eth_ptp_trg3 input is enabled. When this bit is reset, the events on this input are ignored.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACATSNR</name>
          <displayName>MACATSNR</displayName>
          <description>Auxiliary timestamp nanoseconds register</description>
          <addressOffset>0xB48</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>AUXTSLO</name>
              <description>Auxiliary Timestamp
Contains the lower 31 bits (nanoseconds field) of the auxiliary timestamp.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>31</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACATSSR</name>
          <displayName>MACATSSR</displayName>
          <description>Auxiliary timestamp seconds register</description>
          <addressOffset>0xB4C</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>AUXTSHI</name>
              <description>Auxiliary Timestamp
Contains the lower 32 bits of the Seconds field of the auxiliary timestamp.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACTSIACR</name>
          <displayName>MACTSIACR</displayName>
          <description>Timestamp Ingress asymmetric correction register</description>
          <addressOffset>0xB50</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>OSTIAC</name>
              <description>One-Step Timestamp Ingress Asymmetry Correction
This field contains the ingress path asymmetry value to be added to correctionField of Pdelay_Resp PTP packet. The programmed value should be in units of nanoseconds and multiplied by 2^16. For example, 2.5 ns is represented as 0x00028000.
The value can also be negative, which is represented in 2's complement form with bit 31 representing the sign bit.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACTSEACR</name>
          <displayName>MACTSEACR</displayName>
          <description>Timestamp Egress asymmetric correction register</description>
          <addressOffset>0xB54</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>OSTEAC</name>
              <description>One-Step Timestamp Egress Asymmetry Correction
This field contains the egress path asymmetry value to be subtracted from correctionField of Pdelay_Resp PTP packet. The programmed value must be the negated value in units of nanoseconds multiplied by 2^16.
For example, if the required correction is +2.5 ns, the programmed value must be 0xFFFD_8000, which is the 2's complement of 0x0002_8000(2.5 * 2^16). Similarly, if the required correction is -3.3 ns, the programmed value is 0x0003_4CCC (3.3 *2^16).</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACTSICNR</name>
          <displayName>MACTSICNR</displayName>
          <description>Timestamp Ingress correction nanosecond register</description>
          <addressOffset>0xB58</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>TSIC</name>
              <description>Timestamp Ingress Correction
This field contains the ingress path correction value as defined by the Ingress Correction expression.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACTSECNR</name>
          <displayName>MACTSECNR</displayName>
          <description>Timestamp Egress correction nanosecond register</description>
          <addressOffset>0xB5C</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>TSEC</name>
              <description>Timestamp Egress Correction
This field contains the nanoseconds part of the egress path correction value as defined by the Egress Correction expression.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACPPSCR</name>
          <displayName>MACPPSCR</displayName>
          <description>ETH_MACPPSCR</description>
          <addressOffset>0xB70</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>PPSCTRL</name>
              <description>PPS Output Frequency Control
This field controls the frequency of the PPS output (eth_ptp_pps_out) signal. The default value of PPSCTRL is 0000, and the PPS output is 1 pulse (of width clk_ptp_i) every second. For other values of PPSCTRL, the PPS output becomes a generated clock of following frequencies:
..
Note: In the binary rollover mode, the PPS output (eth_ptp_pps_out) has a duty cycle of 50 percent with these frequencies. In the digital rollover mode, the PPS output frequency is an average number. The actual clock is of different frequency that gets synchronized every second. For example:
When PPSCTRL = 0001, the PPS (1 Hz) has a low period of 537 ms and a high period of 463 ms
When PPSCTRL = 0010, the PPS (2 Hz) is a sequence of
One clock of 50 percent duty cycle and 537 ms period
Second clock of 463 ms period (268 ms low and 195 ms high)
When PPSCTRL = 0011, the PPS (4 Hz) is a sequence of
Three clocks of 50 percent duty cycle and 268 ms period
Fourth clock of 195 ms period (134 ms low and 61 ms high)
This behavior is because of the non-linear toggling of bits in the digital rollover mode in the ETH_MACSTNR register.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>PPSEN0</name>
              <description>Flexible PPS Output Mode Enable
When this bit is set, PPSCTRL[3:0] function as PPSCMD. When this bit is reset, PPSCTRL[3:0] function as PPSCTRL (Fixed PPS mode).</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TRGTMODSEL0</name>
              <description>Target Time Register Mode for PPS Output
This field indicates the Target Time registers ((ETH_MACPPSTTSR) and ) mode for PPS output signal:</description>
              <bitOffset>5</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACPPSCRALTERNATE</name>
          <displayName>MACPPSCRALTERNATE</displayName>
          <description>ETH_MACPPSCRALTERNATE</description>
          <alternateRegister>MACPPSCR</alternateRegister>
          <addressOffset>0xB70</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>PPSCMD</name>
              <description>Flexible PPS Output (eth_ptp_pps_out) Control
Programming these bits with a non-zero value instructs the MAC to initiate an event. When the command is transferred or synchronized to the PTP clock domain, these bits get cleared automatically. The software should ensure that these bits are programmed only when they are all zero. The following list describes the values of PPSCMD0:
This command generates single pulse rising at the start point defined in Target Time Registers (register 455 and 456) and of a duration defined in the PPS Width Register.
This command generates the train of pulses rising at the start point defined in the Target Time Registers and of a duration defined in the PPS Width Register and repeated at interval defined in the PPS Interval Register. By default, the PPS pulse train is free-running unless stopped by the 'Stop Pulse train at time' or 'Stop Pulse Train immediately' commands.
This command cancels the START Single Pulse and START Pulse Train commands if the system time has not crossed the programmed start time.
This command stops the train of pulses initiated by the START Pulse Train command (PPSCMD = 0010) after the time programmed in the Target Time registers elapses.
This command immediately stops the train of pulses initiated by the START Pulse Train command (PPSCMD = 0010).
This command cancels the STOP pulse train at time command if the programmed stop time has not elapsed. The PPS pulse train becomes free-running on the successful execution of this command.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>PPSEN0</name>
              <description>Flexible PPS Output Mode Enable
When this bit is set, Bits[3:0] function as PPSCMD. When this bit is reset, Bits[3:0] function as PPSCTRL (Fixed PPS mode).</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TRGTMODSEL0</name>
              <description>Target Time Register Mode for PPS Output
This field indicates the Target Time registers (MAC registers 96 and 97) mode for PPS output signal:</description>
              <bitOffset>5</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACPPSTTSR</name>
          <displayName>MACPPSTTSR</displayName>
          <description>PPS target time seconds register</description>
          <addressOffset>0xB80</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>TSTRH0</name>
              <description>PPS Target Time Seconds Register
This field stores the time in seconds. When the timestamp value matches or exceeds both Target Timestamp registers, the MAC starts or stops the PPS signal output and generates an interrupt (if enabled) based on Target Time mode selected for the corresponding PPS output in the .</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACPPSTTNR</name>
          <displayName>MACPPSTTNR</displayName>
          <description>PPS target time nanoseconds register</description>
          <addressOffset>0xB84</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>TTSL0</name>
              <description>Target Time Low for PPS Register
This register stores the time in (signed) nanoseconds. When the value of the timestamp matches the value in both Target Timestamp registers, the MAC starts or stops the PPS signal output and generates an interrupt (if enabled) based on the TRGTMODSEL0 field (Bits [6:5]) in .
When the TSCTRLSSR bit is set in the , this value should not exceed 0x3B9A_C9FF. The actual start or stop time of the PPS signal output may have an error margin up to one unit of sub-second increment value.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>31</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TRGTBUSY0</name>
              <description>PPS Target Time Register Busy
The MAC sets this bit when the PPSCMD0 field in the (ETH_MACPPSCR) is programmed to 010 or 011. Programming the PPSCMD0 field to 010 or 011 instructs the MAC to synchronize the Target Time Registers to the PTP clock domain.
The MAC clears this bit after synchronizing the Target Time Registers to the PTP clock domain The application must not update the Target Time Registers when this bit is read as 1. Otherwise, the synchronization of the previous programmed time gets corrupted.</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACPPSIR</name>
          <displayName>MACPPSIR</displayName>
          <description>PPS interval register</description>
          <addressOffset>0xB88</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>PPSINT0</name>
              <description>PPS Output Signal Interval
These bits store the interval between the rising edges of PPS signal output. The interval is stored in terms of number of units of sub-second increment value.
You need to program one value less than the required interval. For example, if the PTP reference clock is 50 MHz (period of 20 ns), and desired interval between the rising edges of PPS signal output is 100 ns (that is, 5 units of sub-second increment value), you should program value 4 (5-1) in this register.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACPPSWR</name>
          <displayName>MACPPSWR</displayName>
          <description>PPS width register</description>
          <addressOffset>0xB8C</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>PPSWIDTH0</name>
              <description>PPS Output Signal Width
These bits store the width between the rising edge and corresponding falling edge of PPS signal output. The width is stored in terms of number of units of sub-second increment value.
You need to program one value less than the required interval. For example, if PTP reference clock is 50 MHz (period of 20 ns), and width between the rising and corresponding falling edges of PPS signal output is 80 ns (that is, four units of sub-second increment value), you should program value 3 (4-1) in this register.
Note: The value programmed in this register must be lesser than the value programmed in .</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACPOCR</name>
          <displayName>MACPOCR</displayName>
          <description>PTP Offload control register</description>
          <addressOffset>0xBC0</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>PTOEN</name>
              <description>PTP Offload Enable
When this bit is set, the PTP Offload feature is enabled.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ASYNCEN</name>
              <description>Automatic PTP SYNC message Enable
When this bit is set, PTP SYNC message is generated periodically based on interval programmed or trigger from application, when the MAC is programmed to be in Clock Master mode.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>APDREQEN</name>
              <description>Automatic PTP Pdelay_Req message Enable
When this bit is set, PTP Pdelay_Req message is generated periodically based on interval programmed or trigger from application, when the MAC is programmed to be in Peer-to-Peer Transparent mode.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ASYNCTRIG</name>
              <description>Automatic PTP SYNC message Trigger
When this bit is set, one PTP SYNC message is transmitted. This bit is automatically cleared after the PTP SYNC message is transmitted. The application should set the ASYNCEN bit for this operation.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>APDREQTRIG</name>
              <description>Automatic PTP Pdelay_Req message Trigger
When this bit is set, one PTP Pdelay_Req message is transmitted. This bit is automatically cleared after the PTP Pdelay_Req message is transmitted. The application should set the APDREQEN bit for this operation.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>DRRDIS</name>
              <description>Disable PTO Delay Request/Response response generation
When this bit is set, the Delay Request and Delay response will not be generated for received SYNC and Delay request packet respectively, as required by the programmed mode.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>DN</name>
              <description>Domain Number
This field indicates the domain Number in which the PTP node is operating.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACSPI0R</name>
          <displayName>MACSPI0R</displayName>
          <description>PTP Source Port Identity 0 Register</description>
          <addressOffset>0xBC4</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>SPI0</name>
              <description>Source Port Identity 0
This field indicates bits [31:0] of sourcePortIdentity of PTP node.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACSPI1R</name>
          <displayName>MACSPI1R</displayName>
          <description>PTP Source port identity 1 register</description>
          <addressOffset>0xBC8</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>SPI1</name>
              <description>Source Port Identity 1
This field indicates bits [63:32] of sourcePortIdentity of PTP node.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACSPI2R</name>
          <displayName>MACSPI2R</displayName>
          <description>PTP Source port identity 2 register</description>
          <addressOffset>0xBCC</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>SPI2</name>
              <description>Source Port Identity 2
This field indicates bits [79:64] of sourcePortIdentity of PTP node.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACLMIR</name>
          <displayName>MACLMIR</displayName>
          <description>Log message interval register</description>
          <addressOffset>0xBD0</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>LSI</name>
              <description>Log Sync Interval
This field indicates the periodicity of the automatically generated SYNC message when the PTP node is Master. Allowed values are -15 to 15. Negative value must be represented in 2's-complement form. For example, if the required value is -1, the value programmed must be 0xFF.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>DRSYNCR</name>
              <description>Delay_Req to SYNC Ratio
In Slave mode, it is used for controlling frequency of Delay_Req messages transmitted.
2: for every 4 SYNC messages
3: for every 8 SYNC messages
4: for every 16 SYNC messages
5: for every 32 SYNC messages
Others: Reserved, must not be used
The master sends this information (logMinDelayReqInterval) in the DelayResp PTP messages to the slave. The reception processes this value from the received DelayResp messages and updates this field accordingly. In the Slave mode, the host must not write/update this register unless it has to override the received value. In Master mode, the sum of this field and logSyncInterval (LSI) field is provided in the logMinDelayReqInterval field of the generated multicast Delay_Resp PTP message.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>LMPDRI</name>
              <description>Log Min Pdelay_Req Interval
This field indicates logMinPdelayReqInterval of PTP node. This is used to schedule the periodic Pdelay request packet transmission. Allowed values are -15 to 15.Negative value must be represented in 2's-complement form. For example, if the required value is -1, the value programmed must be 0xFF.</description>
              <bitOffset>24</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MTLOMR</name>
          <displayName>MTLOMR</displayName>
          <description>Operating mode Register</description>
          <addressOffset>0xC00</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>DTXSTS</name>
              <description>Drop Transmit Status
When this bit is set, the Tx packet status received from the MAC is dropped in the MTL. When this bit is reset, the Tx packet status received from the MAC is forwarded to the application.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CNTPRST</name>
              <description>Counters Preset
When this bit is set:
is initialized/preset to 0x7F0.
Missed Packet and Overflow Packet counters in overflow counter register (ETH_MTLRXQMPOCR) is initialized/preset to 0x7F0
This bit is cleared automatically.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CNTCLR</name>
              <description>Counters Reset
When this bit is set, all counters are reset. This bit is cleared automatically after 1 clock cycle.
If this bit is set along with CNTPRST bit, CNTPRST has precedence.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MTLISR</name>
          <displayName>MTLISR</displayName>
          <description>Interrupt status Register</description>
          <addressOffset>0xC20</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>Q0IS</name>
              <description>Queue interrupt status
This bit indicates that an interrupt has been generated by Queue. To reset this bit, read ETH_MTLQICSR register to identify the interrupt cause and clear the source.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MTLTXQOMR</name>
          <displayName>MTLTXQOMR</displayName>
          <description>Tx queue operating mode Register</description>
          <addressOffset>0xD00</addressOffset>
          <size>0x20</size>
          <resetValue>0x00070008</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>FTQ</name>
              <description>Flush Transmit Queue
When this bit is set, the Tx queue controller logic is reset to its default values. Therefore, all the data in the Tx queue is lost or flushed. This bit is internally reset when the flushing operation is complete. Until this bit is reset, you should not write to the ETH_MTLTXQOMR register. The data which is already accepted by the MAC transmitter is not flushed. It is scheduled for transmission and results in underflow and runt packet transmission.
Note: The flush operation is complete only when the Tx queue is empty and the application has accepted the pending Tx Status of all transmitted packets. To complete this flush operation, the PHY Tx clock (eth_mii_tx_clk) should be active.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TSF</name>
              <description>Transmit Store and Forward
When this bit is set, the transmission starts when a full packet resides in the MTL Tx queue. When this bit is set, the TTC values specified in Bits[6:4] of this register are ignored. This bit should be changed only when the transmission is stopped.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TXQEN</name>
              <description>Transmit Queue Enable
This field is used to enable/disable the transmit queue .
Others: Reserved, must not be used.
Note: In multiple Tx queues configuration, all the queues are disabled by default. Enable the Tx queue by programming this field.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>TTC</name>
              <description>Transmit Threshold Control
These bits control the threshold level of the MTL Tx queue. The transmission starts when the packet size within the MTL Tx queue is larger than the threshold. In addition, full packets with length less than the threshold are also transmitted. These bits are used only when the TSF bit is reset.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TQS</name>
              <description>Transmit queue size
This field indicates the size of the allocated transmit queues in blocks of 256 bytes.
Queue size range from 256 bytes (TQS=0b000) to 2048 bytes (TQS=0b111).</description>
              <bitOffset>16</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MTLTXQUR</name>
          <displayName>MTLTXQUR</displayName>
          <description>Tx queue underflow register</description>
          <addressOffset>0xD04</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>UFFRMCNT</name>
              <description>Underflow Packet Counter
This field indicates the number of packets aborted by the controller because of Tx queue Underflow. This counter is incremented each time the MAC aborts outgoing packet because of underflow. The counter is cleared when this register is read.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>11</bitWidth>
              <access>read-write</access>
              <readAction>clear</readAction>
            </field>
            <field>
              <name>UFCNTOVF</name>
              <description>Overflow Bit for Underflow Packet Counter
This bit is set every time the Tx queue Underflow Packet Counter field overflows, that is, it has crossed the maximum count. In such a scenario, the overflow packet counter is reset to all-zeros and this bit indicates that the rollover happened.</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <readAction>clear</readAction>
            </field>
          </fields>
        </register>
        <register>
          <name>MTLTXQDR</name>
          <displayName>MTLTXQDR</displayName>
          <description>Tx queue debug Register</description>
          <addressOffset>0xD08</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>TXQPAUSED</name>
              <description>Transmit Queue in Pause
When this bit is high and the Rx flow control is enabled, it indicates that the Tx queue is in the Pause condition (in the full-duplex only mode) because of the following:
Reception of the PFC packet for the priorities assigned to the Tx queue when PFC is enabled
Reception of 802.3x Pause packet when PFC is disabled</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>TRCSTS</name>
              <description>MTL Tx Queue Read Controller Status
This field indicates the state of the Tx Queue Read Controller:</description>
              <bitOffset>1</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>TWCSTS</name>
              <description>MTL Tx Queue Write Controller Status
When high, this bit indicates that the MTL Tx queue Write Controller is active, and it is transferring the data to the Tx queue.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>TXQSTS</name>
              <description>MTL Tx Queue Not Empty Status
When this bit is high, it indicates that the MTL Tx queue is not empty and some data is left for transmission.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>TXSTSFSTS</name>
              <description>MTL Tx Status FIFO Full Status
When high, this bit indicates that the MTL Tx Status FIFO is full. Therefore, the MTL cannot accept any more packets for transmission.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>PTXQ</name>
              <description>Number of Packets in the Transmit Queue
This field indicates the current number of packets in the Tx queue.
When the DTXSTS bit of  register is set to 1, this field does not reflect the number of packets in the Transmit queue.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>STXSTSF</name>
              <description>Number of Status Words in Tx Status FIFO of Queue
This field indicates the current number of status in the Tx Status FIFO of this queue.
When the DTXSTS bit of ETH_MTLOMR register is set to 1, this field does not reflect the number of status words in Tx Status FIFO.</description>
              <bitOffset>20</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MTLQICSR</name>
          <displayName>MTLQICSR</displayName>
          <description>Queue interrupt control status Register</description>
          <addressOffset>0xD2C</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>TXUNFIS</name>
              <description>Transmit Queue Underflow Interrupt Status
This bit indicates that the Transmit Queue had an underflow while transmitting the packet. Transmission is suspended and an Underflow Error TDES3[2] is set. This bit is cleared when the application writes 1 to this bit.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TXUIE</name>
              <description>Transmit Queue Underflow Interrupt Enable
When this bit is set, the Transmit Queue Underflow interrupt is enabled. When this bit is reset, the Transmit Queue Underflow interrupt is disabled.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>RXOVFIS</name>
              <description>Receive Queue Overflow Interrupt Status
This bit indicates that the Receive Queue had an overflow while receiving the packet. If a partial packet is transferred to the application, the overflow status is set in RDES3[21]. This bit is cleared when the application writes 1 to this bit.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>RXOIE</name>
              <description>Receive Queue Overflow Interrupt Enable
When this bit is set, the Receive Queue Overflow interrupt is enabled. When this bit is reset, the Receive Queue Overflow interrupt is disabled.</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MTLRXQOMR</name>
          <displayName>MTLRXQOMR</displayName>
          <description>Rx queue operating mode register</description>
          <addressOffset>0xD30</addressOffset>
          <size>0x20</size>
          <resetValue>0x00700000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>RTC</name>
              <description>Receive Queue Threshold Control
These bits control the threshold level of the MTL Rx queue (in bytes):
The received packet is transferred to the application or DMA when the packet size within the MTL Rx queue is larger than the threshold. In addition, full packets with length less than the threshold are automatically transferred.
This field is valid only when the RSF bit is zero. This field is ignored when the RSF bit is set to 1.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>FUP</name>
              <description>Forward Undersized Good Packets
When this bit is set, the Rx queue forwards the undersized good packets (packets with no error and length less than 64 bytes), including pad-bytes and CRC. When this bit is reset, the Rx queue drops all packets of less than 64 bytes, unless a packet is already transferred because of the lower value of Rx Threshold, for example, RTC = 01.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>FEP</name>
              <description>Forward Error Packets
When this bit is reset, the Rx queue drops packets with error status (CRC error, receive error, watchdog timeout, or overflow). However, if the start byte (write) pointer of a packet is already transferred to the read controller side (in Threshold mode), the packet is not dropped.
When this bit is set, all packets except the runt error packets are forwarded to the application or DMA. If the RSF bit is set and the Rx queue overflows when a partial packet is written, the packet is dropped irrespective of the setting of this bit. However, if the RSF bit is reset and the Rx queue overflows when a partial packet is written, a partial packet may be forwarded to the application or DMA.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>RSF</name>
              <description>Receive Queue Store and Forward
When this bit is set, the Ethernet peripheral reads a packet from the Rx queue only after the complete packet has been written to it, ignoring the RTC field of this register. When this bit is reset, the Rx queue operates in the Threshold (cut-through) mode, subject to the threshold specified by the RTC field of this register.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>DIS_TCP_EF</name>
              <description>Disable Dropping of TCP/IP Checksum Error Packets
When this bit is set, the MAC does not drop the packets which only have the errors detected by the Receive Checksum Offload engine. Such packets have errors only in the encapsulated payload. There are no errors (including FCS error) in the Ethernet packet received by the MAC.
When this bit is reset, all error packets are dropped if the FEP bit is reset.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>RQS</name>
              <description>Receive Queue Size
This field is read-only and the configured Rx FIFO size in blocks of 256 bytes is reflected in the reset value. The size of the Queue is (RQS + 1) * 256 bytes.</description>
              <bitOffset>20</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MTLRXQMPOCR</name>
          <displayName>MTLRXQMPOCR</displayName>
          <description>Rx queue missed packet and overflow counter register</description>
          <addressOffset>0xD34</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>OVFPKTCNT</name>
              <description>Overflow Packet Counter
This field indicates the number of packets discarded by the Ethernet peripheral because of Receive queue overflow. This counter is incremented each time the Ethernet peripheral discards an incoming packet because of overflow. This counter is reset when this register is read.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>11</bitWidth>
              <access>read-write</access>
              <readAction>clear</readAction>
            </field>
            <field>
              <name>OVFCNTOVF</name>
              <description>Overflow Counter Overflow Bit
When set, this bit indicates that the Rx Queue Overflow Packet Counter field crossed the maximum limit.</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <readAction>clear</readAction>
            </field>
            <field>
              <name>MISPKTCNT</name>
              <description>Missed Packet Counter
This field indicates the number of packets missed by the Ethernet peripheral because the application requested to flush the packets for this queue. This counter is reset when this register is read.
This counter is incremented by 1 when the DMA discards the packet because of buffer unavailability.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>11</bitWidth>
              <access>read-write</access>
              <readAction>clear</readAction>
            </field>
            <field>
              <name>MISCNTOVF</name>
              <description>Missed Packet Counter Overflow Bit
When set, this bit indicates that the Rx Queue Missed Packet Counter crossed the maximum limit.</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <readAction>clear</readAction>
            </field>
          </fields>
        </register>
        <register>
          <name>MTLRXQDR</name>
          <displayName>MTLRXQDR</displayName>
          <description>Rx queue debug register</description>
          <addressOffset>0xD38</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>RWCSTS</name>
              <description>MTL Rx Queue Write Controller Active Status
When high, this bit indicates that the MTL Rx queue Write controller is active, and it is transferring a received packet to the Rx queue.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>RRCSTS</name>
              <description>MTL Rx Queue Read Controller State
This field gives the state of the Rx queue Read controller:</description>
              <bitOffset>1</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>RXQSTS</name>
              <description>MTL Rx Queue Fill-Level Status
This field gives the status of the fill-level of the Rx queue:</description>
              <bitOffset>4</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>PRXQ</name>
              <description>Number of Packets in Receive Queue
This field indicates the current number of packets in the Rx queue. The theoretical maximum value for this field is 256Kbyte/16bytes = 16K Packets, that is, Max_Queue_Size/Min_Packet_Size.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>14</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>DMAMR</name>
          <displayName>DMAMR</displayName>
          <description>DMA mode register</description>
          <addressOffset>0x1000</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>SWR</name>
              <description>Software Reset
When this bit is set, the MAC and the DMA controller reset the logic and all internal registers of the DMA, MTL, and MAC. This bit is automatically cleared after the reset operation is complete in all clock domains. Before reprogramming any register, a value of zero should be read in this bit.
Note: The reset operation is complete only when all resets in all active clock domains are deasserted. Therefore, it is essential that all PHY inputs clocks (applicable for the selected PHY interface) are present for software reset completion. The time to complete the software reset operation depends on the frequency of the slowest active clock.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>DA</name>
              <description>DMA Tx or Rx Arbitration Scheme
This bit specifies the arbitration scheme between the Transmit and Receive paths of all channels:
The priority between the paths is according to the priority specified in Bits[14:12] and the priority weight is specified in the TXPR bit.
The Tx path has priority over the Rx path when the TXPR bit is set. Otherwise, the Rx path has priority over the Tx path.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TXPR</name>
              <description>Transmit priority
When set, this bit indicates that the Tx DMA has higher priority than the Rx DMA during arbitration for the system-side bus.</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>PR</name>
              <description>Priority ratio
These bits control the priority ratio in weighted round-robin arbitration between the Rx DMA and Tx DMA. These bits are valid only when the DA bit is reset. The priority ratio is Rx:Tx or Tx:Rx depending on whether the TXPR bit is reset or set.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>INTM</name>
              <description>Interrupt Mode
This field defines the interrupt mode of the Ethernet peripheral.
The behavior of the interrupt signal and of the RI/TI bits in the ETH_DMACSR register changes depending on the INTM value (refer to behavior).</description>
              <bitOffset>16</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>DMASBMR</name>
          <displayName>DMASBMR</displayName>
          <description>System bus mode register</description>
          <addressOffset>0x1004</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>FB</name>
              <description>Fixed Burst Length
When this bit is set to 1, the AHB master will initiate burst transfers of specified length (INCRx or SINGLE).
When this bit is set to 0, the AHB master will initiate transfers of unspecified length (INCR) or SINGLE transfers.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>AAL</name>
              <description>Address-Aligned Beats
When this bit is set to 1, the master performs address-aligned burst transfers on Read and Write channels.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>MB</name>
              <description>Mixed Burst
When this bit is set high and the FB bit is low, the AHB master performs undefined bursts transfers (INCR) for burst length of 16 or more. For burst length of 16 or less, the AHB master performs fixed burst transfers (INCRx and SINGLE).</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>RB</name>
              <description>Rebuild INCRx Burst
When this bit is set high and the AHB master gets SPLIT, RETRY, or Early Burst Termination (EBT) response, the AHB master interface rebuilds the pending beats of any initiated burst transfer with INCRx and SINGLE transfers. By default, the AHB master interface rebuilds pending beats of an EBT with an unspecified (INCR) burst.</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>DMAISR</name>
          <displayName>DMAISR</displayName>
          <description>Interrupt status register</description>
          <addressOffset>0x1008</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>DC0IS</name>
              <description>DMA Channel Interrupt Status
This bit indicates an interrupt event in DMA Channel. To reset this bit to 0, the software must read the corresponding register in DMA Channel to get the exact cause of the interrupt and clear its source.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>MTLIS</name>
              <description>MTL Interrupt Status
This bit indicates an interrupt event in the MTL. To reset this bit to 1'b0, the software must read the corresponding register in the MTL to get the exact cause of the interrupt and clear its source.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>MACIS</name>
              <description>MAC Interrupt Status
This bit indicates an interrupt event in the MAC. To reset this bit to 1'b0, the software must read the corresponding register in the MAC to get the exact cause of the interrupt and clear its source.</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>DMADSR</name>
          <displayName>DMADSR</displayName>
          <description>Debug status register</description>
          <addressOffset>0x100C</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>AXWHSTS</name>
              <description>AHB Master Write Channel
When high, this bit indicates that the write channel of the AHB master FMSs are in non-idle state.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>RPS0</name>
              <description>DMA Channel Receive Process State
This field indicates the Rx DMA FSM state for Channel:
The MSB of this field always returns 0. This field does not generate an interrupt.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>TPS0</name>
              <description>DMA Channel Transmit Process State
This field indicates the Tx DMA FSM state for Channel:
The MSB of this field always returns 0. This field does not generate an interrupt.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>DMACCR</name>
          <displayName>DMACCR</displayName>
          <description>Channel  control register</description>
          <addressOffset>0x1100</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>MSS</name>
              <description>Maximum Segment Size
This field specifies the maximum segment size that should be used while segmenting the packet. This field is valid only if the TSE bit of (ETH_DMACTXCR) is set.
The value programmed in this field must be more than the configured Data width in bytes. It is recommended to use a MSS value of 64 bytes or more.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>14</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>PBLX8</name>
              <description>8xPBL mode
When this bit is set, the PBL value programmed in Bits[21:16] in register (ETH_DMACTXCR) is multiplied eight times. Therefore, the DMA transfers the data in 8, 16, 32, 64, 128, and 256 beats depending on the PBL value.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>DSL</name>
              <description>Descriptor Skip Length
This bit specifies the 32-bit word number to skip between two unchained descriptors. The address skipping starts from the end of the current descriptor to the start of the next descriptor.
When the DSL value is equal to zero, the DMA takes the descriptor table as contiguous.</description>
              <bitOffset>18</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>DMACTXCR</name>
          <displayName>DMACTXCR</displayName>
          <description>Channel transmit control register</description>
          <addressOffset>0x1104</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>ST</name>
              <description>Start or Stop Transmission Command
When this bit is set, transmission is placed in the Running state. The DMA checks the Transmit list at the current position for a packet to be transmitted.
The DMA tries to acquire descriptor from either of the following positions:
The current position in the list: this is the base address of the Transmit list set by the ETH_DMACTXDLAR register.
The position at which the transmission was previously stopped
If the DMA does not own the current descriptor, the transmission enters the Suspended state and the TBU bit of the ETH_DMACSR is set. The Start Transmission command is effective only when the transmission is stopped. If the command is issued before setting the ETH_DMACTXDLAR register, the DMA behavior is unpredictable.
When this bit is reset, the transmission process is placed in the Stopped state after completing the transmission of the current packet. The Next Descriptor position in the Transmit list is saved, and it becomes the current position when the transmission is restarted. To change the list address, you need to program ETH_DMACTXDLAR register with a new value when this bit is reset. The new value is considered when this bit is set again. The stop transmission command is effective only when the transmission of the current packet is complete or the transmission is in the Suspended state.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>OSF</name>
              <description>Operate on Second Packet
When this bit is set, it instructs the DMA to process the second packet of the Transmit data even before the status for the first packet is obtained.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TSE</name>
              <description>TCP Segmentation Enabled
When this bit is set, the DMA performs the TCP segmentation for packets in Channel i. The TCP segmentation is done only for those packets for which the TSE bit (TDES0[19]) is set in the Tx Normal descriptor. When this bit is set, the TxPBL value must be greater than or equal to 4.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TXPBL</name>
              <description>Transmit Programmable Burst Length
These bits indicate the maximum number of beats to be transferred in one DMA data transfer. This is the maximum value that is used in a single block Read or Write. The DMA always attempts to burst as specified in PBL each time it starts a burst transfer on the application bus. You can program PBL with any of the following values: 1, 2, 4, 8, 16, or 32. Any other value results in undefined behavior.
To transfer more than 32 beats, perform the following steps:
Set the PBLx8 mode in ETH_DMACCR.
Set the TXPBL[5:0].
Note: The maximum value of TXPBL must be less than or equal to half the Tx Queue size (TQS field of ) in terms of beats. This is required so that the Tx Queue has space to store at least another Tx PBL worth of data while the MTL Tx Queue Controller is transferring data to MAC. The total locations in Tx Queue of size 2048 bytes is 512, TXPBL and 8xPBL needs to be programmed to less than or equal to 512/2.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>6</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>DMACRXCR</name>
          <displayName>DMACRXCR</displayName>
          <description>Channel receive control register</description>
          <addressOffset>0x1108</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>SR</name>
              <description>Start or Stop Receive
When this bit is set, the DMA tries to acquire the descriptor from the Receive list and processes the incoming packets.
The DMA tries to acquire descriptor from either of the following positions:
The current position in the list: this is the address set by the list address register (ETH_DMACRXDLAR).
The position at which the Rx process was previously stopped
If the DMA does not own the current descriptor, the reception is suspended and the RBU bit of the ETH_DMACSR is set. The Start Receive command is effective only when the reception is stopped. If the command is issued before setting the register (ETH_DMACRXDLAR), the DMA behavior is unpredictable.
When this bit is reset, the Rx DMA operation is stopped after the transfer of the current packet. The next descriptor position in the Receive list is saved, and it becomes the current position after the Rx process is restarted. The Stop Receive command is effective only when the Rx process is in the Running (waiting for Rx packet) or Suspended state.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>RBSZ</name>
              <description>Receive Buffer size
This field indicates the size of the Rx buffers specified in bytes. The maximum buffer size is limited to 16 Kbytes.
Note: The buffer size must be a multiple of 4. This is required even if the value of buffer address pointer is not aligned to bus width. If the buffer size is not a multiple of 4, it may result into an undefined behavior.
The LSB bits (1:0) are ignored and the DMA internally takes the LSB bits as all-zero. Therefore, these LSB bits are read-only (RO).</description>
              <bitOffset>1</bitOffset>
              <bitWidth>14</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>RXPBL</name>
              <description>Receive Programmable Burst Length
These bits indicate the maximum number of beats to be transferred in one DMA data transfer. This is the maximum value that is used in a single block Read or Write. The DMA always attempts to burst as specified in PBL each time it starts a burst transfer on the application bus. You can program PBL with any of the following values: 1, 2, 4, 8, 16, or 32. Any other value results in undefined behavior.
To transfer more than 32 beats, perform the following steps:
Set the PBLx8 mode in the ETH_DMACCR.
Set the RXPBL[5:0].
Note: The maximum value of RXPBL must be less than or equal to half the Rx Queue size (RQS field of ) in terms of beats. This is required so that the Rx Queue has space to store at least another Rx PBL worth of data while the MTL Rx Queue Controller is transferring data to MAC.The total locations in Rx Queue of size 2048 bytes is 512, RXPBL and 8xPBL needs to be programmed to less than or equal to 512/2.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>6</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>RPF</name>
              <description>DMA Rx Channel Packet Flush
When this bit is set to 1, the Ethernet peripheral will automatically flush the packet from the Rx queues destined to DMA Rx Channel when the DMA Rx Channel is stopped after a system bus error has occurred. When this bit remains set and the DMA is re-started by the software driver, the packets residing in the Rx Queues that were received when this RxDMA was stopped, are flushed out. The packets that are received by the MAC after the RxDMA is re-started are routed to the RxDMA. The flushing happens on the Read side of the Rx queue.
When this bit is set to 0 the Ethernet peripheral does not flush the packet in the Rx queue destined to DMA Rx Channel after the DMA is stopped due to a system bus error.
This might cause head-of-line blocking in the corresponding RxQueue.
Note: The stopping of packet flow from a Rx DMA Channel to the application by setting RPF works only when there is one-to-one mapping of Rx Queue to Rx DMA channels. In Dynamic mapping mode, setting RPF bit in ETH_DMACRXCR register might flush packets from unintended Rx Queues which are destined to the stopped Rx DMA Channel.</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>DMACTXDLAR</name>
          <displayName>DMACTXDLAR</displayName>
          <description>Channel Tx descriptor list address register</description>
          <addressOffset>0x1114</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>TDESLA</name>
              <description>Start of Transmit List
This field contains the base address of the first descriptor in the Transmit descriptor list. The DMA ignores the LSB bits (1:0) for 32-bit bus width and internally takes these bits as all-zero. Therefore, these LSB bits are read-only (RO).</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>DMACRXDLAR</name>
          <displayName>DMACRXDLAR</displayName>
          <description>Channel Rx descriptor list address register</description>
          <addressOffset>0x111C</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>RDESLA</name>
              <description>Start of Receive List
This field contains the base address of the first descriptor in the Rx Descriptor list. The DMA ignores the LSB bits (1:0) for 32-bit bus width and internally takes these bits as all-zero. Therefore, these LSB bits are read-only (RO).</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>DMACTXDTPR</name>
          <displayName>DMACTXDTPR</displayName>
          <description>Channel Tx descriptor tail pointer register</description>
          <addressOffset>0x1120</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>TDT</name>
              <description>Transmit Descriptor Tail Pointer
This field contains the tail pointer for the Tx descriptor ring. The software writes the tail pointer to add more descriptors to the Tx channel. The hardware tries to transmit all packets referenced by the descriptors between the head and the tail pointer registers.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>DMACRXDTPR</name>
          <displayName>DMACRXDTPR</displayName>
          <description>Channel Rx descriptor tail pointer register</description>
          <addressOffset>0x1128</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>RDT</name>
              <description>Receive Descriptor Tail Pointer
This field contains the tail pointer for the Rx descriptor ring. The software writes the tail pointer to add more descriptors to the Rx channel. The hardware tries to write all received packets to the descriptors referenced between the head and the tail pointer registers.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>DMACTXRLR</name>
          <displayName>DMACTXRLR</displayName>
          <description>Channel Tx descriptor ring length register</description>
          <addressOffset>0x112C</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>TDRL</name>
              <description>Transmit Descriptor Ring Length
This field sets the maximum number of Tx descriptors in the circular descriptor ring. The maximum number of descriptors is limited to 1K descriptors. It is recommended to put a minimum ring descriptor length of 4.
For example, you can program any value up to 0x3FF in this field. This field is 10 bits wide, if you program 0x3FF, you can have 1024 descriptors. If you want to have 10 descriptors, program it to a value of 0x9.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>10</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>DMACRXRLR</name>
          <displayName>DMACRXRLR</displayName>
          <description>Channel  Rx descriptor ring length register</description>
          <addressOffset>0x1130</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>RDRL</name>
              <description>Receive Descriptor Ring Length
This register sets the maximum number of Rx descriptors in the circular descriptor ring. The maximum number of descriptors is limited to 1K descriptors.
For example, you can program any value up to 0x3FF in this field. This field is 10-bit wide. If you program 0x3FF, you can have 1024 descriptors. If you want to have 10 descriptors, program it to a value of 0x9.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>10</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ARBS</name>
              <description>Alternate Receive Buffer Size
Indicates size in bytes for Buffer 1 when ARBS[7:0] is programmed to a non-zero value.
When ARBS[7:0] = 0, Rx Buffer1 and Rx Buffer2 sizes are based on RBSZ[13:0] field of .</description>
              <bitOffset>16</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>DMACIER</name>
          <displayName>DMACIER</displayName>
          <description>Channel interrupt enable register</description>
          <addressOffset>0x1134</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>TIE</name>
              <description>Transmit Interrupt Enable
When this bit is set along with the NIE bit, the Transmit Interrupt is enabled. When this bit is reset, the Transmit Interrupt is disabled.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TXSE</name>
              <description>Transmit Stopped Enable
When this bit is set along with the AIE bit, the Transmission Stopped interrupt is enabled. When this bit is reset, the Transmission Stopped interrupt is disabled.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TBUE</name>
              <description>Transmit Buffer Unavailable Enable
When this bit is set along with the NIE bit, the Transmit Buffer Unavailable interrupt is enabled. When this bit is reset, the Transmit Buffer Unavailable interrupt is disabled.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>RIE</name>
              <description>Receive Interrupt Enable
When this bit is set along with the NIE bit, the Receive Interrupt is enabled. When this bit is reset, the Receive Interrupt is disabled.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>RBUE</name>
              <description>Receive Buffer Unavailable Enable
When this bit is set along with the AIE bit, the Receive Buffer Unavailable interrupt is enabled. When this bit is reset, the Receive Buffer Unavailable interrupt is disabled.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>RSE</name>
              <description>Receive Stopped Enable
When this bit is set along with the AIE bit, the Receive Stopped Interrupt is enabled. When this bit is reset, the Receive Stopped interrupt is disabled.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>RWTE</name>
              <description>Receive Watchdog Timeout Enable
When this bit is set along with the AIE bit, the Receive Watchdog Timeout interrupt is enabled. When this bit is reset, the Receive Watchdog Timeout interrupt is disabled.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ETIE</name>
              <description>Early Transmit Interrupt Enable
When this bit is set along with the AIE bit, the Early Transmit interrupt is enabled. When this bit is reset, the Early Transmit interrupt is disabled.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ERIE</name>
              <description>Early Receive Interrupt Enable
When this bit is set along with the NIE bit, the Early Receive interrupt is enabled. When this bit is reset, the Early Receive interrupt is disabled.</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>FBEE</name>
              <description>Fatal Bus Error Enable
When this bit is set along with the AIE bit, the Fatal Bus error interrupt is enabled. When this bit is reset, the Fatal Bus Error error interrupt is disabled.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CDEE</name>
              <description>Context Descriptor Error Enable
When this bit is set along with the AIE bit, the Context Descriptor error interrupt is enabled. When this bit is reset, the Context Descriptor error interrupt is disabled.</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>AIE</name>
              <description>Abnormal Interrupt Summary Enable
When this bit is set, the abnormal interrupt summary is enabled. This bit enables the following interrupts in the :
Bit 1: Transmit Process Stopped
Bit 7: Rx Buffer Unavailable
Bit 8: Receive Process Stopped
Bit 9: Receive Watchdog Timeout
Bit 10: Early Transmit Interrupt
Bit 12: Fatal Bus Error
When this bit is reset, the abnormal interrupt summary is disabled.</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>NIE</name>
              <description>Normal Interrupt Summary Enable
When this bit is set, the normal interrupt summary is enabled. This bit enables the following interrupts in the :
Bit 0: Transmit Interrupt
Bit 2: Transmit Buffer Unavailable
Bit 6: Receive Interrupt
Bit 11: Early Receive Interrupt
When this bit is reset, the normal interrupt summary is disabled.</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>DMACRXIWTR</name>
          <displayName>DMACRXIWTR</displayName>
          <description>Channel Rx interrupt watchdog timer register</description>
          <addressOffset>0x1138</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>RWT</name>
              <description>Receive Interrupt Watchdog Timer Count
This field indicates the number of system clock cycles, multiplied by factor indicated in RWTU field, for which the watchdog timer is set.
The watchdog timer is triggered with the programmed value after the Rx DMA completes the transfer of a packet for which the RI bit is not set in the ETH_DMACSR, because of the setting of Interrupt Enable bit in the corresponding descriptor RDES3[30].
When the watchdog timer runs out, the RI bit is set and the timer is stopped. The watchdog timer is reset when the RI bit is set high because of automatic setting of RI as per the Interrupt Enable bit RDES3[30] of any received packet.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>RWTU</name>
              <description>Receive Interrupt Watchdog Timer Count Units
This field indicates the number of system clock cycles corresponding to one unit in RWT[7:0] field.
For example, when RWT[7:0] = 2 and RWTU[1:0] = 1, the watchdog timer is set for 2 * 512 = 1024 system clock cycles.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>DMACCATXDR</name>
          <displayName>DMACCATXDR</displayName>
          <description>Channel current application transmit descriptor register</description>
          <addressOffset>0x1144</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>CURTDESAPTR</name>
              <description>Application Transmit Descriptor Address Pointer
The DMA updates this pointer during Tx operation. This pointer is cleared on reset.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>DMACCARXDR</name>
          <displayName>DMACCARXDR</displayName>
          <description>Channel current application receive descriptor register</description>
          <addressOffset>0x114C</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>CURRDESAPTR</name>
              <description>Application Receive Descriptor Address Pointer
The DMA updates this pointer during Rx operation. This pointer is cleared on reset.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>DMACCATXBR</name>
          <displayName>DMACCATXBR</displayName>
          <description>Channel current application transmit buffer register</description>
          <addressOffset>0x1154</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>CURTBUFAPTR</name>
              <description>Application Transmit Buffer Address Pointer
The DMA updates this pointer during Tx operation. This pointer is cleared on reset.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>DMACCARXBR</name>
          <displayName>DMACCARXBR</displayName>
          <description>Channel current application receive buffer register</description>
          <addressOffset>0x115C</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>CURRBUFAPTR</name>
              <description>Application Receive Buffer Address Pointer
The DMA updates this pointer during Rx operation. This pointer is cleared on reset.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>DMACSR</name>
          <displayName>DMACSR</displayName>
          <description>Channel status register</description>
          <addressOffset>0x1160</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>TI</name>
              <description>Transmit Interrupt
This bit indicates that the packet transmission is complete. When transmission is complete, Bit 31 of TDES3 is reset in the last descriptor, and the specific packet status information is updated in the descriptor.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TPS</name>
              <description>Transmit Process Stopped
This bit is set when the transmission is stopped.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TBU</name>
              <description>Transmit Buffer Unavailable
This bit indicates that the application owns the next descriptor in the Transmit list, and the DMA cannot acquire it. Transmission is suspended. The TPSi field of the register (ETH_DMADSR) register explains the Transmit Process state transitions.
To resume processing the Transmit descriptors, the application should do the following:
1. Change the ownership of the descriptor by setting Bit 31 of TDES3.
2. Issue a Transmit Poll Demand command.
For ring mode, the application should advance the Transmit Descriptor Tail Pointer register of a channel.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>RI</name>
              <description>Receive Interrupt
This bit indicates that the packet reception is complete. When packet reception is complete, Bit 31 of RDES1 is reset in the last descriptor, and the specific packet status information is updated in the descriptor.
The reception remains in the Running state.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>RBU</name>
              <description>Receive Buffer Unavailable
This bit indicates that the application owns the next descriptor in the Receive list, and the DMA cannot acquire it. The Rx process is suspended. To resume processing Rx descriptors, the application should change the ownership of the descriptor and issue a Receive Poll Demand command. If this command is not issued, the Rx process resumes when the next recognized incoming packet is received. In ring mode, the application should advance the Receive Descriptor Tail Pointer register of a channel. This bit is set only when the DMA owns the previous Rx descriptor.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>RPS</name>
              <description>Receive Process Stopped
This bit is asserted when the Rx process enters the Stopped state.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>RWT</name>
              <description>Receive Watchdog Timeout
This bit is asserted when a packet with length greater than 2,048 bytes (10,240 bytes when Jumbo Packet mode is enabled) is received.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ETI</name>
              <description>Early Transmit Interrupt
This bit indicates that the packet to be transmitted is fully transferred to the MTL Tx FIFO.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ERI</name>
              <description>Early Receive Interrupt
This bit indicates that the DMA filled the first data buffer of the packet.The RI bit of this register automatically clears this bit.</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>FBE</name>
              <description>Fatal Bus Error
This bit indicates that a bus error occurred (as described in the EB field). When this bit is set, the corresponding DMA channel engine disables all bus accesses.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CDE</name>
              <description>Context Descriptor Error
This bit indicates that the DMA Tx/Rx engine received a descriptor error, which indicates invalid context in the middle of packet flow (intermediate descriptor) or all ones descriptor in Tx case and on Rx side it indicates DMA has read a descriptor with either of the buffer address as ones which is considered to be invalid.</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>AIS</name>
              <description>Abnormal Interrupt Summary
Abnormal Interrupt Summary bit value is the logical OR of the following when the corresponding interrupt bits are enabled in the ETH_DMACIER register:
Bit 1: Transmit Process Stopped
Bit 7: Receive Buffer Unavailable
Bit 8: Receive Process Stopped
Bit 10: Early Transmit Interrupt
Bit 12: Fatal Bus Error
Bit 13: Context Descriptor Error
Only unmasked bits affect the Abnormal Interrupt Summary bit.
This is a sticky bit. You must clear this bit (by writing 1 to this bit) each time a corresponding bit, which causes AIS to be set, is cleared.</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>NIS</name>
              <description>Normal Interrupt Summary
Normal Interrupt Summary bit value is the logical OR of the following bits when the corresponding interrupt bits are enabled in the ETH_DMACIER register:
Bit 0: Transmit Interrupt
Bit 2: Transmit Buffer Unavailable
Bit 6: Receive Interrupt
Bit 11: Early Receive Interrupt
Only unmasked bits (interrupts for which interrupt enable is set in ETH_DMACIER register) affect the Normal Interrupt Summary bit.
This is a sticky bit. You must clear this bit (by writing 1 to this bit) each time a corresponding bit which causes NIS to be set is cleared.</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TEB</name>
              <description>Tx DMA Error Bits
This field indicates the type of error that caused a Bus Error. For example, error response on the AHB interface.
Bit[2]: Error during data transfer by Tx DMA when 1, no Error during data transfer by Tx DMA when 0
Bit[1]: Error during descriptor access when 1, Error during data buffer access when 0
Bit[0]: Error during read transfer when 1, Error during write transfer when 0
This field is valid only when the FBE bit is set. This field does not generate an interrupt.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>REB</name>
              <description>Rx DMA Error Bits
This field indicates the type of error that caused a Bus Error. For example, error response on the AHB interface.
Bit [2]: Error during data transfer by Rx DMA when 1, no Error during data transfer by Rx DMA when 0.
Bit[1]: Error during descriptor access when 1, Error during data buffer access when 0
Bit[0]: Error during read transfer when 1, Error during write transfer when 0
This field is valid only when the FBE bit is set. This field does not generate an interrupt.</description>
              <bitOffset>19</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>DMACMFCR</name>
          <displayName>DMACMFCR</displayName>
          <description>Channel missed frame count register</description>
          <addressOffset>0x116C</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>MFC</name>
              <description>Dropped Packet Counters
This counter indicates the number of packet counters that are dropped by the DMA either because of bus error or because of programing RPF field in register (ETH_DMACRXCR). The counter gets cleared when this register is read.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>11</bitWidth>
              <access>read-write</access>
              <readAction>clear</readAction>
            </field>
            <field>
              <name>MFCO</name>
              <description>Overflow status of the MFC Counter
When this bit is set then the MFC counter does not get incremented further. The bit gets cleared when this register is read.</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <readAction>clear</readAction>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>DMA1</name>
      <description>DMA controller</description>
      <groupName>DMA</groupName>
      <baseAddress>0x40020000</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>DMA_STR0</name>
        <description>DMA1 Stream0</description>
        <value>11</value>
      </interrupt>
      <interrupt>
        <name>DMA_STR1</name>
        <description>DMA1 Stream1</description>
        <value>12</value>
      </interrupt>
      <interrupt>
        <name>DMA_STR2</name>
        <description>DMA1 Stream2</description>
        <value>13</value>
      </interrupt>
      <interrupt>
        <name>DMA_STR3</name>
        <description>DMA1 Stream3</description>
        <value>14</value>
      </interrupt>
      <interrupt>
        <name>DMA_STR4</name>
        <description>DMA1 Stream4</description>
        <value>15</value>
      </interrupt>
      <interrupt>
        <name>DMA_STR5</name>
        <description>DMA1 Stream5</description>
        <value>16</value>
      </interrupt>
      <interrupt>
        <name>DMA_STR6</name>
        <description>DMA1 Stream6</description>
        <value>17</value>
      </interrupt>
      <interrupt>
        <name>DMA1_STR7</name>
        <description>DMA1 Stream7</description>
        <value>47</value>
      </interrupt>
      <registers>
        <register>
          <name>LISR</name>
          <displayName>LISR</displayName>
          <description>low interrupt status register</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TCIF0</name>
              <description>Stream x transfer complete interrupt
              flag (x = 3..0)</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TCIF0</name>
                <enumeratedValue>
                  <name>NotComplete</name>
                  <description>No transfer complete event on stream x</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Complete</name>
                  <description>A transfer complete event occurred on stream x</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TCIF3</name>
              <description>Stream x transfer complete interrupt
              flag (x = 3..0)</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TCIF0"/>
            </field>
            <field>
              <name>HTIF0</name>
              <description>Stream x half transfer interrupt flag
              (x=3..0)</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>HTIF0</name>
                <enumeratedValue>
                  <name>NotHalf</name>
                  <description>No half transfer event on stream x</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Half</name>
                  <description>A half transfer event occurred on stream x</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>HTIF3</name>
              <description>Stream x half transfer interrupt flag
              (x=3..0)</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="HTIF0"/>
            </field>
            <field>
              <name>TEIF0</name>
              <description>Stream x transfer error interrupt flag
              (x=3..0)</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TEIF0</name>
                <enumeratedValue>
                  <name>NoError</name>
                  <description>No transfer error on stream x</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Error</name>
                  <description>A transfer error occurred on stream x</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TEIF3</name>
              <description>Stream x transfer error interrupt flag
              (x=3..0)</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TEIF0"/>
            </field>
            <field>
              <name>DMEIF0</name>
              <description>Stream x direct mode error interrupt
              flag (x=3..0)</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DMEIF0</name>
                <enumeratedValue>
                  <name>NoError</name>
                  <description>No Direct Mode error on stream x</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Error</name>
                  <description>A Direct Mode error occurred on stream x</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DMEIF3</name>
              <description>Stream x direct mode error interrupt
              flag (x=3..0)</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DMEIF0"/>
            </field>
            <field>
              <name>FEIF0</name>
              <description>Stream x FIFO error interrupt flag
              (x=3..0)</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>FEIF0</name>
                <enumeratedValue>
                  <name>NoError</name>
                  <description>No FIFO error event on stream x</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Error</name>
                  <description>A FIFO error event occurred on stream x</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FEIF3</name>
              <description>Stream x FIFO error interrupt flag
              (x=3..0)</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="FEIF0"/>
            </field>
            <field>
              <name>TCIF2</name>
              <description>Stream x transfer complete interrupt
              flag (x = 3..0)</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TCIF0"/>
            </field>
            <field>
              <name>HTIF2</name>
              <description>Stream x half transfer interrupt flag
              (x=3..0)</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="HTIF0"/>
            </field>
            <field>
              <name>TEIF2</name>
              <description>Stream x transfer error interrupt flag
              (x=3..0)</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TEIF0"/>
            </field>
            <field>
              <name>DMEIF2</name>
              <description>Stream x direct mode error interrupt
              flag (x=3..0)</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DMEIF0"/>
            </field>
            <field>
              <name>FEIF2</name>
              <description>Stream x FIFO error interrupt flag
              (x=3..0)</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="FEIF0"/>
            </field>
            <field>
              <name>TCIF1</name>
              <description>Stream x transfer complete interrupt
              flag (x = 3..0)</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TCIF0"/>
            </field>
            <field>
              <name>HTIF1</name>
              <description>Stream x half transfer interrupt flag
              (x=3..0)</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="HTIF0"/>
            </field>
            <field>
              <name>TEIF1</name>
              <description>Stream x transfer error interrupt flag
              (x=3..0)</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TEIF0"/>
            </field>
            <field>
              <name>DMEIF1</name>
              <description>Stream x direct mode error interrupt
              flag (x=3..0)</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DMEIF0"/>
            </field>
            <field>
              <name>FEIF1</name>
              <description>Stream x FIFO error interrupt flag
              (x=3..0)</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="FEIF0"/>
            </field>
          </fields>
        </register>
        <register>
          <name>HISR</name>
          <displayName>HISR</displayName>
          <description>high interrupt status register</description>
          <addressOffset>0x4</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TCIF4</name>
              <description>Stream x transfer complete interrupt
              flag (x=7..4)</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TCIF4</name>
                <enumeratedValue>
                  <name>NotComplete</name>
                  <description>No transfer complete event on stream x</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Complete</name>
                  <description>A transfer complete event occurred on stream x</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TCIF7</name>
              <description>Stream x transfer complete interrupt
              flag (x=7..4)</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TCIF4"/>
            </field>
            <field>
              <name>HTIF4</name>
              <description>Stream x half transfer interrupt flag
              (x=7..4)</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>HTIF4</name>
                <enumeratedValue>
                  <name>NotHalf</name>
                  <description>No half transfer event on stream x</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Half</name>
                  <description>A half transfer event occurred on stream x</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>HTIF7</name>
              <description>Stream x half transfer interrupt flag
              (x=7..4)</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="HTIF4"/>
            </field>
            <field>
              <name>TEIF4</name>
              <description>Stream x transfer error interrupt flag
              (x=7..4)</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TEIF4</name>
                <enumeratedValue>
                  <name>NoError</name>
                  <description>No transfer error on stream x</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Error</name>
                  <description>A transfer error occurred on stream x</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TEIF7</name>
              <description>Stream x transfer error interrupt flag
              (x=7..4)</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TEIF4"/>
            </field>
            <field>
              <name>DMEIF4</name>
              <description>Stream x direct mode error interrupt
              flag (x=7..4)</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DMEIF4</name>
                <enumeratedValue>
                  <name>NoError</name>
                  <description>No Direct Mode error on stream x</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Error</name>
                  <description>A Direct Mode error occurred on stream x</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DMEIF7</name>
              <description>Stream x direct mode error interrupt
              flag (x=7..4)</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DMEIF4"/>
            </field>
            <field>
              <name>FEIF4</name>
              <description>Stream x FIFO error interrupt flag
              (x=7..4)</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>FEIF4</name>
                <enumeratedValue>
                  <name>NoError</name>
                  <description>No FIFO error event on stream x</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Error</name>
                  <description>A FIFO error event occurred on stream x</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FEIF7</name>
              <description>Stream x FIFO error interrupt flag
              (x=7..4)</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="FEIF4"/>
            </field>
            <field>
              <name>TCIF6</name>
              <description>Stream x transfer complete interrupt
              flag (x=7..4)</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TCIF4"/>
            </field>
            <field>
              <name>HTIF6</name>
              <description>Stream x half transfer interrupt flag
              (x=7..4)</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="HTIF4"/>
            </field>
            <field>
              <name>TEIF6</name>
              <description>Stream x transfer error interrupt flag
              (x=7..4)</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TEIF4"/>
            </field>
            <field>
              <name>DMEIF6</name>
              <description>Stream x direct mode error interrupt
              flag (x=7..4)</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DMEIF4"/>
            </field>
            <field>
              <name>FEIF6</name>
              <description>Stream x FIFO error interrupt flag
              (x=7..4)</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="FEIF4"/>
            </field>
            <field>
              <name>TCIF5</name>
              <description>Stream x transfer complete interrupt
              flag (x=7..4)</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TCIF4"/>
            </field>
            <field>
              <name>HTIF5</name>
              <description>Stream x half transfer interrupt flag
              (x=7..4)</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="HTIF4"/>
            </field>
            <field>
              <name>TEIF5</name>
              <description>Stream x transfer error interrupt flag
              (x=7..4)</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TEIF4"/>
            </field>
            <field>
              <name>DMEIF5</name>
              <description>Stream x direct mode error interrupt
              flag (x=7..4)</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DMEIF4"/>
            </field>
            <field>
              <name>FEIF5</name>
              <description>Stream x FIFO error interrupt flag
              (x=7..4)</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="FEIF4"/>
            </field>
          </fields>
        </register>
        <register>
          <name>LIFCR</name>
          <displayName>LIFCR</displayName>
          <description>low interrupt flag clear
          register</description>
          <addressOffset>0x8</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CTCIF0</name>
              <description>Stream x clear transfer complete
              interrupt flag (x = 3..0)</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CTCIF0</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear the corresponding TCIFx flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CTCIF3</name>
              <description>Stream x clear transfer complete
              interrupt flag (x = 3..0)</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CTCIF0"/>
            </field>
            <field>
              <name>CHTIF0</name>
              <description>Stream x clear half transfer interrupt
              flag (x = 3..0)</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CHTIF0</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear the corresponding HTIFx flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CHTIF3</name>
              <description>Stream x clear half transfer interrupt
              flag (x = 3..0)</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CHTIF0"/>
            </field>
            <field>
              <name>CTEIF0</name>
              <description>Stream x clear transfer error interrupt
              flag (x = 3..0)</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CTEIF0</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear the corresponding TEIFx flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CTEIF3</name>
              <description>Stream x clear transfer error interrupt
              flag (x = 3..0)</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CTEIF0"/>
            </field>
            <field>
              <name>CDMEIF0</name>
              <description>Stream x clear direct mode error
              interrupt flag (x = 3..0)</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CDMEIF0</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear the corresponding DMEIFx flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CDMEIF3</name>
              <description>Stream x clear direct mode error
              interrupt flag (x = 3..0)</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CDMEIF0"/>
            </field>
            <field>
              <name>CFEIF0</name>
              <description>Stream x clear FIFO error interrupt flag
              (x = 3..0)</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CFEIF0</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear the corresponding CFEIFx flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CFEIF3</name>
              <description>Stream x clear FIFO error interrupt flag
              (x = 3..0)</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CFEIF0"/>
            </field>
            <field>
              <name>CTCIF2</name>
              <description>Stream x clear transfer complete
              interrupt flag (x = 3..0)</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CTCIF0"/>
            </field>
            <field>
              <name>CHTIF2</name>
              <description>Stream x clear half transfer interrupt
              flag (x = 3..0)</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CHTIF0"/>
            </field>
            <field>
              <name>CTEIF2</name>
              <description>Stream x clear transfer error interrupt
              flag (x = 3..0)</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CTEIF0"/>
            </field>
            <field>
              <name>CDMEIF2</name>
              <description>Stream x clear direct mode error
              interrupt flag (x = 3..0)</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CDMEIF0"/>
            </field>
            <field>
              <name>CFEIF2</name>
              <description>Stream x clear FIFO error interrupt flag
              (x = 3..0)</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CFEIF0"/>
            </field>
            <field>
              <name>CTCIF1</name>
              <description>Stream x clear transfer complete
              interrupt flag (x = 3..0)</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CTCIF0"/>
            </field>
            <field>
              <name>CHTIF1</name>
              <description>Stream x clear half transfer interrupt
              flag (x = 3..0)</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CHTIF0"/>
            </field>
            <field>
              <name>CTEIF1</name>
              <description>Stream x clear transfer error interrupt
              flag (x = 3..0)</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CTEIF0"/>
            </field>
            <field>
              <name>CDMEIF1</name>
              <description>Stream x clear direct mode error
              interrupt flag (x = 3..0)</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CDMEIF0"/>
            </field>
            <field>
              <name>CFEIF1</name>
              <description>Stream x clear FIFO error interrupt flag
              (x = 3..0)</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CFEIF0"/>
            </field>
          </fields>
        </register>
        <register>
          <name>HIFCR</name>
          <displayName>HIFCR</displayName>
          <description>high interrupt flag clear
          register</description>
          <addressOffset>0xC</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CTCIF4</name>
              <description>Stream x clear transfer complete
              interrupt flag (x = 7..4)</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CTCIF4</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear the corresponding TCIFx flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CTCIF7</name>
              <description>Stream x clear transfer complete
              interrupt flag (x = 7..4)</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CTCIF4"/>
            </field>
            <field>
              <name>CHTIF4</name>
              <description>Stream x clear half transfer interrupt
              flag (x = 7..4)</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CHTIF4</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear the corresponding HTIFx flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CHTIF7</name>
              <description>Stream x clear half transfer interrupt
              flag (x = 7..4)</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CHTIF4"/>
            </field>
            <field>
              <name>CTEIF4</name>
              <description>Stream x clear transfer error interrupt
              flag (x = 7..4)</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CTEIF4</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear the corresponding TEIFx flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CTEIF7</name>
              <description>Stream x clear transfer error interrupt
              flag (x = 7..4)</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CTEIF4"/>
            </field>
            <field>
              <name>CDMEIF4</name>
              <description>Stream x clear direct mode error
              interrupt flag (x = 7..4)</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CDMEIF4</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear the corresponding DMEIFx flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CDMEIF7</name>
              <description>Stream x clear direct mode error
              interrupt flag (x = 7..4)</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CDMEIF4"/>
            </field>
            <field>
              <name>CFEIF4</name>
              <description>Stream x clear FIFO error interrupt flag
              (x = 7..4)</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CFEIF4</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear the corresponding CFEIFx flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CFEIF7</name>
              <description>Stream x clear FIFO error interrupt flag
              (x = 7..4)</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CFEIF4"/>
            </field>
            <field>
              <name>CTCIF6</name>
              <description>Stream x clear transfer complete
              interrupt flag (x = 7..4)</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CTCIF4"/>
            </field>
            <field>
              <name>CHTIF6</name>
              <description>Stream x clear half transfer interrupt
              flag (x = 7..4)</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CHTIF4"/>
            </field>
            <field>
              <name>CTEIF6</name>
              <description>Stream x clear transfer error interrupt
              flag (x = 7..4)</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CTEIF4"/>
            </field>
            <field>
              <name>CDMEIF6</name>
              <description>Stream x clear direct mode error
              interrupt flag (x = 7..4)</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CDMEIF4"/>
            </field>
            <field>
              <name>CFEIF6</name>
              <description>Stream x clear FIFO error interrupt flag
              (x = 7..4)</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CFEIF4"/>
            </field>
            <field>
              <name>CTCIF5</name>
              <description>Stream x clear transfer complete
              interrupt flag (x = 7..4)</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CTCIF4"/>
            </field>
            <field>
              <name>CHTIF5</name>
              <description>Stream x clear half transfer interrupt
              flag (x = 7..4)</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CHTIF4"/>
            </field>
            <field>
              <name>CTEIF5</name>
              <description>Stream x clear transfer error interrupt
              flag (x = 7..4)</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CTEIF4"/>
            </field>
            <field>
              <name>CDMEIF5</name>
              <description>Stream x clear direct mode error
              interrupt flag (x = 7..4)</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CDMEIF4"/>
            </field>
            <field>
              <name>CFEIF5</name>
              <description>Stream x clear FIFO error interrupt flag
              (x = 7..4)</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CFEIF4"/>
            </field>
          </fields>
        </register>
        <cluster>
          <dim>8</dim>
          <dimIncrement>0x18</dimIncrement>
          <dimIndex>0-7</dimIndex>
          <name>ST%s</name>
          <description>Stream cluster: S?CR, S?NDTR, S?M0AR, S?M1AR and S?FCR registers</description>
          <addressOffset>0x10</addressOffset>
          <register>
            <name>CR</name>
            <displayName>S0CR</displayName>
            <description>stream x configuration
          register</description>
            <addressOffset>0x0</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>PBURST</name>
                <description>Peripheral burst transfer
              configuration</description>
                <bitOffset>21</bitOffset>
                <bitWidth>2</bitWidth>
                <enumeratedValues>
                  <name>PBURST</name>
                  <enumeratedValue>
                    <name>Single</name>
                    <description>Single transfer</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>INCR4</name>
                    <description>Incremental burst of 4 beats</description>
                    <value>1</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>INCR8</name>
                    <description>Incremental burst of 8 beats</description>
                    <value>2</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>INCR16</name>
                    <description>Incremental burst of 16 beats</description>
                    <value>3</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>MBURST</name>
                <description>Memory burst transfer
              configuration</description>
                <bitOffset>23</bitOffset>
                <bitWidth>2</bitWidth>
                <enumeratedValues derivedFrom="PBURST"/>
              </field>
              <field>
                <name>CT</name>
                <description>Current target (only in double buffer
              mode)</description>
                <bitOffset>19</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>CT</name>
                  <enumeratedValue>
                    <name>Memory0</name>
                    <description>The current target memory is Memory 0</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Memory1</name>
                    <description>The current target memory is Memory 1</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>DBM</name>
                <description>Double buffer mode</description>
                <bitOffset>18</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>DBM</name>
                  <enumeratedValue>
                    <name>Disabled</name>
                    <description>No buffer switching at the end of transfer</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Enabled</name>
                    <description>Memory target switched at the end of the DMA transfer</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>PL</name>
                <description>Priority level</description>
                <bitOffset>16</bitOffset>
                <bitWidth>2</bitWidth>
                <enumeratedValues>
                  <name>PL</name>
                  <enumeratedValue>
                    <name>Low</name>
                    <description>Low</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Medium</name>
                    <description>Medium</description>
                    <value>1</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>High</name>
                    <description>High</description>
                    <value>2</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>VeryHigh</name>
                    <description>Very high</description>
                    <value>3</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>PINCOS</name>
                <description>Peripheral increment offset
              size</description>
                <bitOffset>15</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>PINCOS</name>
                  <enumeratedValue>
                    <name>PSIZE</name>
                    <description>The offset size for the peripheral address calculation is linked to the PSIZE</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Fixed4</name>
                    <description>The offset size for the peripheral address calculation is fixed to 4 (32-bit alignment)</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>PSIZE</name>
                <description>Peripheral data size</description>
                <bitOffset>11</bitOffset>
                <bitWidth>2</bitWidth>
                <enumeratedValues>
                  <name>PSIZE</name>
                  <enumeratedValue>
                    <name>Bits8</name>
                    <description>Byte (8-bit)</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Bits16</name>
                    <description>Half-word (16-bit)</description>
                    <value>1</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Bits32</name>
                    <description>Word (32-bit)</description>
                    <value>2</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>MSIZE</name>
                <description>Memory data size</description>
                <bitOffset>13</bitOffset>
                <bitWidth>2</bitWidth>
                <enumeratedValues derivedFrom="PSIZE"/>
              </field>
              <field>
                <name>PINC</name>
                <description>Peripheral increment mode</description>
                <bitOffset>9</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>PINC</name>
                  <enumeratedValue>
                    <name>Fixed</name>
                    <description>Address pointer is fixed</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Incremented</name>
                    <description>Address pointer is incremented after each data transfer</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>MINC</name>
                <description>Memory increment mode</description>
                <bitOffset>10</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues derivedFrom="PINC"/>
              </field>
              <field>
                <name>CIRC</name>
                <description>Circular mode</description>
                <bitOffset>8</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>CIRC</name>
                  <enumeratedValue>
                    <name>Disabled</name>
                    <description>Circular mode disabled</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Enabled</name>
                    <description>Circular mode enabled</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>DIR</name>
                <description>Data transfer direction</description>
                <bitOffset>6</bitOffset>
                <bitWidth>2</bitWidth>
                <enumeratedValues>
                  <name>DIR</name>
                  <enumeratedValue>
                    <name>PeripheralToMemory</name>
                    <description>Peripheral-to-memory</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>MemoryToPeripheral</name>
                    <description>Memory-to-peripheral</description>
                    <value>1</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>MemoryToMemory</name>
                    <description>Memory-to-memory</description>
                    <value>2</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>PFCTRL</name>
                <description>Peripheral flow controller</description>
                <bitOffset>5</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>PFCTRL</name>
                  <enumeratedValue>
                    <name>DMA</name>
                    <description>The DMA is the flow controller</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Peripheral</name>
                    <description>The peripheral is the flow controller</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>TCIE</name>
                <description>Transfer complete interrupt
              enable</description>
                <bitOffset>4</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>TCIE</name>
                  <enumeratedValue>
                    <name>Disabled</name>
                    <description>TC interrupt disabled</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Enabled</name>
                    <description>TC interrupt enabled</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>HTIE</name>
                <description>Half transfer interrupt
              enable</description>
                <bitOffset>3</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>HTIE</name>
                  <enumeratedValue>
                    <name>Disabled</name>
                    <description>HT interrupt disabled</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Enabled</name>
                    <description>HT interrupt enabled</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>TEIE</name>
                <description>Transfer error interrupt
              enable</description>
                <bitOffset>2</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>TEIE</name>
                  <enumeratedValue>
                    <name>Disabled</name>
                    <description>TE interrupt disabled</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Enabled</name>
                    <description>TE interrupt enabled</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>DMEIE</name>
                <description>Direct mode error interrupt
              enable</description>
                <bitOffset>1</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>DMEIE</name>
                  <enumeratedValue>
                    <name>Disabled</name>
                    <description>DME interrupt disabled</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Enabled</name>
                    <description>DME interrupt enabled</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>EN</name>
                <description>Stream enable / flag stream ready when
              read low</description>
                <bitOffset>0</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>EN</name>
                  <enumeratedValue>
                    <name>Disabled</name>
                    <description>Stream disabled</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Enabled</name>
                    <description>Stream enabled</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>TRBUFF</name>
                <description>Enable the DMA to handle bufferable transfers</description>
                <bitOffset>20</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
                <enumeratedValues>
                  <name>TRBUFF</name>
                  <enumeratedValue>
                    <name>Disabled</name>
                    <description>Bufferable transfers not enabled</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Enabled</name>
                    <description>Bufferable transfers enabled</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
            </fields>
          </register>
          <register>
            <name>NDTR</name>
            <displayName>S0NDTR</displayName>
            <description>stream x number of data
          register</description>
            <addressOffset>0x4</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>NDT</name>
                <description>Number of data items to
              transfer</description>
                <bitOffset>0</bitOffset>
                <bitWidth>16</bitWidth>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>65535</maximum>
                  </range>
                </writeConstraint>
              </field>
            </fields>
          </register>
          <register>
            <name>PAR</name>
            <displayName>S0PAR</displayName>
            <description>stream x peripheral address
          register</description>
            <addressOffset>0x8</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>PA</name>
                <description>Peripheral address</description>
                <bitOffset>0</bitOffset>
                <bitWidth>32</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>M0AR</name>
            <displayName>S0M0AR</displayName>
            <description>stream x memory 0 address
          register</description>
            <addressOffset>0xC</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>M0A</name>
                <description>Memory 0 address</description>
                <bitOffset>0</bitOffset>
                <bitWidth>32</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>M1AR</name>
            <displayName>S0M1AR</displayName>
            <description>stream x memory 1 address
          register</description>
            <addressOffset>0x10</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>M1A</name>
                <description>Memory 1 address (used in case of Double
              buffer mode)</description>
                <bitOffset>0</bitOffset>
                <bitWidth>32</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>FCR</name>
            <displayName>S0FCR</displayName>
            <description>stream x FIFO control register</description>
            <addressOffset>0x14</addressOffset>
            <size>0x20</size>
            <resetValue>0x00000021</resetValue>
            <fields>
              <field>
                <name>FEIE</name>
                <description>FIFO error interrupt
              enable</description>
                <bitOffset>7</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
                <enumeratedValues>
                  <name>FEIE</name>
                  <enumeratedValue>
                    <name>Disabled</name>
                    <description>FE interrupt disabled</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Enabled</name>
                    <description>FE interrupt enabled</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>FS</name>
                <description>FIFO status</description>
                <bitOffset>3</bitOffset>
                <bitWidth>3</bitWidth>
                <access>read-only</access>
                <enumeratedValues>
                  <name>FS</name>
                  <enumeratedValue>
                    <name>Quarter1</name>
                    <description>0 &lt; fifo_level &lt; 1/4</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Quarter2</name>
                    <description>1/4 &lt;= fifo_level &lt; 1/2</description>
                    <value>1</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Quarter3</name>
                    <description>1/2 &lt;= fifo_level &lt; 3/4</description>
                    <value>2</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Quarter4</name>
                    <description>3/4 &lt;= fifo_level &lt; full</description>
                    <value>3</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Empty</name>
                    <description>FIFO is empty</description>
                    <value>4</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Full</name>
                    <description>FIFO is full</description>
                    <value>5</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>DMDIS</name>
                <description>Direct mode disable</description>
                <bitOffset>2</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
                <enumeratedValues>
                  <name>DMDIS</name>
                  <enumeratedValue>
                    <name>Enabled</name>
                    <description>Direct mode is enabled</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Disabled</name>
                    <description>Direct mode is disabled</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>FTH</name>
                <description>FIFO threshold selection</description>
                <bitOffset>0</bitOffset>
                <bitWidth>2</bitWidth>
                <access>read-write</access>
                <enumeratedValues>
                  <name>FTH</name>
                  <enumeratedValue>
                    <name>Quarter</name>
                    <description>1/4 full FIFO</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Half</name>
                    <description>1/2 full FIFO</description>
                    <value>1</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>ThreeQuarters</name>
                    <description>3/4 full FIFO</description>
                    <value>2</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Full</name>
                    <description>Full FIFO</description>
                    <value>3</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
            </fields>
          </register>
        </cluster>
      </registers>
    </peripheral>
    <peripheral derivedFrom="DMA1">
      <name>DMA2</name>
      <baseAddress>0x40020400</baseAddress>
      <interrupt>
        <name>DMA2_STR0</name>
        <description>DMA2 Stream0 interrupt</description>
        <value>56</value>
      </interrupt>
      <interrupt>
        <name>DMA2_STR1</name>
        <description>DMA2 Stream1 interrupt</description>
        <value>57</value>
      </interrupt>
      <interrupt>
        <name>DMA2_STR2</name>
        <description>DMA2 Stream2 interrupt</description>
        <value>58</value>
      </interrupt>
      <interrupt>
        <name>DMA2_STR3</name>
        <description>DMA2 Stream3 interrupt</description>
        <value>59</value>
      </interrupt>
      <interrupt>
        <name>DMA2_STR4</name>
        <description>DMA2 Stream4 interrupt</description>
        <value>60</value>
      </interrupt>
      <interrupt>
        <name>DMA2_STR5</name>
        <description>DMA2 Stream5 interrupt</description>
        <value>68</value>
      </interrupt>
      <interrupt>
        <name>DMA2_STR6</name>
        <description>DMA2 Stream6 interrupt</description>
        <value>69</value>
      </interrupt>
      <interrupt>
        <name>DMA2_STR7</name>
        <description>DMA2 Stream7 interrupt</description>
        <value>70</value>
      </interrupt>
    </peripheral>
    <peripheral>
      <name>HRTIM_Master</name>
      <description>High Resolution Timer: Master
      Timers</description>
      <groupName>HRTIM</groupName>
      <baseAddress>0x40017400</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x80</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>HRTIM1_MST</name>
        <description>HRTIM1 master timer interrupt</description>
        <value>103</value>
      </interrupt>
      <registers>
        <register>
          <name>CR</name>
          <displayName>CR</displayName>
          <description>Master Timer Control Register</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>BRSTDMA</name>
              <description>Burst DMA Update</description>
              <bitOffset>30</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>BRSTDMA</name>
                <enumeratedValue>
                  <name>Independent</name>
                  <description>Update done independently from the DMA burst transfer completion</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Completion</name>
                  <description>Update done when the DMA burst transfer is completed</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Rollover</name>
                  <description>Update done on master timer roll-over following a DMA burst transfer completion</description>
                  <value>2</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MREPU</name>
              <description>Master Timer Repetition
              update</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>MREPU</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Update on repetition disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Update on repetition enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PREEN</name>
              <description>Preload enable</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>PREEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Preload disabled: the write access is directly done into the active register</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Preload enabled: the write access is done into the preload register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DACSYNC</name>
              <description>AC Synchronization</description>
              <bitOffset>25</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>DACSYNC</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>No DAC trigger generated</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DACSync1</name>
                  <description>Trigger generated on DACSync1</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DACSync2</name>
                  <description>Trigger generated on DACSync2</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DACSync3</name>
                  <description>Trigger generated on DACSync3</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>5</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>A,B,C,D,E</dimIndex>
              <name>T%sCEN</name>
              <description>Timer %s counter enable</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TACEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Timer counter disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Timer counter enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MCEN</name>
              <description>Master Counter enable</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>MCEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Master timer counter disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Master timer counter enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SYNCSRC</name>
              <description>Synchronization source</description>
              <bitOffset>14</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>SYNCSRC</name>
                <enumeratedValue>
                  <name>MasterStart</name>
                  <description>Master timer Start</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>MasterCompare1</name>
                  <description>Master timer Compare 1 event</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TimerAStart</name>
                  <description>Timer A start/reset</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TimerACompare1</name>
                  <description>Timer A Compare 1 event</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SYNCOUT</name>
              <description>Synchronization output</description>
              <bitOffset>12</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>SYNCOUT</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PositivePulse</name>
                  <description>Positive pulse on SCOUT output (16x f_HRTIM clock cycles)</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>NegativePulse</name>
                  <description>Negative pulse on SCOUT output (16x f_HRTIM clock cycles)</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SYNCSTRT</name>
              <description>Synchronization Starts
              Master</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SYNCSTRT</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>No effect on the master timer</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Start</name>
                  <description>A synchroniation input event starts the master timer</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SYNCRST</name>
              <description>Synchronization Resets
              Master</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SYNCRST</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>No effect on the master timer</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Reset</name>
                  <description>A synchroniation input event resets the master timer</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SYNCIN</name>
              <description>ynchronization input</description>
              <bitOffset>8</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>SYNCIN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Disabled. HRTIM is not synchronized and runs in standalone mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Internal</name>
                  <description>Internal event: the HRTIM is synchronized with the on-chip timer</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>External</name>
                  <description>External event: a positive pulse on HRTIM_SCIN input triggers the HRTIM</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>HALF</name>
              <description>Half mode enable</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>HALF</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Half mode disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Half mode enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RETRIG</name>
              <description>Master Re-triggerable mode</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RETRIG</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>The timer is not re-triggerable: a counter reset can be done only if the counter is stopped</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>The timer is retriggerable: a counter reset is done whatever the counter state</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CONT</name>
              <description>Master Continuous mode</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CONT</name>
                <enumeratedValue>
                  <name>SingleShot</name>
                  <description>The timer operates in single-shot mode and stops when it reaches the MPER value</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Continuous</name>
                  <description>The timer operates in continuous (free-running) mode and rolls over to zero when it reaches the MPER value</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CKPSC</name>
              <description>HRTIM Master Clock
              prescaler</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>7</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>ISR</name>
          <displayName>ISR</displayName>
          <description>Master Timer Interrupt Status
          Register</description>
          <addressOffset>0x4</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>UPD</name>
              <description>Master Update Interrupt
              Flag</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>UPD</name>
                <enumeratedValue>
                  <name>NoEvent</name>
                  <description>No timer update interrupt occurred</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Event</name>
                  <description>Timer update interrupt occurred</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SYNC</name>
              <description>Sync Input Interrupt Flag</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SYNC</name>
                <enumeratedValue>
                  <name>NoEvent</name>
                  <description>No sync input interrupt occurred</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Event</name>
                  <description>Sync input interrupt occurred</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>REP</name>
              <description>Master Repetition Interrupt
              Flag</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>REP</name>
                <enumeratedValue>
                  <name>NoEvent</name>
                  <description>No timer repetition interrupt occurred</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Event</name>
                  <description>Timer repetition interrupt occurred</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>4</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-4</dimIndex>
              <name>CMP%s</name>
              <description>Master Compare %s Interrupt
              Flag</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CMP1</name>
                <enumeratedValue>
                  <name>NoEvent</name>
                  <description>No compare interrupt occurred</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Event</name>
                  <description>Compare interrupt occurred</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>ICR</name>
          <displayName>ICR</displayName>
          <description>Master Timer Interrupt Clear
          Register</description>
          <addressOffset>0x8</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>4</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-4</dimIndex>
              <name>CMP%sC</name>
              <description>Master Compare %s Interrupt flag
              clear</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>CMP1CW</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clears associated flag in ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>UPDC</name>
              <description>Master update Interrupt flag
              clear</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues derivedFrom="CMP1CW"/>
            </field>
            <field>
              <name>SYNCC</name>
              <description>Sync Input Interrupt flag
              clear</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues derivedFrom="CMP1CW"/>
            </field>
            <field>
              <name>REPC</name>
              <description>Repetition Interrupt flag
              clear</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues derivedFrom="CMP1CW"/>
            </field>
          </fields>
        </register>
        <register>
          <name>DIER</name>
          <displayName>DIER4</displayName>
          <description>MDIER4</description>
          <addressOffset>0xC</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>4</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-4</dimIndex>
              <name>CMP%sDE</name>
              <description>MCMP%sDE</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CMP1DE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>DMA request disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>DMA request enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>UPDDE</name>
              <description>MUPDDE</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CMP1DE"/>
            </field>
            <field>
              <name>SYNCDE</name>
              <description>SYNCDE</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CMP1DE"/>
            </field>
            <field>
              <name>REPDE</name>
              <description>MREPDE</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CMP1DE"/>
            </field>
            <field>
              <dim>4</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-4</dimIndex>
              <name>CMP%sIE</name>
              <description>MCMP%sIE</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CMP1IE</name>
                <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>
            </field>
            <field>
              <name>UPDIE</name>
              <description>MUPDIE</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CMP1IE"/>
            </field>
            <field>
              <name>SYNCIE</name>
              <description>SYNCIE</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CMP1IE"/>
            </field>
            <field>
              <name>REPIE</name>
              <description>MREPIE</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CMP1IE"/>
            </field>
          </fields>
        </register>
        <register>
          <name>CNTR</name>
          <displayName>CNTR</displayName>
          <description>Master Timer Counter Register</description>
          <addressOffset>0x10</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CNT</name>
              <description>Counter value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>PERR</name>
          <displayName>PER</displayName>
          <description>Master Timer Period Register</description>
          <addressOffset>0x14</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x0000FFFF</resetValue>
          <fields>
            <field>
              <name>PER</name>
              <description>Master Timer Period value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>REPR</name>
          <displayName>REP</displayName>
          <description>Master Timer Repetition
          Register</description>
          <addressOffset>0x18</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>REP</name>
              <description>Master Timer Repetition counter
              value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>CMP1R</name>
          <displayName>CMP1R</displayName>
          <description>Master Timer Compare 1
          Register</description>
          <addressOffset>0x1C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CMP</name>
              <description>Master Timer Compare 1
              value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register derivedFrom="CMP1R">
          <name>CMP2R</name>
          <displayName>CMP2R</displayName>
          <description>Master Timer Compare 2
          Register</description>
          <addressOffset>0x24</addressOffset>
        </register>
        <register derivedFrom="CMP1R">
          <name>CMP3R</name>
          <displayName>CMP3R</displayName>
          <description>Master Timer Compare 3
          Register</description>
          <addressOffset>0x28</addressOffset>
        </register>
        <register derivedFrom="CMP1R">
          <name>CMP4R</name>
          <displayName>CMP4R</displayName>
          <description>Master Timer Compare 4
          Register</description>
          <addressOffset>0x2C</addressOffset>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>HRTIM_TIMA</name>
      <description>High Resolution Timer: TIMA</description>
      <groupName>HRTIM</groupName>
      <baseAddress>0x40017480</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x80</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>HRTIM1_TIMA</name>
        <description>HRTIM1 timer A interrupt</description>
        <value>104</value>
      </interrupt>
      <registers>
        <register>
          <name>CR</name>
          <displayName>ACR</displayName>
          <description>Timerx Control Register</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>UPDGAT</name>
              <description>Update Gating</description>
              <bitOffset>28</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues>
                <name>UPDGAT</name>
                <enumeratedValue>
                  <name>Independent</name>
                  <description>Update occurs independently from the DMA burst transfer</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DMABurst</name>
                  <description>Update occurs when the DMA burst transfer is completed</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DMABurst_Update</name>
                  <description>Update occurs on the update event following DMA burst transfer completion</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Input1</name>
                  <description>Update occurs on a rising edge of HRTIM update enable input 1</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Input2</name>
                  <description>Update occurs on a rising edge of HRTIM update enable input 2</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Input3</name>
                  <description>Update occurs on a rising edge of HRTIM update enable input 3</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Input1_Update</name>
                  <description>Update occurs on the update event following a rising edge of HRTIM update enable input 1</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Input2_Update</name>
                  <description>Update occurs on the update event following a rising edge of HRTIM update enable input 2</description>
                  <value>7</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Input3_Update</name>
                  <description>Update occurs on the update event following a rising edge of HRTIM update enable input 3</description>
                  <value>8</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field derivedFrom="HRTIM_Master.CR.PREEN">
              <name>PREEN</name>
              <description>Preload enable</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_Master.CR.DACSYNC">
              <name>DACSYNC</name>
              <description>AC Synchronization</description>
              <bitOffset>25</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>MSTU</name>
              <description>Master Timer update</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>MSTU</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Update by master timer disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Update by master timer enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TBU</name>
              <description>TBU</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TBU</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Update by timer x disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Update by timer x enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TEU</name>
              <description>TEU</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TBU"/>
            </field>
            <field>
              <name>TDU</name>
              <description>TDU</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TBU"/>
            </field>
            <field>
              <name>TCU</name>
              <description>TCU</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TBU"/>
            </field>
            <field>
              <name>TRSTU</name>
              <description>Timerx reset update</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TRSTU</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Update by timer x reset/roll-over disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Update by timer x reset/roll-over enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TREPU</name>
              <description>Timer x Repetition update</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TREPU</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Update by timer x repetition disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Update by timer x repetition enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DELCMP4</name>
              <description>Delayed CMP4 mode</description>
              <bitOffset>14</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>DELCMP4</name>
                <enumeratedValue>
                  <name>Standard</name>
                  <description>CMP4 register is always active (standard compare mode)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Capture2</name>
                  <description>CMP4 is recomputed and is active following a capture 2 event</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Capture2_Compare1</name>
                  <description>CMP4 is recomputed and is active following a capture 2 event or a Compare 1 match</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Capture_Compare3</name>
                  <description>CMP4 is recomputed and is active following a capture event or a Compare 3 match</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DELCMP2</name>
              <description>Delayed CMP2 mode</description>
              <bitOffset>12</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>DELCMP2</name>
                <enumeratedValue>
                  <name>Standard</name>
                  <description>CMP2 register is always active (standard compare mode)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Capture1</name>
                  <description>CMP2 is recomputed and is active following a capture 1 event</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Capture1_Compare1</name>
                  <description>CMP2 is recomputed and is active following a capture 1 event or a Compare 1 match</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Capture1_Compare3</name>
                  <description>CMP2 is recomputed and is active following a capture 1 event or a Compare 3 match</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field derivedFrom="HRTIM_Master.CR.SYNCSTRT">
              <name>SYNCSTRT</name>
              <description>Synchronization Starts Timer
              x</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_Master.CR.SYNCRST">
              <name>SYNCRST</name>
              <description>Synchronization Resets Timer
              x</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>PSHPLL</name>
              <description>Push-Pull mode enable</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>PSHPLL</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Push-pull mode disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Push-pull mode enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field derivedFrom="HRTIM_Master.CR.HALF">
              <name>HALF</name>
              <description>Half mode enable</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_Master.CR.RETRIG">
              <name>RETRIG</name>
              <description>Re-triggerable mode</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_Master.CR.CONT">
              <name>CONT</name>
              <description>Continuous mode</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_Master.CR.CKPSC">
              <name>CKPSC</name>
              <description>HRTIM Timer x Clock
              prescaler</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>ISR</name>
          <displayName>AISR</displayName>
          <description>Timerx Interrupt Status
          Register</description>
          <addressOffset>0x4</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>O1STAT</name>
              <description>Output 1 State</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>O1STAT</name>
                <enumeratedValue>
                  <name>Inactive</name>
                  <description>Output was inactive</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Active</name>
                  <description>Output was active</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>O2STAT</name>
              <description>Output 2 State</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="O1STAT"/>
            </field>
            <field>
              <name>IPPSTAT</name>
              <description>Idle Push Pull Status</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>IPPSTAT</name>
                <enumeratedValue>
                  <name>Output1Active</name>
                  <description>Protection occurred when the output 1 was active and output 2 forced inactive</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output2Active</name>
                  <description>Protection occurred when the output 2 was active and output 1 forced inactive</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CPPSTAT</name>
              <description>Current Push Pull Status</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CPPSTAT</name>
                <enumeratedValue>
                  <name>Output1Active</name>
                  <description>Signal applied on output 1 and output 2 forced inactive</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output2Active</name>
                  <description>Signal applied on output 2 and output 1 forced inactive</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DLYPRT</name>
              <description>Delayed Protection Flag</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DLYPRT</name>
                <enumeratedValue>
                  <name>Inactive</name>
                  <description>Not in delayed idle or balanced idle mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Active</name>
                  <description>Delayed idle or balanced idle mode entry</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RST</name>
              <description>Reset Interrupt Flag</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RST</name>
                <enumeratedValue>
                  <name>NoEvent</name>
                  <description>No TIMx counter reset/roll-over interrupt occurred</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Event</name>
                  <description>TIMx counter reset/roll-over interrupt occurred</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RST1</name>
              <description>Output 1 Reset Interrupt
              Flag</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RST1</name>
                <enumeratedValue>
                  <name>NoEvent</name>
                  <description>No Tx output reset interrupt occurred</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Event</name>
                  <description>Tx output reset interrupt occurred</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RST2</name>
              <description>Output 2 Reset Interrupt
              Flag</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="RST1"/>
            </field>
            <field>
              <dim>2</dim>
              <dimIncrement>0x2</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>SET%s</name>
              <description>Output %s Set Interrupt
              Flag</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SET1</name>
                <enumeratedValue>
                  <name>NoEvent</name>
                  <description>No Tx output set interrupt occurred</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Event</name>
                  <description>Tx output set interrupt occurred</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>2</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>CPT%s</name>
              <description>Capture%s Interrupt Flag</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CPT1</name>
                <enumeratedValue>
                  <name>NoEvent</name>
                  <description>No timer x capture reset interrupt occurred</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Event</name>
                  <description>Timer x capture reset interrupt occurred</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field derivedFrom="HRTIM_Master.ISR.UPD">
              <name>UPD</name>
              <description>Update Interrupt Flag</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_Master.ISR.REP">
              <name>REP</name>
              <description>Repetition Interrupt Flag</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_Master.ISR.CMP%s">
              <dim>4</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-4</dimIndex>
              <name>CMP%s</name>
              <description>Compare %s Interrupt Flag</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>ICR</name>
          <displayName>AICR</displayName>
          <description>Timerx Interrupt Clear
          Register</description>
          <addressOffset>0x8</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field derivedFrom="HRTIM_Master.ICR.CMP%sC">
              <dim>4</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-4</dimIndex>
              <name>CMP%sC</name>
              <description>Compare %s Interrupt flag
              Clear</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_Master.ICR.CMP%sC">
              <name>DLYPRTC</name>
              <description>Delayed Protection Flag
              Clear</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_Master.ICR.CMP%sC">
              <name>RSTC</name>
              <description>Reset Interrupt flag Clear</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_Master.ICR.CMP%sC">
              <name>RST2C</name>
              <description>Output 2 Reset flag Clear</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_Master.ICR.CMP%sC">
              <dim>2</dim>
              <dimIncrement>0x2</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>SET%sC</name>
              <description>Output %s Set flag Clear</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_Master.ICR.CMP%sC">
              <name>RST1C</name>
              <description>Output 1 Reset flag Clear</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_Master.ICR.CMP%sC">
              <dim>2</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>CPT%sC</name>
              <description>Capture%s Interrupt flag
              Clear</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_Master.ICR.CMP%sC">
              <name>UPDC</name>
              <description>Update Interrupt flag
              Clear</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_Master.ICR.CMP%sC">
              <name>REPC</name>
              <description>Repetition Interrupt flag
              Clear</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DIER</name>
          <displayName>ADIER5</displayName>
          <description>TIMxDIER5</description>
          <addressOffset>0xC</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field derivedFrom="HRTIM_Master.DIER.CMP%sDE">
              <dim>4</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-4</dimIndex>
              <name>CMP%sDE</name>
              <description>CMP%sDE</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_Master.DIER.CMP%sDE">
              <name>DLYPRTDE</name>
              <description>DLYPRTDE</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_Master.DIER.CMP%sDE">
              <name>RSTDE</name>
              <description>RSTDE</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_Master.DIER.CMP%sDE">
              <name>RST2DE</name>
              <description>RSTx2DE</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_Master.DIER.CMP%sDE">
              <dim>2</dim>
              <dimIncrement>0x2</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>SET%sDE</name>
              <description>Output %s set DMA request enable</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_Master.DIER.CMP%sDE">
              <name>RST1DE</name>
              <description>RSTx1DE</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_Master.DIER.CMP%sDE">
              <dim>2</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>CPT%sDE</name>
              <description>CPT%sDE</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_Master.DIER.CMP%sDE">
              <name>UPDDE</name>
              <description>UPDDE</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_Master.DIER.CMP%sDE">
              <name>REPDE</name>
              <description>REPDE</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_Master.DIER.CMP%sIE">
              <dim>4</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-4</dimIndex>
              <name>CMP%sIE</name>
              <description>CMP%sIE</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_Master.DIER.CMP%sIE">
              <name>DLYPRTIE</name>
              <description>DLYPRTIE</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_Master.DIER.CMP%sIE">
              <name>RSTIE</name>
              <description>RSTIE</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_Master.DIER.CMP%sIE">
              <name>RST2IE</name>
              <description>RSTx2IE</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_Master.DIER.CMP%sIE">
              <dim>2</dim>
              <dimIncrement>0x2</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>SET%sIE</name>
              <description>Output %s set interrupt enable</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_Master.DIER.CMP%sIE">
              <name>RST1IE</name>
              <description>RSTx1IE</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_Master.DIER.CMP%sIE">
              <dim>2</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>CPT%sIE</name>
              <description>CPT%sIE</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_Master.DIER.CMP%sIE">
              <name>UPDIE</name>
              <description>UPDIE</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_Master.DIER.CMP%sIE">
              <name>REPIE</name>
              <description>REPIE</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register derivedFrom="HRTIM_Master.CNTR">
          <name>CNTR</name>
          <displayName>CNTAR</displayName>
          <description>Timerx Counter Register</description>
          <addressOffset>0x10</addressOffset>
        </register>
        <register derivedFrom="HRTIM_Master.PERR">
          <name>PERR</name>
          <displayName>PERAR</displayName>
          <description>Timerx Period Register</description>
          <addressOffset>0x14</addressOffset>
        </register>
        <register derivedFrom="HRTIM_Master.REPR">
          <name>REPR</name>
          <displayName>REPAR</displayName>
          <description>Timerx Repetition Register</description>
          <addressOffset>0x18</addressOffset>
        </register>
        <register derivedFrom="HRTIM_Master.CMP1R">
          <name>CMP1R</name>
          <displayName>CMP1AR</displayName>
          <description>Timerx Compare 1 Register</description>
          <addressOffset>0x1C</addressOffset>
        </register>
        <register>
          <name>CMP1CR</name>
          <displayName>CMP1CAR</displayName>
          <description>Timerx Compare 1 Compound
          Register</description>
          <addressOffset>0x20</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>REP</name>
              <description>Timerx Repetition value (aliased from
              HRTIM_REPx register)</description>
              <bitOffset>16</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>CMP1</name>
              <description>Timerx Compare 1 value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register derivedFrom="CMP1R">
          <name>CMP2R</name>
          <displayName>CMP2AR</displayName>
          <description>Timerx Compare 2 Register</description>
          <addressOffset>0x24</addressOffset>
        </register>
        <register derivedFrom="CMP1R">
          <name>CMP3R</name>
          <displayName>CMP3AR</displayName>
          <description>Timerx Compare 3 Register</description>
          <addressOffset>0x28</addressOffset>
        </register>
        <register derivedFrom="CMP1R">
          <name>CMP4R</name>
          <displayName>CMP4AR</displayName>
          <description>Timerx Compare 4 Register</description>
          <addressOffset>0x2C</addressOffset>
        </register>
        <register>
          <name>CPT1R</name>
          <displayName>CPT1AR</displayName>
          <description>Timerx Capture 1 Register</description>
          <addressOffset>0x30</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CPT</name>
              <description>Timerx Capture 1 value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register derivedFrom="CPT1R">
          <name>CPT2R</name>
          <displayName>CPT2AR</displayName>
          <description>Timerx Capture 2 Register</description>
          <addressOffset>0x34</addressOffset>
        </register>
        <register>
          <name>DTR</name>
          <displayName>DTAR</displayName>
          <description>Timerx Deadtime Register</description>
          <addressOffset>0x38</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DTFLK</name>
              <description>Deadtime Falling Lock</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DTFLK</name>
                <enumeratedValue>
                  <name>Unlocked</name>
                  <description>Deadtime falling value and sign is writable</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Locked</name>
                  <description>Deadtime falling value and sign is read-only</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DTFSLK</name>
              <description>Deadtime Falling Sign Lock</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DTFSLK</name>
                <enumeratedValue>
                  <name>Unlocked</name>
                  <description>Deadtime falling sign is writable</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Locked</name>
                  <description>Deadtime falling sign is read-only</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SDTF</name>
              <description>Sign Deadtime Falling
              value</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SDTF</name>
                <enumeratedValue>
                  <name>Positive</name>
                  <description>Positive deadtime on falling edge</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Negative</name>
                  <description>Negative deadtime on falling edge</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DTF</name>
              <description>Deadtime Falling value</description>
              <bitOffset>16</bitOffset>
              <bitWidth>9</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>511</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>DTRLK</name>
              <description>Deadtime Rising Lock</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DTRLK</name>
                <enumeratedValue>
                  <name>Unlocked</name>
                  <description>Deadtime rising value and sign is writable</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Locked</name>
                  <description>Deadtime rising value and sign is read-only</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DTRSLK</name>
              <description>Deadtime Rising Sign Lock</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DTRSLK</name>
                <enumeratedValue>
                  <name>Unlocked</name>
                  <description>Deadtime rising sign is writable</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Locked</name>
                  <description>Deadtime rising sign is read-only</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DTPRSC</name>
              <description>Deadtime Prescaler</description>
              <bitOffset>10</bitOffset>
              <bitWidth>3</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>7</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>SDTR</name>
              <description>Sign Deadtime Rising value</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SDTR</name>
                <enumeratedValue>
                  <name>Positive</name>
                  <description>Positive deadtime on rising edge</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Negative</name>
                  <description>Negative deadtime on rising edge</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DTR</name>
              <description>Deadtime Rising value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>9</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>511</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>SET1R</name>
          <displayName>SETA1R</displayName>
          <description>Timerx Output1 Set Register</description>
          <addressOffset>0x3C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>UPDATE</name>
              <description>Registers update (transfer preload to
              active)</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>UPDATE</name>
                <enumeratedValue>
                  <name>NoEffect</name>
                  <description>Register update event has no effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SetActive</name>
                  <description>Register update event forces the output to its active state</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>10</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-10</dimIndex>
              <name>EXTEVNT%s</name>
              <description>External Event %s</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>EXTEVNT1</name>
                <enumeratedValue>
                  <name>NoEffect</name>
                  <description>External event has no effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SetActive</name>
                  <description>External event forces the output to its active state</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TIMBCMP1</name>
              <description>Timer B Compare 1</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TIMBCMP1</name>
                <enumeratedValue>
                  <name>NoEffect</name>
                  <description>Timer event has no effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SetActive</name>
                  <description>Timer event forces the output to its active state</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TIMECMP4</name>
              <description>Timer E Compare 4</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIMBCMP1"/>
            </field>
            <field>
              <name>TIMECMP3</name>
              <description>Timer E Compare 3</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIMBCMP1"/>
            </field>
            <field>
              <name>TIMDCMP2</name>
              <description>Timer D Compare 2</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIMBCMP1"/>
            </field>
            <field>
              <name>TIMDCMP1</name>
              <description>Timer D Compare 1</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIMBCMP1"/>
            </field>
            <field>
              <name>TIMCCMP3</name>
              <description>Timer C Compare 3</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIMBCMP1"/>
            </field>
            <field>
              <name>TIMCCMP2</name>
              <description>Timer C Compare 2</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIMBCMP1"/>
            </field>
            <field>
              <name>TIMBCMP4</name>
              <description>Timer B Compare 4</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIMBCMP1"/>
            </field>
            <field>
              <name>TIMBCMP2</name>
              <description>Timer B Compare 2</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIMBCMP1"/>
            </field>
            <field>
              <dim>4</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-4</dimIndex>
              <name>MSTCMP%s</name>
              <description>Master Compare %s</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>MSTCMP1</name>
                <enumeratedValue>
                  <name>NoEffect</name>
                  <description>Master timer compare event has no effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SetActive</name>
                  <description>Master timer compare event forces the output to its active state</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MSTPER</name>
              <description>Master Period</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>MSTPER</name>
                <enumeratedValue>
                  <name>NoEffect</name>
                  <description>Master timer counter roll-over/reset has no effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SetActive</name>
                  <description>Master timer counter roll-over/reset forces the output to its active state</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>4</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-4</dimIndex>
              <name>CMP%s</name>
              <description>Timer A compare %s</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CMP1</name>
                <enumeratedValue>
                  <name>NoEffect</name>
                  <description>Timer compare event has no effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SetActive</name>
                  <description>Timer compare event forces the output to its active state</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PER</name>
              <description>Timer A Period</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>PER</name>
                <enumeratedValue>
                  <name>NoEffect</name>
                  <description>Timer period event has no effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SetActive</name>
                  <description>Timer period event forces the output to its active state</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RESYNC</name>
              <description>Timer A resynchronizaton</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RESYNC</name>
                <enumeratedValue>
                  <name>NoEffect</name>
                  <description>Timer reset event coming solely from software or SYNC input event has no effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SetActive</name>
                  <description>Timer reset event coming solely from software or SYNC input event forces the output to its active state</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SST</name>
              <description>Software Set trigger</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SST</name>
                <enumeratedValue>
                  <name>NoEffect</name>
                  <description>No effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SetActive</name>
                  <description>Force output to its active state</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>RST1R</name>
          <displayName>RSTA1R</displayName>
          <description>Timerx Output1 Reset Register</description>
          <addressOffset>0x40</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>UPDATE</name>
              <description>UPDATE</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>UPDATE</name>
                <enumeratedValue>
                  <name>NoEffect</name>
                  <description>Register update event has no effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SetInactive</name>
                  <description>Register update event forces the output to its inactive state</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>10</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-10</dimIndex>
              <name>EXTEVNT%s</name>
              <description>EXTEVNT%s</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>EXTEVNT1</name>
                <enumeratedValue>
                  <name>NoEffect</name>
                  <description>External event has no effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SetInactive</name>
                  <description>External event forces the output to its inactive state</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TIMBCMP1</name>
              <description>Timer B Compare 1</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TIMBCMP1</name>
                <enumeratedValue>
                  <name>NoEffect</name>
                  <description>Timer event has no effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SetInactive</name>
                  <description>Timer event forces the output to its inactive state</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TIMECMP4</name>
              <description>Timer E Compare 4</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIMBCMP1"/>
            </field>
            <field>
              <name>TIMECMP3</name>
              <description>Timer E Compare 3</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIMBCMP1"/>
            </field>
            <field>
              <name>TIMDCMP2</name>
              <description>Timer D Compare 2</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIMBCMP1"/>
            </field>
            <field>
              <name>TIMDCMP1</name>
              <description>Timer D Compare 1</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIMBCMP1"/>
            </field>
            <field>
              <name>TIMCCMP3</name>
              <description>Timer C Compare 3</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIMBCMP1"/>
            </field>
            <field>
              <name>TIMCCMP2</name>
              <description>Timer C Compare 2</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIMBCMP1"/>
            </field>
            <field>
              <name>TIMBCMP4</name>
              <description>Timer B Compare 4</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIMBCMP1"/>
            </field>
            <field>
              <name>TIMBCMP2</name>
              <description>Timer B Compare 2</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIMBCMP1"/>
            </field>
            <field>
              <dim>4</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-4</dimIndex>
              <name>MSTCMP%s</name>
              <description>MSTCMP%s</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>MSTCMP1</name>
                <enumeratedValue>
                  <name>NoEffect</name>
                  <description>Master timer compare event has no effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SetInactive</name>
                  <description>Master timer compare event forces the output to its inactive state</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MSTPER</name>
              <description>MSTPER</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>MSTPER</name>
                <enumeratedValue>
                  <name>NoEffect</name>
                  <description>Master timer counter roll-over/reset has no effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SetInactive</name>
                  <description>Master timer counter roll-over/reset forces the output to its inactive state</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>4</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-4</dimIndex>
              <name>CMP%s</name>
              <description>CMP%s</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CMP1</name>
                <enumeratedValue>
                  <name>NoEffect</name>
                  <description>Timer compare event has no effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SetInactive</name>
                  <description>Timer compare event forces the output to its inactive state</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PER</name>
              <description>PER</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>PER</name>
                <enumeratedValue>
                  <name>NoEffect</name>
                  <description>Timer period event has no effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SetInactive</name>
                  <description>Timer period event forces the output to its inactive state</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RESYNC</name>
              <description>RESYNC</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RESYNC</name>
                <enumeratedValue>
                  <name>NoEffect</name>
                  <description>Timer reset event coming solely from software or SYNC input event has no effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SetInactive</name>
                  <description>Timer reset event coming solely from software or SYNC input event forces the output to its inactive state</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SRT</name>
              <description>SRT</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SRT</name>
                <enumeratedValue>
                  <name>NoEffect</name>
                  <description>No effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SetInactive</name>
                  <description>Force output to its inactive state</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register derivedFrom="SET1R">
          <name>SET2R</name>
          <displayName>SETA2R</displayName>
          <description>Timerx Output2 Set Register</description>
          <addressOffset>0x44</addressOffset>
        </register>
        <register derivedFrom="RST1R">
          <name>RST2R</name>
          <displayName>RSTA2R</displayName>
          <description>Timerx Output2 Reset Register</description>
          <addressOffset>0x48</addressOffset>
        </register>
        <register>
          <name>EEFR1</name>
          <displayName>EEFAR1</displayName>
          <description>Timerx External Event Filtering Register
          1</description>
          <addressOffset>0x4C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>5</dim>
              <dimIncrement>0x6</dimIncrement>
              <dimIndex>1-5</dimIndex>
              <name>EE%sFLTR</name>
              <description>External Event %s filter</description>
              <bitOffset>1</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues>
                <name>EE1FLTR</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>No filtering</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>BlankResetToCompare1</name>
                  <description>Blanking from counter reset/roll-over to Compare 1</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>BlankResetToCompare2</name>
                  <description>Blanking from counter reset/roll-over to Compare 2</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>BlankResetToCompare3</name>
                  <description>Blanking from counter reset/roll-over to Compare 3</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>BlankResetToCompare4</name>
                  <description>Blanking from counter reset/roll-over to Compare 4</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>BlankTIMFLTR1</name>
                  <description>Blanking from another timing unit: TIMFLTR1 source</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>BlankTIMFLTR2</name>
                  <description>Blanking from another timing unit: TIMFLTR2 source</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>BlankTIMFLTR3</name>
                  <description>Blanking from another timing unit: TIMFLTR3 source</description>
                  <value>7</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>BlankTIMFLTR4</name>
                  <description>Blanking from another timing unit: TIMFLTR4 source</description>
                  <value>8</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>BlankTIMFLTR5</name>
                  <description>Blanking from another timing unit: TIMFLTR5 source</description>
                  <value>9</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>BlankTIMFLTR6</name>
                  <description>Blanking from another timing unit: TIMFLTR6 source</description>
                  <value>10</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>BlankTIMFLTR7</name>
                  <description>Blanking from another timing unit: TIMFLTR7 source</description>
                  <value>11</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>BlankTIMFLTR8</name>
                  <description>Blanking from another timing unit: TIMFLTR8 source</description>
                  <value>12</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>WindowResetToCompare2</name>
                  <description>Windowing from counter reset/roll-over to compare 2</description>
                  <value>13</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>WindowResetToCompare3</name>
                  <description>Windowing from counter reset/roll-over to compare 3</description>
                  <value>14</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>WindowTIMWIN</name>
                  <description>Windowing from another timing unit: TIMWIN source</description>
                  <value>15</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>5</dim>
              <dimIncrement>0x6</dimIncrement>
              <dimIndex>1-5</dimIndex>
              <name>EE%sLTCH</name>
              <description>External Event %s latch</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>EE1LTCH</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Event is ignored if it happens during a blank, or passed through during a window</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Event is latched and delayed till the end of the blanking or windowing period</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>EEFR2</name>
          <displayName>EEFAR2</displayName>
          <description>Timerx External Event Filtering Register
          2</description>
          <addressOffset>0x50</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>5</dim>
              <dimIncrement>0x6</dimIncrement>
              <dimIndex>6-10</dimIndex>
              <name>EE%sFLTR</name>
              <description>External Event %s filter</description>
              <bitOffset>1</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues>
                <name>EE6FLTR</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>No filtering</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>BlankResetToCompare1</name>
                  <description>Blanking from counter reset/roll-over to Compare 1</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>BlankResetToCompare2</name>
                  <description>Blanking from counter reset/roll-over to Compare 2</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>BlankResetToCompare3</name>
                  <description>Blanking from counter reset/roll-over to Compare 3</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>BlankResetToCompare4</name>
                  <description>Blanking from counter reset/roll-over to Compare 4</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>BlankTIMFLTR1</name>
                  <description>Blanking from another timing unit: TIMFLTR1 source</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>BlankTIMFLTR2</name>
                  <description>Blanking from another timing unit: TIMFLTR2 source</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>BlankTIMFLTR3</name>
                  <description>Blanking from another timing unit: TIMFLTR3 source</description>
                  <value>7</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>BlankTIMFLTR4</name>
                  <description>Blanking from another timing unit: TIMFLTR4 source</description>
                  <value>8</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>BlankTIMFLTR5</name>
                  <description>Blanking from another timing unit: TIMFLTR5 source</description>
                  <value>9</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>BlankTIMFLTR6</name>
                  <description>Blanking from another timing unit: TIMFLTR6 source</description>
                  <value>10</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>BlankTIMFLTR7</name>
                  <description>Blanking from another timing unit: TIMFLTR7 source</description>
                  <value>11</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>BlankTIMFLTR8</name>
                  <description>Blanking from another timing unit: TIMFLTR8 source</description>
                  <value>12</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>WindowResetToCompare2</name>
                  <description>Windowing from counter reset/roll-over to compare 2</description>
                  <value>13</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>WindowResetToCompare3</name>
                  <description>Windowing from counter reset/roll-over to compare 3</description>
                  <value>14</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>WindowTIMWIN</name>
                  <description>Windowing from another timing unit: TIMWIN source</description>
                  <value>15</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>5</dim>
              <dimIncrement>0x6</dimIncrement>
              <dimIndex>6-10</dimIndex>
              <name>EE%sLTCH</name>
              <description>External Event %s latch</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>EE6LTCH</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Event is ignored if it happens during a blank, or passed through during a window</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Event is latched and delayed till the end of the blanking or windowing period</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>RSTR</name>
          <displayName>RSTAR</displayName>
          <description>TimerA Reset Register</description>
          <addressOffset>0x54</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TIMBCMP1</name>
              <description>Timer B Compare 1</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TIMBCMP1</name>
                <enumeratedValue>
                  <name>NoEffect</name>
                  <description>Timer Y compare Z event has no effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ResetCounter</name>
                  <description>Timer X counter is reset upon timer Y compare Z event</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TIMECMP4</name>
              <description>Timer E Compare 4</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIMBCMP1"/>
            </field>
            <field>
              <name>TIMECMP2</name>
              <description>Timer E Compare 2</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIMBCMP1"/>
            </field>
            <field>
              <name>TIMECMP1</name>
              <description>Timer E Compare 1</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIMBCMP1"/>
            </field>
            <field>
              <name>TIMDCMP4</name>
              <description>Timer D Compare 4</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIMBCMP1"/>
            </field>
            <field>
              <name>TIMDCMP2</name>
              <description>Timer D Compare 2</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIMBCMP1"/>
            </field>
            <field>
              <name>TIMDCMP1</name>
              <description>Timer D Compare 1</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIMBCMP1"/>
            </field>
            <field>
              <name>TIMCCMP4</name>
              <description>Timer C Compare 4</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIMBCMP1"/>
            </field>
            <field>
              <name>TIMCCMP2</name>
              <description>Timer C Compare 2</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIMBCMP1"/>
            </field>
            <field>
              <name>TIMCCMP1</name>
              <description>Timer C Compare 1</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIMBCMP1"/>
            </field>
            <field>
              <name>TIMBCMP4</name>
              <description>Timer B Compare 4</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIMBCMP1"/>
            </field>
            <field>
              <name>TIMBCMP2</name>
              <description>Timer B Compare 2</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIMBCMP1"/>
            </field>
            <field>
              <dim>10</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-10</dimIndex>
              <name>EXTEVNT%s</name>
              <description>External Event %s</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>EXTEVNT1</name>
                <enumeratedValue>
                  <name>NoEffect</name>
                  <description>External event Z has no effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ResetCounter</name>
                  <description>Timer X counter is reset upon external event Z</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>4</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-4</dimIndex>
              <name>MSTCMP%s</name>
              <description>Master compare %s</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>MSTCMP1</name>
                <enumeratedValue>
                  <name>NoEffect</name>
                  <description>Master timer compare Z event has no effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ResetCounter</name>
                  <description>Timer X counter is reset upon master timer compare Z event</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MSTPER</name>
              <description>Master timer Period</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>MSTPER</name>
                <enumeratedValue>
                  <name>NoEffect</name>
                  <description>Master timer period event has no effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ResetCounter</name>
                  <description>Timer X counter is reset upon master timer period event</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CMP2</name>
              <description>Timer A compare 2 reset</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CMP2</name>
                <enumeratedValue>
                  <name>NoEffect</name>
                  <description>Timer X compare Z event has no effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ResetCounter</name>
                  <description>Timer X counter is reset upon timer X compare Z event</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CMP4</name>
              <description>Timer A compare 4 reset</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CMP2"/>
            </field>
            <field>
              <name>UPDT</name>
              <description>Timer A Update reset</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>UPDT</name>
                <enumeratedValue>
                  <name>NoEffect</name>
                  <description>Update event has no effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ResetCounter</name>
                  <description>Timer X counter is reset upon update event</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CHPR</name>
          <displayName>CHPAR</displayName>
          <description>Timerx Chopper Register</description>
          <addressOffset>0x58</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>STRTPW</name>
              <description>STRTPW</description>
              <bitOffset>7</bitOffset>
              <bitWidth>4</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>CARDTY</name>
              <description>Timerx chopper duty cycle
              value</description>
              <bitOffset>4</bitOffset>
              <bitWidth>3</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>7</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>CARFRQ</name>
              <description>Timerx carrier frequency
              value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>CPT1CR</name>
          <displayName>CPT1ACR</displayName>
          <description>Timerx Capture 2 Control
          Register</description>
          <addressOffset>0x5C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TBCMP1</name>
              <description>Timer B Compare 1</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TBCMP1</name>
                <enumeratedValue>
                  <name>NoEffect</name>
                  <description>Timer X compare Y has no effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TriggerCapture</name>
                  <description>Timer X compare Y triggers capture Z</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TECMP2</name>
              <description>Timer E Compare 2</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TBCMP1"/>
            </field>
            <field>
              <name>TECMP1</name>
              <description>Timer E Compare 1</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TBCMP1"/>
            </field>
            <field>
              <name>TB1RST</name>
              <description>Timer B output 1 Reset</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TB1RST</name>
                <enumeratedValue>
                  <name>NoEffect</name>
                  <description>Timer X output Y active to inactive transition has no effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TriggerCapture</name>
                  <description>Timer X output Y active to inactive transition triggers capture Z</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TE1RST</name>
              <description>Timer E output 1 Reset</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TB1RST"/>
            </field>
            <field>
              <name>TB1SET</name>
              <description>Timer B output 1 Set</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TB1SET</name>
                <enumeratedValue>
                  <name>NoEffect</name>
                  <description>Timer X output Y inactive to active transition has no effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TriggerCapture</name>
                  <description>Timer X output Y inactive to active transition triggers capture Z</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TE1SET</name>
              <description>Timer E output 1 Set</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TB1SET"/>
            </field>
            <field>
              <name>TDCMP2</name>
              <description>Timer D Compare 2</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TBCMP1"/>
            </field>
            <field>
              <name>TDCMP1</name>
              <description>Timer D Compare 1</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TBCMP1"/>
            </field>
            <field>
              <name>TD1RST</name>
              <description>Timer D output 1 Reset</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TB1RST"/>
            </field>
            <field>
              <name>TD1SET</name>
              <description>Timer D output 1 Set</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TB1SET"/>
            </field>
            <field>
              <name>TCCMP2</name>
              <description>Timer C Compare 2</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TBCMP1"/>
            </field>
            <field>
              <name>TCCMP1</name>
              <description>Timer C Compare 1</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TBCMP1"/>
            </field>
            <field>
              <name>TC1RST</name>
              <description>Timer C output 1 Reset</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TB1RST"/>
            </field>
            <field>
              <name>TC1SET</name>
              <description>Timer C output 1 Set</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TB1SET"/>
            </field>
            <field>
              <name>TBCMP2</name>
              <description>Timer B Compare 2</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TBCMP1"/>
            </field>
            <field>
              <dim>10</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-10</dimIndex>
              <name>EXEV%sCPT</name>
              <description>External Event %s Capture</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>EXEV1CPT</name>
                <enumeratedValue>
                  <name>NoEffect</name>
                  <description>External event Y has no effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TriggerCapture</name>
                  <description>External event Y triggers capture Z</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>UPDCPT</name>
              <description>Update Capture</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>UPDCPT</name>
                <enumeratedValue>
                  <name>NoEffect</name>
                  <description>Update event has no effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TriggerCapture</name>
                  <description>Update event triggers capture Z</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SWCPT</name>
              <description>Software Capture</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SWCPT</name>
                <enumeratedValue>
                  <name>NoEffect</name>
                  <description>No effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TriggerCapture</name>
                  <description>Force capture Z</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register derivedFrom="CPT1CR">
          <name>CPT2CR</name>
          <displayName>CPT2ACR</displayName>
          <description>CPT2xCR</description>
          <addressOffset>0x60</addressOffset>
        </register>
        <register>
          <name>OUTR</name>
          <displayName>OUTAR</displayName>
          <description>Timerx Output Register</description>
          <addressOffset>0x64</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DIDL1</name>
              <description>Output 1 Deadtime upon burst mode Idle
              entry</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DIDL1</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>The programmed idle state is applied immediately to the output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Deadtime (inactive level) is inserted on output before entering the idle mode</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIDL2</name>
              <description>Output 2 Deadtime upon burst mode Idle
              entry</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DIDL1"/>
            </field>
            <field>
              <name>CHP1</name>
              <description>Output 1 Chopper enable</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CHP1</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Output signal not altered</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Output signal is chopped by a carrier signal</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CHP2</name>
              <description>Output 2 Chopper enable</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CHP1"/>
            </field>
            <field>
              <name>FAULT1</name>
              <description>Output 1 Fault state</description>
              <bitOffset>4</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>FAULT1</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>No action: the output is not affected by the fault input and stays in run mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SetActive</name>
                  <description>Output goes to active state after a fault event</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SetInactive</name>
                  <description>Output goes to inactive state after a fault event</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SetHighZ</name>
                  <description>Output goes to high-z state after a fault event</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FAULT2</name>
              <description>Output 2 Fault state</description>
              <bitOffset>20</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues derivedFrom="FAULT1"/>
            </field>
            <field>
              <name>IDLES1</name>
              <description>Output 1 Idle State</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>IDLES1</name>
                <enumeratedValue>
                  <name>Inactive</name>
                  <description>Output idle state is inactive</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Active</name>
                  <description>Output idle state is active</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>IDLES2</name>
              <description>Output 2 Idle State</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="IDLES1"/>
            </field>
            <field>
              <name>IDLEM1</name>
              <description>Output 1 Idle mode</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>IDLEM1</name>
                <enumeratedValue>
                  <name>NoEffect</name>
                  <description>No action: the output is not affected by the burst mode operation</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SetIdle</name>
                  <description>The output is in idle state when requested by the burst mode controller</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>IDLEM2</name>
              <description>Output 2 Idle mode</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="IDLEM1"/>
            </field>
            <field>
              <name>POL1</name>
              <description>Output 1 polarity</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>POL1</name>
                <enumeratedValue>
                  <name>ActiveHigh</name>
                  <description>Positive polarity (output active high)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ActiveLow</name>
                  <description>Negative polarity (output active low)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>POL2</name>
              <description>Output 2 polarity</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="POL1"/>
            </field>
            <field>
              <name>DLYPRT</name>
              <description>Delayed Protection</description>
              <bitOffset>10</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>DLYPRT</name>
                <enumeratedValue>
                  <name>Output1_EE6</name>
                  <description>Output 1 delayed idle on external event 6</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output2_EE6</name>
                  <description>Output 2 delayed idle on external event 6</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output1_2_EE6</name>
                  <description>Output 1 and 2 delayed idle on external event 6</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Balanced_EE6</name>
                  <description>Balanced idle on external event 6</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output1_EE7</name>
                  <description>Output 1 delayed idle on external event 7</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output2_EE7</name>
                  <description>Output 2 delayed idle on external event 7</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output1_2_EE7</name>
                  <description>Output 1 and 2 delayed idle on external event 7</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Balanced_EE7</name>
                  <description>Balanced idle on external event 7</description>
                  <value>7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DLYPRTEN</name>
              <description>Delayed Protection Enable</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DLYPRTEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>No action</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Delayed protection is enabled, as per DLYPRT bits</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DTEN</name>
              <description>Deadtime enable</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DTEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Output 1 and 2 signals are independent</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Deadtime is inserted between output 1 and output 2</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>FLTR</name>
          <displayName>FLTAR</displayName>
          <description>Timerx Fault Register</description>
          <addressOffset>0x68</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>FLTLCK</name>
              <description>Fault sources Lock</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>FLTLCK</name>
                <enumeratedValue>
                  <name>Unlocked</name>
                  <description>FLT1EN..FLT5EN bits are read/write</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Locked</name>
                  <description>FLT1EN..FLT5EN bits are read only</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>5</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-5</dimIndex>
              <name>FLT%sEN</name>
              <description>Fault %s enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>FLT1EN</name>
                <enumeratedValue>
                  <name>Ignored</name>
                  <description>Fault input ignored</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Active</name>
                  <description>Fault input is active and can disable HRTIM outputs</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>HRTIM_TIMB</name>
      <description>High Resolution Timer: TIMB</description>
      <groupName>HRTIM</groupName>
      <baseAddress>0x40017500</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x80</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>HRTIM_TIMB</name>
        <description>HRTIM1 timer B interrupt</description>
        <value>105</value>
      </interrupt>
      <registers>
        <register>
          <name>CR</name>
          <displayName>BCR</displayName>
          <description>Timerx Control Register</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field derivedFrom="HRTIM_TIMA.CR.UPDGAT">
              <name>UPDGAT</name>
              <description>Update Gating</description>
              <bitOffset>28</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field derivedFrom="HRTIM_Master.CR.PREEN">
              <name>PREEN</name>
              <description>Preload enable</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_Master.CR.DACSYNC">
              <name>DACSYNC</name>
              <description>AC Synchronization</description>
              <bitOffset>25</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.CR.MSTU">
              <name>MSTU</name>
              <description>Master Timer update</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TBU</name>
              <description>TBU</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TBU</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Update by timer x disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Update by timer x enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TEU</name>
              <description>TEU</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TBU"/>
            </field>
            <field>
              <name>TDU</name>
              <description>TDU</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TBU"/>
            </field>
            <field>
              <name>TCU</name>
              <description>TCU</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TBU"/>
            </field>
            <field derivedFrom="HRTIM_TIMA.CR.TRSTU">
              <name>TRSTU</name>
              <description>Timerx reset update</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.CR.TREPU">
              <name>TREPU</name>
              <description>Timer x Repetition update</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.CR.DELCMP4">
              <name>DELCMP4</name>
              <description>Delayed CMP4 mode</description>
              <bitOffset>14</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.CR.DELCMP2">
              <name>DELCMP2</name>
              <description>Delayed CMP2 mode</description>
              <bitOffset>12</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field derivedFrom="HRTIM_Master.CR.SYNCSTRT">
              <name>SYNCSTRT</name>
              <description>Synchronization Starts Timer
              x</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_Master.CR.SYNCRST">
              <name>SYNCRST</name>
              <description>Synchronization Resets Timer
              x</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.CR.PSHPLL">
              <name>PSHPLL</name>
              <description>Push-Pull mode enable</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_Master.CR.HALF">
              <name>HALF</name>
              <description>Half mode enable</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_Master.CR.RETRIG">
              <name>RETRIG</name>
              <description>Re-triggerable mode</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_Master.CR.CONT">
              <name>CONT</name>
              <description>Continuous mode</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_Master.CR.CKPSC">
              <name>CKPSC</name>
              <description>HRTIM Timer x Clock
              prescaler</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
            </field>
          </fields>
        </register>
        <register derivedFrom="HRTIM_TIMA.ISR">
          <name>ISR</name>
          <displayName>BISR</displayName>
          <description>Timerx Interrupt Status
          Register</description>
          <addressOffset>0x4</addressOffset>
        </register>
        <register derivedFrom="HRTIM_TIMA.ICR">
          <name>ICR</name>
          <displayName>BICR</displayName>
          <description>Timerx Interrupt Clear
          Register</description>
          <addressOffset>0x8</addressOffset>
        </register>
        <register derivedFrom="HRTIM_TIMA.DIER">
          <name>DIER</name>
          <displayName>BDIER5</displayName>
          <description>TIMxDIER5</description>
          <addressOffset>0xC</addressOffset>
        </register>
        <register derivedFrom="HRTIM_Master.CNTR">
          <name>CNTR</name>
          <displayName>CNTR</displayName>
          <description>Timerx Counter Register</description>
          <addressOffset>0x10</addressOffset>
        </register>
        <register derivedFrom="HRTIM_Master.PERR">
          <name>PERR</name>
          <displayName>PERBR</displayName>
          <description>Timerx Period Register</description>
          <addressOffset>0x14</addressOffset>
        </register>
        <register derivedFrom="HRTIM_Master.REPR">
          <name>REPR</name>
          <displayName>REPBR</displayName>
          <description>Timerx Repetition Register</description>
          <addressOffset>0x18</addressOffset>
        </register>
        <register derivedFrom="HRTIM_Master.CMP1R">
          <name>CMP1R</name>
          <displayName>CMP1BR</displayName>
          <description>Timerx Compare 1 Register</description>
          <addressOffset>0x1C</addressOffset>
        </register>
        <register derivedFrom="HRTIM_TIMA.CMP1CR">
          <name>CMP1CR</name>
          <displayName>CMP1CBR</displayName>
          <description>Timerx Compare 1 Compound
          Register</description>
          <addressOffset>0x20</addressOffset>
        </register>
        <register derivedFrom="CMP1R">
          <name>CMP2R</name>
          <displayName>CMP2BR</displayName>
          <description>Timerx Compare 2 Register</description>
          <addressOffset>0x24</addressOffset>
        </register>
        <register derivedFrom="CMP1R">
          <name>CMP3R</name>
          <displayName>CMP3BR</displayName>
          <description>Timerx Compare 3 Register</description>
          <addressOffset>0x28</addressOffset>
        </register>
        <register derivedFrom="CMP1R">
          <name>CMP4R</name>
          <displayName>CMP4BR</displayName>
          <description>Timerx Compare 4 Register</description>
          <addressOffset>0x2C</addressOffset>
        </register>
        <register derivedFrom="HRTIM_TIMA.CPT1R">
          <name>CPT1R</name>
          <displayName>CPT1BR</displayName>
          <description>Timerx Capture 1 Register</description>
          <addressOffset>0x30</addressOffset>
        </register>
        <register derivedFrom="HRTIM_TIMA.CPT1R">
          <name>CPT2R</name>
          <displayName>CPT2BR</displayName>
          <description>Timerx Capture 2 Register</description>
          <addressOffset>0x34</addressOffset>
        </register>
        <register derivedFrom="HRTIM_TIMA.DTR">
          <name>DTR</name>
          <displayName>DTBR</displayName>
          <description>Timerx Deadtime Register</description>
          <addressOffset>0x38</addressOffset>
        </register>
        <register>
          <name>SET1R</name>
          <displayName>SETB1R</displayName>
          <description>Timerx Output1 Set Register</description>
          <addressOffset>0x3C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field derivedFrom="HRTIM_TIMA.SET1R.UPDATE">
              <name>UPDATE</name>
              <description>Registers update (transfer preload to
              active)</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.SET1R.EXTEVNT%s">
              <dim>10</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-10</dimIndex>
              <name>EXTEVNT%s</name>
              <description>External Event %s</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.SET1R.TIMBCMP1">
              <name>TIMACMP1</name>
              <description>Timer A Compare 1</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.SET1R.TIMBCMP1">
              <name>TIMECMP2</name>
              <description>Timer E Compare 2</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.SET1R.TIMBCMP1">
              <name>TIMECMP1</name>
              <description>Timer E Compare 1</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.SET1R.TIMBCMP1">
              <name>TIMDCMP4</name>
              <description>Timer D Compare 4</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.SET1R.TIMBCMP1">
              <name>TIMDCMP3</name>
              <description>Timer D Compare 3</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.SET1R.TIMBCMP1">
              <name>TIMCCMP4</name>
              <description>Timer C Compare 4</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.SET1R.TIMBCMP1">
              <name>TIMCCMP3</name>
              <description>Timer C Compare 3</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.SET1R.TIMBCMP1">
              <name>TIMACMP4</name>
              <description>Timer A Compare 4</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.SET1R.TIMBCMP1">
              <name>TIMACMP2</name>
              <description>Timer A Compare 2</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.SET1R.MSTCMP%s">
              <dim>4</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-4</dimIndex>
              <name>MSTCMP%s</name>
              <description>Master Compare %s</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.SET1R.MSTPER">
              <name>MSTPER</name>
              <description>Master Period</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.SET1R.CMP%s">
              <dim>4</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-4</dimIndex>
              <name>CMP%s</name>
              <description>Timer A compare %s</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.SET1R.PER">
              <name>PER</name>
              <description>Timer A Period</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.SET1R.RESYNC">
              <name>RESYNC</name>
              <description>Timer A resynchronizaton</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.SET1R.SST">
              <name>SST</name>
              <description>Software Set trigger</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>RST1R</name>
          <displayName>RSTB1R</displayName>
          <description>Timerx Output1 Reset Register</description>
          <addressOffset>0x40</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field derivedFrom="HRTIM_TIMA.RST1R.UPDATE">
              <name>UPDATE</name>
              <description>UPDATE</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RST1R.EXTEVNT%s">
              <dim>10</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-10</dimIndex>
              <name>EXTEVNT%s</name>
              <description>EXTEVNT%s</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RST1R.TIMBCMP1">
              <name>TIMACMP1</name>
              <description>Timer A Compare 1</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RST1R.TIMBCMP1">
              <name>TIMECMP2</name>
              <description>Timer E Compare 2</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RST1R.TIMBCMP1">
              <name>TIMECMP1</name>
              <description>Timer E Compare 1</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RST1R.TIMBCMP1">
              <name>TIMDCMP4</name>
              <description>Timer D Compare 4</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RST1R.TIMBCMP1">
              <name>TIMDCMP3</name>
              <description>Timer D Compare 3</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RST1R.TIMBCMP1">
              <name>TIMCCMP4</name>
              <description>Timer C Compare 4</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RST1R.TIMBCMP1">
              <name>TIMCCMP3</name>
              <description>Timer C Compare 3</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RST1R.TIMBCMP1">
              <name>TIMACMP4</name>
              <description>Timer A Compare 4</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RST1R.TIMBCMP1">
              <name>TIMACMP2</name>
              <description>Timer A Compare 2</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RST1R.MSTCMP%s">
              <dim>4</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-4</dimIndex>
              <name>MSTCMP%s</name>
              <description>MSTCMP%s</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RST1R.MSTPER">
              <name>MSTPER</name>
              <description>MSTPER</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RST1R.CMP%s">
              <dim>4</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-4</dimIndex>
              <name>CMP%s</name>
              <description>CMP%s</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RST1R.PER">
              <name>PER</name>
              <description>PER</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RST1R.RESYNC">
              <name>RESYNC</name>
              <description>RESYNC</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RST1R.SRT">
              <name>SRT</name>
              <description>SRT</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register derivedFrom="SET1R">
          <name>SET2R</name>
          <displayName>SETB2R</displayName>
          <description>Timerx Output2 Set Register</description>
          <addressOffset>0x44</addressOffset>
        </register>
        <register derivedFrom="RST1R">
          <name>RST2R</name>
          <displayName>RSTB2R</displayName>
          <description>Timerx Output2 Reset Register</description>
          <addressOffset>0x48</addressOffset>
        </register>
        <register derivedFrom="HRTIM_TIMA.EEFR1">
          <name>EEFR1</name>
          <displayName>EEFBR1</displayName>
          <description>Timerx External Event Filtering Register
          1</description>
          <addressOffset>0x4C</addressOffset>
        </register>
        <register derivedFrom="HRTIM_TIMA.EEFR2">
          <name>EEFR2</name>
          <displayName>EEFBR2</displayName>
          <description>Timerx External Event Filtering Register
          2</description>
          <addressOffset>0x50</addressOffset>
        </register>
        <register>
          <name>RSTR</name>
          <displayName>RSTBR</displayName>
          <description>TimerA Reset Register</description>
          <addressOffset>0x54</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field derivedFrom="HRTIM_TIMA.RSTR.TIMBCMP1">
              <name>TIMACMP1</name>
              <description>Timer A Compare 1</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RSTR.TIMBCMP1">
              <name>TIMECMP4</name>
              <description>Timer E Compare 4</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RSTR.TIMBCMP1">
              <name>TIMECMP2</name>
              <description>Timer E Compare 2</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RSTR.TIMBCMP1">
              <name>TIMECMP1</name>
              <description>Timer E Compare 1</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RSTR.TIMBCMP1">
              <name>TIMDCMP4</name>
              <description>Timer D Compare 4</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RSTR.TIMBCMP1">
              <name>TIMDCMP2</name>
              <description>Timer D Compare 2</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RSTR.TIMBCMP1">
              <name>TIMDCMP1</name>
              <description>Timer D Compare 1</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RSTR.TIMBCMP1">
              <name>TIMCCMP4</name>
              <description>Timer C Compare 4</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RSTR.TIMBCMP1">
              <name>TIMCCMP2</name>
              <description>Timer C Compare 2</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RSTR.TIMBCMP1">
              <name>TIMCCMP1</name>
              <description>Timer C Compare 1</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RSTR.TIMBCMP1">
              <name>TIMACMP4</name>
              <description>Timer A Compare 4</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RSTR.TIMBCMP1">
              <name>TIMACMP2</name>
              <description>Timer A Compare 2</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RSTR.EXTEVNT%s">
              <dim>10</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-10</dimIndex>
              <name>EXTEVNT%s</name>
              <description>External Event %s</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RSTR.MSTCMP%s">
              <dim>4</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-4</dimIndex>
              <name>MSTCMP%s</name>
              <description>Master compare %s</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RSTR.MSTPER">
              <name>MSTPER</name>
              <description>Master timer Period</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RSTR.CMP2">
              <name>CMP2</name>
              <description>Timer A compare 2 reset</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RSTR.CMP2">
              <name>CMP4</name>
              <description>Timer A compare 4 reset</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RSTR.UPDT">
              <name>UPDT</name>
              <description>Timer A Update reset</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register derivedFrom="HRTIM_TIMA.CHPR">
          <name>CHPR</name>
          <displayName>CHPBR</displayName>
          <description>Timerx Chopper Register</description>
          <addressOffset>0x58</addressOffset>
        </register>
        <register>
          <name>CPT1CR</name>
          <displayName>CPT1BCR</displayName>
          <description>Timerx Capture 2 Control
          Register</description>
          <addressOffset>0x5C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TACMP1</name>
              <description>Timer A Compare 1</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TACMP1</name>
                <enumeratedValue>
                  <name>NoEffect</name>
                  <description>Timer X compare Y has no effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TriggerCapture</name>
                  <description>Timer X compare Y triggers capture Z</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TECMP2</name>
              <description>Timer E Compare 2</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TACMP1"/>
            </field>
            <field>
              <name>TECMP1</name>
              <description>Timer E Compare 1</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TACMP1"/>
            </field>
            <field>
              <name>TA1RST</name>
              <description>Timer A output 1 Reset</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TA1RST</name>
                <enumeratedValue>
                  <name>NoEffect</name>
                  <description>Timer X output Y active to inactive transition has no effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TriggerCapture</name>
                  <description>Timer X output Y active to inactive transition triggers capture Z</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TE1RST</name>
              <description>Timer E output 1 Reset</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TA1RST"/>
            </field>
            <field>
              <name>TA1SET</name>
              <description>Timer A output 1 Set</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TA1SET</name>
                <enumeratedValue>
                  <name>NoEffect</name>
                  <description>Timer X output Y inactive to active transition has no effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TriggerCapture</name>
                  <description>Timer X output Y inactive to active transition triggers capture Z</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TE1SET</name>
              <description>Timer E output 1 Set</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TA1SET"/>
            </field>
            <field>
              <name>TDCMP2</name>
              <description>Timer D Compare 2</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TACMP1"/>
            </field>
            <field>
              <name>TDCMP1</name>
              <description>Timer D Compare 1</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TACMP1"/>
            </field>
            <field>
              <name>TD1RST</name>
              <description>Timer D output 1 Reset</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TA1RST"/>
            </field>
            <field>
              <name>TD1SET</name>
              <description>Timer D output 1 Set</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TA1SET"/>
            </field>
            <field>
              <name>TCCMP2</name>
              <description>Timer C Compare 2</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TACMP1"/>
            </field>
            <field>
              <name>TCCMP1</name>
              <description>Timer C Compare 1</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TACMP1"/>
            </field>
            <field>
              <name>TC1RST</name>
              <description>Timer C output 1 Reset</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TA1RST"/>
            </field>
            <field>
              <name>TC1SET</name>
              <description>Timer C output 1 Set</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TA1SET"/>
            </field>
            <field>
              <name>TACMP2</name>
              <description>Timer A Compare 2</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TACMP1"/>
            </field>
            <field>
              <dim>10</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-10</dimIndex>
              <name>EXEV%sCPT</name>
              <description>External Event %s Capture</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>EXEV1CPT</name>
                <enumeratedValue>
                  <name>NoEffect</name>
                  <description>External event Y has no effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TriggerCapture</name>
                  <description>External event Y triggers capture Z</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>UPDCPT</name>
              <description>Update Capture</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>UPDCPT</name>
                <enumeratedValue>
                  <name>NoEffect</name>
                  <description>Update event has no effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TriggerCapture</name>
                  <description>Update event triggers capture Z</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SWCPT</name>
              <description>Software Capture</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SWCPT</name>
                <enumeratedValue>
                  <name>NoEffect</name>
                  <description>No effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TriggerCapture</name>
                  <description>Force capture Z</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register derivedFrom="CPT1CR">
          <name>CPT2CR</name>
          <displayName>CPT2BCR</displayName>
          <description>CPT2xCR</description>
          <addressOffset>0x60</addressOffset>
        </register>
        <register derivedFrom="HRTIM_TIMA.OUTR">
          <name>OUTR</name>
          <displayName>OUTBR</displayName>
          <description>Timerx Output Register</description>
          <addressOffset>0x64</addressOffset>
        </register>
        <register derivedFrom="HRTIM_TIMA.FLTR">
          <name>FLTR</name>
          <displayName>FLTBR</displayName>
          <description>Timerx Fault Register</description>
          <addressOffset>0x68</addressOffset>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>HRTIM_TIMC</name>
      <description>High Resolution Timer: TIMC</description>
      <groupName>HRTIM</groupName>
      <baseAddress>0x40017580</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x80</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>HRTIM1_TIMC</name>
        <description>HRTIM1 timer C interrupt</description>
        <value>106</value>
      </interrupt>
      <registers>
        <register>
          <name>CR</name>
          <displayName>CCR</displayName>
          <description>Timerx Control Register</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field derivedFrom="HRTIM_TIMA.CR.UPDGAT">
              <name>UPDGAT</name>
              <description>Update Gating</description>
              <bitOffset>28</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field derivedFrom="HRTIM_Master.CR.PREEN">
              <name>PREEN</name>
              <description>Preload enable</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_Master.CR.DACSYNC">
              <name>DACSYNC</name>
              <description>AC Synchronization</description>
              <bitOffset>25</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.CR.MSTU">
              <name>MSTU</name>
              <description>Master Timer update</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TBU</name>
              <description>TBU</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TBU</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Update by timer x disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Update by timer x enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TEU</name>
              <description>TEU</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TBU"/>
            </field>
            <field>
              <name>TDU</name>
              <description>TDU</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TBU"/>
            </field>
            <field>
              <name>TCU</name>
              <description>TCU</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TBU"/>
            </field>
            <field derivedFrom="HRTIM_TIMA.CR.TRSTU">
              <name>TRSTU</name>
              <description>Timerx reset update</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.CR.TREPU">
              <name>TREPU</name>
              <description>Timer x Repetition update</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.CR.DELCMP4">
              <name>DELCMP4</name>
              <description>Delayed CMP4 mode</description>
              <bitOffset>14</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.CR.DELCMP2">
              <name>DELCMP2</name>
              <description>Delayed CMP2 mode</description>
              <bitOffset>12</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field derivedFrom="HRTIM_Master.CR.SYNCSTRT">
              <name>SYNCSTRT</name>
              <description>Synchronization Starts Timer
              x</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_Master.CR.SYNCRST">
              <name>SYNCRST</name>
              <description>Synchronization Resets Timer
              x</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.CR.PSHPLL">
              <name>PSHPLL</name>
              <description>Push-Pull mode enable</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_Master.CR.HALF">
              <name>HALF</name>
              <description>Half mode enable</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_Master.CR.RETRIG">
              <name>RETRIG</name>
              <description>Re-triggerable mode</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_Master.CR.CONT">
              <name>CONT</name>
              <description>Continuous mode</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_Master.CR.CKPSC">
              <name>CKPSC</name>
              <description>HRTIM Timer x Clock
              prescaler</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
            </field>
          </fields>
        </register>
        <register derivedFrom="HRTIM_TIMA.ISR">
          <name>ISR</name>
          <displayName>CISR</displayName>
          <description>Timerx Interrupt Status
          Register</description>
          <addressOffset>0x4</addressOffset>
        </register>
        <register derivedFrom="HRTIM_TIMA.ICR">
          <name>ICR</name>
          <displayName>CICR</displayName>
          <description>Timerx Interrupt Clear
          Register</description>
          <addressOffset>0x8</addressOffset>
        </register>
        <register derivedFrom="HRTIM_TIMA.DIER">
          <name>DIER</name>
          <displayName>CDIER5</displayName>
          <description>TIMxDIER5</description>
          <addressOffset>0xC</addressOffset>
        </register>
        <register derivedFrom="HRTIM_Master.CNTR">
          <name>CNTR</name>
          <displayName>CNTCR</displayName>
          <description>Timerx Counter Register</description>
          <addressOffset>0x10</addressOffset>
        </register>
        <register derivedFrom="HRTIM_Master.PERR">
          <name>PERR</name>
          <displayName>PERCR</displayName>
          <description>Timerx Period Register</description>
          <addressOffset>0x14</addressOffset>
        </register>
        <register derivedFrom="HRTIM_Master.REPR">
          <name>REPR</name>
          <displayName>REPCR</displayName>
          <description>Timerx Repetition Register</description>
          <addressOffset>0x18</addressOffset>
        </register>
        <register derivedFrom="HRTIM_Master.CMP1R">
          <name>CMP1R</name>
          <displayName>CMP1CR</displayName>
          <description>Timerx Compare 1 Register</description>
          <addressOffset>0x1C</addressOffset>
        </register>
        <register derivedFrom="HRTIM_TIMA.CMP1CR">
          <name>CMP1CR</name>
          <displayName>CMP1CCR</displayName>
          <description>Timerx Compare 1 Compound
          Register</description>
          <addressOffset>0x20</addressOffset>
        </register>
        <register derivedFrom="CMP1R">
          <name>CMP2R</name>
          <displayName>CMP2CR</displayName>
          <description>Timerx Compare 2 Register</description>
          <addressOffset>0x24</addressOffset>
        </register>
        <register derivedFrom="CMP1R">
          <name>CMP3R</name>
          <displayName>CMP3CR</displayName>
          <description>Timerx Compare 3 Register</description>
          <addressOffset>0x28</addressOffset>
        </register>
        <register derivedFrom="CMP1R">
          <name>CMP4R</name>
          <displayName>CMP4CR</displayName>
          <description>Timerx Compare 4 Register</description>
          <addressOffset>0x2C</addressOffset>
        </register>
        <register derivedFrom="HRTIM_TIMA.CPT1R">
          <name>CPT1R</name>
          <displayName>CPT1CR</displayName>
          <description>Timerx Capture 1 Register</description>
          <addressOffset>0x30</addressOffset>
        </register>
        <register derivedFrom="HRTIM_TIMA.CPT1R">
          <name>CPT2R</name>
          <displayName>CPT2CR</displayName>
          <description>Timerx Capture 2 Register</description>
          <addressOffset>0x34</addressOffset>
        </register>
        <register derivedFrom="HRTIM_TIMA.DTR">
          <name>DTR</name>
          <displayName>DTCR</displayName>
          <description>Timerx Deadtime Register</description>
          <addressOffset>0x38</addressOffset>
        </register>
        <register>
          <name>SET1R</name>
          <displayName>SETC1R</displayName>
          <description>Timerx Output1 Set Register</description>
          <addressOffset>0x3C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field derivedFrom="HRTIM_TIMA.SET1R.UPDATE">
              <name>UPDATE</name>
              <description>Registers update (transfer preload to
              active)</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.SET1R.EXTEVNT%s">
              <dim>10</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-10</dimIndex>
              <name>EXTEVNT%s</name>
              <description>External Event %s</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.SET1R.TIMBCMP1">
              <name>TIMACMP2</name>
              <description>Timer A Compare 2</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.SET1R.TIMBCMP1">
              <name>TIMECMP4</name>
              <description>Timer E Compare 4</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.SET1R.TIMBCMP1">
              <name>TIMECMP3</name>
              <description>Timer E Compare 3</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.SET1R.TIMBCMP1">
              <name>TIMECMP2</name>
              <description>Timer E Compare 2</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.SET1R.TIMBCMP1">
              <name>TIMDCMP4</name>
              <description>Timer D Compare 4</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.SET1R.TIMBCMP1">
              <name>TIMDCMP2</name>
              <description>Timer D Compare 2</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.SET1R.TIMBCMP1">
              <name>TIMBCMP3</name>
              <description>Timer B Compare 3</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.SET1R.TIMBCMP1">
              <name>TIMBCMP2</name>
              <description>Timer B Compare 2</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.SET1R.TIMBCMP1">
              <name>TIMACMP3</name>
              <description>Timer A Compare 3</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.SET1R.MSTCMP%s">
              <dim>4</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-4</dimIndex>
              <name>MSTCMP%s</name>
              <description>Master Compare %s</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.SET1R.MSTPER">
              <name>MSTPER</name>
              <description>Master Period</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.SET1R.CMP%s">
              <dim>4</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-4</dimIndex>
              <name>CMP%s</name>
              <description>Timer A compare %s</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.SET1R.PER">
              <name>PER</name>
              <description>Timer A Period</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.SET1R.RESYNC">
              <name>RESYNC</name>
              <description>Timer A resynchronizaton</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.SET1R.SST">
              <name>SST</name>
              <description>Software Set trigger</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>RST1R</name>
          <displayName>RSTC1R</displayName>
          <description>Timerx Output1 Reset Register</description>
          <addressOffset>0x40</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field derivedFrom="HRTIM_TIMA.RST1R.UPDATE">
              <name>UPDATE</name>
              <description>UPDATE</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RST1R.EXTEVNT%s">
              <dim>10</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-10</dimIndex>
              <name>EXTEVNT%s</name>
              <description>EXTEVNT%s</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RST1R.TIMBCMP1">
              <name>TIMACMP2</name>
              <description>Timer A Compare 2</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RST1R.TIMBCMP1">
              <name>TIMECMP4</name>
              <description>Timer E Compare 4</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RST1R.TIMBCMP1">
              <name>TIMECMP3</name>
              <description>Timer E Compare 3</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RST1R.TIMBCMP1">
              <name>TIMECMP2</name>
              <description>Timer E Compare 2</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RST1R.TIMBCMP1">
              <name>TIMDCMP4</name>
              <description>Timer D Compare 4</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RST1R.TIMBCMP1">
              <name>TIMDCMP2</name>
              <description>Timer D Compare 2</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RST1R.TIMBCMP1">
              <name>TIMBCMP3</name>
              <description>Timer B Compare 3</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RST1R.TIMBCMP1">
              <name>TIMBCMP2</name>
              <description>Timer B Compare 2</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RST1R.TIMBCMP1">
              <name>TIMACMP3</name>
              <description>Timer A Compare 3</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RST1R.MSTCMP%s">
              <dim>4</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-4</dimIndex>
              <name>MSTCMP%s</name>
              <description>MSTCMP%s</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RST1R.MSTPER">
              <name>MSTPER</name>
              <description>MSTPER</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RST1R.CMP%s">
              <dim>4</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-4</dimIndex>
              <name>CMP%s</name>
              <description>CMP%s</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RST1R.PER">
              <name>PER</name>
              <description>PER</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RST1R.RESYNC">
              <name>RESYNC</name>
              <description>RESYNC</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RST1R.SRT">
              <name>SRT</name>
              <description>SRT</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register derivedFrom="SET1R">
          <name>SET2R</name>
          <displayName>SETC2R</displayName>
          <description>Timerx Output2 Set Register</description>
          <addressOffset>0x44</addressOffset>
        </register>
        <register derivedFrom="RST1R">
          <name>RST2R</name>
          <displayName>RSTC2R</displayName>
          <description>Timerx Output2 Reset Register</description>
          <addressOffset>0x48</addressOffset>
        </register>
        <register derivedFrom="HRTIM_TIMA.EEFR1">
          <name>EEFR1</name>
          <displayName>EEFCR1</displayName>
          <description>Timerx External Event Filtering Register
          1</description>
          <addressOffset>0x4C</addressOffset>
        </register>
        <register derivedFrom="HRTIM_TIMA.EEFR2">
          <name>EEFR2</name>
          <displayName>EEFCR2</displayName>
          <description>Timerx External Event Filtering Register
          2</description>
          <addressOffset>0x50</addressOffset>
        </register>
        <register>
          <name>RSTR</name>
          <displayName>RSTCR</displayName>
          <description>TimerA Reset Register</description>
          <addressOffset>0x54</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field derivedFrom="HRTIM_TIMA.RSTR.TIMBCMP1">
              <name>TIMACMP1</name>
              <description>Timer A Compare 1</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RSTR.TIMBCMP1">
              <name>TIMECMP4</name>
              <description>Timer E Compare 4</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RSTR.TIMBCMP1">
              <name>TIMECMP2</name>
              <description>Timer E Compare 2</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RSTR.TIMBCMP1">
              <name>TIMECMP1</name>
              <description>Timer E Compare 1</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RSTR.TIMBCMP1">
              <name>TIMDCMP4</name>
              <description>Timer D Compare 4</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RSTR.TIMBCMP1">
              <name>TIMDCMP2</name>
              <description>Timer D Compare 2</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RSTR.TIMBCMP1">
              <name>TIMDCMP1</name>
              <description>Timer D Compare 1</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RSTR.TIMBCMP1">
              <name>TIMBCMP4</name>
              <description>Timer B Compare 4</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RSTR.TIMBCMP1">
              <name>TIMBCMP2</name>
              <description>Timer B Compare 2</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RSTR.TIMBCMP1">
              <name>TIMBCMP1</name>
              <description>Timer B Compare 1</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RSTR.TIMBCMP1">
              <name>TIMACMP4</name>
              <description>Timer A Compare 4</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RSTR.TIMBCMP1">
              <name>TIMACMP2</name>
              <description>Timer A Compare 2</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RSTR.EXTEVNT%s">
              <dim>10</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-10</dimIndex>
              <name>EXTEVNT%s</name>
              <description>External Event %s</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RSTR.MSTCMP%s">
              <dim>4</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-4</dimIndex>
              <name>MSTCMP%s</name>
              <description>Master compare %s</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RSTR.MSTPER">
              <name>MSTPER</name>
              <description>Master timer Period</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RSTR.CMP2">
              <name>CMP2</name>
              <description>Timer A compare 2 reset</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RSTR.CMP2">
              <name>CMP4</name>
              <description>Timer A compare 4 reset</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RSTR.UPDT">
              <name>UPDT</name>
              <description>Timer A Update reset</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register derivedFrom="HRTIM_TIMA.CHPR">
          <name>CHPR</name>
          <displayName>CHPCR</displayName>
          <description>Timerx Chopper Register</description>
          <addressOffset>0x58</addressOffset>
        </register>
        <register>
          <name>CPT1CR</name>
          <displayName>CPT1CCR</displayName>
          <description>Timerx Capture 2 Control
          Register</description>
          <addressOffset>0x5C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TACMP1</name>
              <description>Timer A Compare 1</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TACMP1</name>
                <enumeratedValue>
                  <name>NoEffect</name>
                  <description>Timer X compare Y has no effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TriggerCapture</name>
                  <description>Timer X compare Y triggers capture Z</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TECMP2</name>
              <description>Timer E Compare 2</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TACMP1"/>
            </field>
            <field>
              <name>TECMP1</name>
              <description>Timer E Compare 1</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TACMP1"/>
            </field>
            <field>
              <name>TA1RST</name>
              <description>Timer A output 1 Reset</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TA1RST</name>
                <enumeratedValue>
                  <name>NoEffect</name>
                  <description>Timer X output Y active to inactive transition has no effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TriggerCapture</name>
                  <description>Timer X output Y active to inactive transition triggers capture Z</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TE1RST</name>
              <description>Timer E output 1 Reset</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TA1RST"/>
            </field>
            <field>
              <name>TA1SET</name>
              <description>Timer A output 1 Set</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TA1SET</name>
                <enumeratedValue>
                  <name>NoEffect</name>
                  <description>Timer X output Y inactive to active transition has no effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TriggerCapture</name>
                  <description>Timer X output Y inactive to active transition triggers capture Z</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TE1SET</name>
              <description>Timer E output 1 Set</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TA1SET"/>
            </field>
            <field>
              <name>TDCMP2</name>
              <description>Timer D Compare 2</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TACMP1"/>
            </field>
            <field>
              <name>TDCMP1</name>
              <description>Timer D Compare 1</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TACMP1"/>
            </field>
            <field>
              <name>TD1RST</name>
              <description>Timer D output 1 Reset</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TA1RST"/>
            </field>
            <field>
              <name>TD1SET</name>
              <description>Timer D output 1 Set</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TA1SET"/>
            </field>
            <field>
              <name>TBCMP2</name>
              <description>Timer B Compare 2</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TACMP1"/>
            </field>
            <field>
              <name>TBCMP1</name>
              <description>Timer B Compare 1</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TACMP1"/>
            </field>
            <field>
              <name>TB1RST</name>
              <description>Timer B output 1 Reset</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TA1RST"/>
            </field>
            <field>
              <name>TB1SET</name>
              <description>Timer B output 1 Set</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TA1SET"/>
            </field>
            <field>
              <name>TACMP2</name>
              <description>Timer A Compare 2</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TACMP1"/>
            </field>
            <field>
              <dim>10</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-10</dimIndex>
              <name>EXEV%sCPT</name>
              <description>External Event %s Capture</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>EXEV1CPT</name>
                <enumeratedValue>
                  <name>NoEffect</name>
                  <description>External event Y has no effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TriggerCapture</name>
                  <description>External event Y triggers capture Z</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>UPDCPT</name>
              <description>Update Capture</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>UPDCPT</name>
                <enumeratedValue>
                  <name>NoEffect</name>
                  <description>Update event has no effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TriggerCapture</name>
                  <description>Update event triggers capture Z</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SWCPT</name>
              <description>Software Capture</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SWCPT</name>
                <enumeratedValue>
                  <name>NoEffect</name>
                  <description>No effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TriggerCapture</name>
                  <description>Force capture Z</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register derivedFrom="CPT1CR">
          <name>CPT2CR</name>
          <displayName>CPT2CCR</displayName>
          <description>CPT2xCR</description>
          <addressOffset>0x60</addressOffset>
        </register>
        <register derivedFrom="HRTIM_TIMA.OUTR">
          <name>OUTR</name>
          <displayName>OUTCR</displayName>
          <description>Timerx Output Register</description>
          <addressOffset>0x64</addressOffset>
        </register>
        <register derivedFrom="HRTIM_TIMA.FLTR">
          <name>FLTR</name>
          <displayName>FLTCR</displayName>
          <description>Timerx Fault Register</description>
          <addressOffset>0x68</addressOffset>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>HRTIM_TIMD</name>
      <description>High Resolution Timer: TIMD</description>
      <groupName>HRTIM</groupName>
      <baseAddress>0x40017600</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x80</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>HRTIM1_TIMD</name>
        <description>HRTIM1 timer D interrupt</description>
        <value>107</value>
      </interrupt>
      <registers>
        <register>
          <name>CR</name>
          <displayName>DCR</displayName>
          <description>Timerx Control Register</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field derivedFrom="HRTIM_TIMA.CR.UPDGAT">
              <name>UPDGAT</name>
              <description>Update Gating</description>
              <bitOffset>28</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field derivedFrom="HRTIM_Master.CR.PREEN">
              <name>PREEN</name>
              <description>Preload enable</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_Master.CR.DACSYNC">
              <name>DACSYNC</name>
              <description>AC Synchronization</description>
              <bitOffset>25</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.CR.MSTU">
              <name>MSTU</name>
              <description>Master Timer update</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TBU</name>
              <description>TBU</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TBU</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Update by timer x disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Update by timer x enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TEU</name>
              <description>TEU</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TBU"/>
            </field>
            <field>
              <name>TDU</name>
              <description>TDU</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TBU"/>
            </field>
            <field>
              <name>TCU</name>
              <description>TCU</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TBU"/>
            </field>
            <field derivedFrom="HRTIM_TIMA.CR.TRSTU">
              <name>TRSTU</name>
              <description>Timerx reset update</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.CR.TREPU">
              <name>TREPU</name>
              <description>Timer x Repetition update</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.CR.DELCMP4">
              <name>DELCMP4</name>
              <description>Delayed CMP4 mode</description>
              <bitOffset>14</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.CR.DELCMP2">
              <name>DELCMP2</name>
              <description>Delayed CMP2 mode</description>
              <bitOffset>12</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field derivedFrom="HRTIM_Master.CR.SYNCSTRT">
              <name>SYNCSTRT</name>
              <description>Synchronization Starts Timer
              x</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_Master.CR.SYNCRST">
              <name>SYNCRST</name>
              <description>Synchronization Resets Timer
              x</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.CR.PSHPLL">
              <name>PSHPLL</name>
              <description>Push-Pull mode enable</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_Master.CR.HALF">
              <name>HALF</name>
              <description>Half mode enable</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_Master.CR.RETRIG">
              <name>RETRIG</name>
              <description>Re-triggerable mode</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_Master.CR.CONT">
              <name>CONT</name>
              <description>Continuous mode</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_Master.CR.CKPSC">
              <name>CKPSC</name>
              <description>HRTIM Timer x Clock
              prescaler</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
            </field>
          </fields>
        </register>
        <register derivedFrom="HRTIM_TIMA.ISR">
          <name>ISR</name>
          <displayName>DISR</displayName>
          <description>Timerx Interrupt Status
          Register</description>
          <addressOffset>0x4</addressOffset>
        </register>
        <register derivedFrom="HRTIM_TIMA.ICR">
          <name>ICR</name>
          <displayName>DICR</displayName>
          <description>Timerx Interrupt Clear
          Register</description>
          <addressOffset>0x8</addressOffset>
        </register>
        <register derivedFrom="HRTIM_TIMA.DIER">
          <name>DIER</name>
          <displayName>DDIER5</displayName>
          <description>TIMxDIER5</description>
          <addressOffset>0xC</addressOffset>
        </register>
        <register derivedFrom="HRTIM_Master.CNTR">
          <name>CNTR</name>
          <displayName>CNTDR</displayName>
          <description>Timerx Counter Register</description>
          <addressOffset>0x10</addressOffset>
        </register>
        <register derivedFrom="HRTIM_Master.PERR">
          <name>PERR</name>
          <displayName>PERDR</displayName>
          <description>Timerx Period Register</description>
          <addressOffset>0x14</addressOffset>
        </register>
        <register derivedFrom="HRTIM_Master.REPR">
          <name>REPR</name>
          <displayName>REPDR</displayName>
          <description>Timerx Repetition Register</description>
          <addressOffset>0x18</addressOffset>
        </register>
        <register derivedFrom="HRTIM_Master.CMP1R">
          <name>CMP1R</name>
          <displayName>CMP1DR</displayName>
          <description>Timerx Compare 1 Register</description>
          <addressOffset>0x1C</addressOffset>
        </register>
        <register derivedFrom="HRTIM_TIMA.CMP1CR">
          <name>CMP1CR</name>
          <displayName>CMP1CDR</displayName>
          <description>Timerx Compare 1 Compound
          Register</description>
          <addressOffset>0x20</addressOffset>
        </register>
        <register derivedFrom="CMP1R">
          <name>CMP2R</name>
          <displayName>CMP2DR</displayName>
          <description>Timerx Compare 2 Register</description>
          <addressOffset>0x24</addressOffset>
        </register>
        <register derivedFrom="CMP1R">
          <name>CMP3R</name>
          <displayName>CMP3DR</displayName>
          <description>Timerx Compare 3 Register</description>
          <addressOffset>0x28</addressOffset>
        </register>
        <register derivedFrom="CMP1R">
          <name>CMP4R</name>
          <displayName>CMP4DR</displayName>
          <description>Timerx Compare 4 Register</description>
          <addressOffset>0x2C</addressOffset>
        </register>
        <register derivedFrom="HRTIM_TIMA.CPT1R">
          <name>CPT1R</name>
          <displayName>CPT1DR</displayName>
          <description>Timerx Capture 1 Register</description>
          <addressOffset>0x30</addressOffset>
        </register>
        <register derivedFrom="HRTIM_TIMA.CPT1R">
          <name>CPT2R</name>
          <displayName>CPT2DR</displayName>
          <description>Timerx Capture 2 Register</description>
          <addressOffset>0x34</addressOffset>
        </register>
        <register derivedFrom="HRTIM_TIMA.DTR">
          <name>DTR</name>
          <displayName>DTDR</displayName>
          <description>Timerx Deadtime Register</description>
          <addressOffset>0x38</addressOffset>
        </register>
        <register>
          <name>SET1R</name>
          <displayName>SETD1R</displayName>
          <description>Timerx Output1 Set Register</description>
          <addressOffset>0x3C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field derivedFrom="HRTIM_TIMA.SET1R.UPDATE">
              <name>UPDATE</name>
              <description>Registers update (transfer preload to
              active)</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.SET1R.EXTEVNT%s">
              <dim>10</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-10</dimIndex>
              <name>EXTEVNT%s</name>
              <description>External Event %s</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.SET1R.TIMBCMP1">
              <name>TIMACMP1</name>
              <description>Timer A Compare 1</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.SET1R.TIMBCMP1">
              <name>TIMECMP2</name>
              <description>Timer E Compare 2</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.SET1R.TIMBCMP1">
              <name>TIMECMP1</name>
              <description>Timer E Compare 1</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.SET1R.TIMBCMP1">
              <name>TIMCCMP4</name>
              <description>Timer C Compare 4</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.SET1R.TIMBCMP1">
              <name>TIMCCMP3</name>
              <description>Timer C Compare 3</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.SET1R.TIMBCMP1">
              <name>TIMCCMP1</name>
              <description>Timer C Compare 1</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.SET1R.TIMBCMP1">
              <name>TIMBCMP4</name>
              <description>Timer B Compare 4</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.SET1R.TIMBCMP1">
              <name>TIMBCMP2</name>
              <description>Timer B Compare 2</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.SET1R.TIMBCMP1">
              <name>TIMACMP4</name>
              <description>Timer A Compare 4</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.SET1R.MSTCMP%s">
              <dim>4</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-4</dimIndex>
              <name>MSTCMP%s</name>
              <description>Master Compare %s</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.SET1R.MSTPER">
              <name>MSTPER</name>
              <description>Master Period</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.SET1R.CMP%s">
              <dim>4</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-4</dimIndex>
              <name>CMP%s</name>
              <description>Timer A compare %s</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.SET1R.PER">
              <name>PER</name>
              <description>Timer A Period</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.SET1R.RESYNC">
              <name>RESYNC</name>
              <description>Timer A resynchronizaton</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.SET1R.SST">
              <name>SST</name>
              <description>Software Set trigger</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>RST1R</name>
          <displayName>RSTD1R</displayName>
          <description>Timerx Output1 Reset Register</description>
          <addressOffset>0x40</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field derivedFrom="HRTIM_TIMA.RST1R.UPDATE">
              <name>UPDATE</name>
              <description>UPDATE</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RST1R.EXTEVNT%s">
              <dim>10</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-10</dimIndex>
              <name>EXTEVNT%s</name>
              <description>EXTEVNT%s</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RST1R.TIMBCMP1">
              <name>TIMACMP1</name>
              <description>Timer A Compare 1</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RST1R.TIMBCMP1">
              <name>TIMECMP2</name>
              <description>Timer E Compare 2</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RST1R.TIMBCMP1">
              <name>TIMECMP1</name>
              <description>Timer E Compare 1</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RST1R.TIMBCMP1">
              <name>TIMCCMP4</name>
              <description>Timer C Compare 4</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RST1R.TIMBCMP1">
              <name>TIMCCMP3</name>
              <description>Timer C Compare 3</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RST1R.TIMBCMP1">
              <name>TIMCCMP1</name>
              <description>Timer C Compare 1</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RST1R.TIMBCMP1">
              <name>TIMBCMP4</name>
              <description>Timer B Compare 4</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RST1R.TIMBCMP1">
              <name>TIMBCMP2</name>
              <description>Timer B Compare 2</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RST1R.TIMBCMP1">
              <name>TIMACMP4</name>
              <description>Timer A Compare 4</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RST1R.MSTCMP%s">
              <dim>4</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-4</dimIndex>
              <name>MSTCMP%s</name>
              <description>MSTCMP%s</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RST1R.MSTPER">
              <name>MSTPER</name>
              <description>MSTPER</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RST1R.CMP%s">
              <dim>4</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-4</dimIndex>
              <name>CMP%s</name>
              <description>CMP%s</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RST1R.PER">
              <name>PER</name>
              <description>PER</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RST1R.RESYNC">
              <name>RESYNC</name>
              <description>RESYNC</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RST1R.SRT">
              <name>SRT</name>
              <description>SRT</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register derivedFrom="SET1R">
          <name>SET2R</name>
          <displayName>SETD2R</displayName>
          <description>Timerx Output2 Set Register</description>
          <addressOffset>0x44</addressOffset>
        </register>
        <register derivedFrom="RST1R">
          <name>RST2R</name>
          <displayName>RSTD2R</displayName>
          <description>Timerx Output2 Reset Register</description>
          <addressOffset>0x48</addressOffset>
        </register>
        <register derivedFrom="HRTIM_TIMA.EEFR1">
          <name>EEFR1</name>
          <displayName>EEFDR1</displayName>
          <description>Timerx External Event Filtering Register
          1</description>
          <addressOffset>0x4C</addressOffset>
        </register>
        <register derivedFrom="HRTIM_TIMA.EEFR2">
          <name>EEFR2</name>
          <displayName>EEFDR2</displayName>
          <description>Timerx External Event Filtering Register
          2</description>
          <addressOffset>0x50</addressOffset>
        </register>
        <register>
          <name>RSTR</name>
          <displayName>RSTDR</displayName>
          <description>TimerA Reset Register</description>
          <addressOffset>0x54</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field derivedFrom="HRTIM_TIMA.RSTR.TIMBCMP1">
              <name>TIMACMP1</name>
              <description>Timer A Compare 1</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RSTR.TIMBCMP1">
              <name>TIMECMP4</name>
              <description>Timer E Compare 4</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RSTR.TIMBCMP1">
              <name>TIMECMP2</name>
              <description>Timer E Compare 2</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RSTR.TIMBCMP1">
              <name>TIMECMP1</name>
              <description>Timer E Compare 1</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RSTR.TIMBCMP1">
              <name>TIMCCMP4</name>
              <description>Timer C Compare 4</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RSTR.TIMBCMP1">
              <name>TIMCCMP2</name>
              <description>Timer C Compare 2</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RSTR.TIMBCMP1">
              <name>TIMCCMP1</name>
              <description>Timer C Compare 1</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RSTR.TIMBCMP1">
              <name>TIMBCMP4</name>
              <description>Timer B Compare 4</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RSTR.TIMBCMP1">
              <name>TIMBCMP2</name>
              <description>Timer B Compare 2</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RSTR.TIMBCMP1">
              <name>TIMBCMP1</name>
              <description>Timer B Compare 1</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RSTR.TIMBCMP1">
              <name>TIMACMP4</name>
              <description>Timer A Compare 4</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RSTR.TIMBCMP1">
              <name>TIMACMP2</name>
              <description>Timer A Compare 2</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RSTR.EXTEVNT%s">
              <dim>10</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-10</dimIndex>
              <name>EXTEVNT%s</name>
              <description>External Event %s</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RSTR.MSTCMP%s">
              <dim>4</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-4</dimIndex>
              <name>MSTCMP%s</name>
              <description>Master compare %s</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RSTR.MSTPER">
              <name>MSTPER</name>
              <description>Master timer Period</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RSTR.CMP2">
              <name>CMP2</name>
              <description>Timer A compare 2 reset</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RSTR.CMP2">
              <name>CMP4</name>
              <description>Timer A compare 4 reset</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RSTR.UPDT">
              <name>UPDT</name>
              <description>Timer A Update reset</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register derivedFrom="HRTIM_TIMA.CHPR">
          <name>CHPR</name>
          <displayName>CHPDR</displayName>
          <description>Timerx Chopper Register</description>
          <addressOffset>0x58</addressOffset>
        </register>
        <register>
          <name>CPT1CR</name>
          <displayName>CPT1DCR</displayName>
          <description>Timerx Capture 2 Control
          Register</description>
          <addressOffset>0x5C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TACMP1</name>
              <description>Timer A Compare 1</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TACMP1</name>
                <enumeratedValue>
                  <name>NoEffect</name>
                  <description>Timer X compare Y has no effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TriggerCapture</name>
                  <description>Timer X compare Y triggers capture Z</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TECMP2</name>
              <description>Timer E Compare 2</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TACMP1"/>
            </field>
            <field>
              <name>TECMP1</name>
              <description>Timer E Compare 1</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TACMP1"/>
            </field>
            <field>
              <name>TA1RST</name>
              <description>Timer A output 1 Reset</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TA1RST</name>
                <enumeratedValue>
                  <name>NoEffect</name>
                  <description>Timer X output Y active to inactive transition has no effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TriggerCapture</name>
                  <description>Timer X output Y active to inactive transition triggers capture Z</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TE1RST</name>
              <description>Timer E output 1 Reset</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TA1RST"/>
            </field>
            <field>
              <name>TA1SET</name>
              <description>Timer A output 1 Set</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TA1SET</name>
                <enumeratedValue>
                  <name>NoEffect</name>
                  <description>Timer X output Y inactive to active transition has no effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TriggerCapture</name>
                  <description>Timer X output Y inactive to active transition triggers capture Z</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TE1SET</name>
              <description>Timer E output 1 Set</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TA1SET"/>
            </field>
            <field>
              <name>TCCMP2</name>
              <description>Timer C Compare 2</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TACMP1"/>
            </field>
            <field>
              <name>TCCMP1</name>
              <description>Timer C Compare 1</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TACMP1"/>
            </field>
            <field>
              <name>TC1RST</name>
              <description>Timer C output 1 Reset</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TA1RST"/>
            </field>
            <field>
              <name>TC1SET</name>
              <description>Timer C output 1 Set</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TA1SET"/>
            </field>
            <field>
              <name>TBCMP2</name>
              <description>Timer B Compare 2</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TACMP1"/>
            </field>
            <field>
              <name>TBCMP1</name>
              <description>Timer B Compare 1</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TACMP1"/>
            </field>
            <field>
              <name>TB1RST</name>
              <description>Timer B output 1 Reset</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TA1RST"/>
            </field>
            <field>
              <name>TB1SET</name>
              <description>Timer B output 1 Set</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TA1SET"/>
            </field>
            <field>
              <name>TACMP2</name>
              <description>Timer A Compare 2</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TACMP1"/>
            </field>
            <field>
              <dim>10</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-10</dimIndex>
              <name>EXEV%sCPT</name>
              <description>External Event %s Capture</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>EXEV1CPT</name>
                <enumeratedValue>
                  <name>NoEffect</name>
                  <description>External event Y has no effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TriggerCapture</name>
                  <description>External event Y triggers capture Z</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>UPDCPT</name>
              <description>Update Capture</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>UPDCPT</name>
                <enumeratedValue>
                  <name>NoEffect</name>
                  <description>Update event has no effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TriggerCapture</name>
                  <description>Update event triggers capture Z</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SWCPT</name>
              <description>Software Capture</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SWCPT</name>
                <enumeratedValue>
                  <name>NoEffect</name>
                  <description>No effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TriggerCapture</name>
                  <description>Force capture Z</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register derivedFrom="CPT1CR">
          <name>CPT2CR</name>
          <displayName>CPT2DCR</displayName>
          <description>CPT2xCR</description>
          <addressOffset>0x60</addressOffset>
        </register>
        <register derivedFrom="HRTIM_TIMA.OUTR">
          <name>OUTR</name>
          <displayName>OUTDR</displayName>
          <description>Timerx Output Register</description>
          <addressOffset>0x64</addressOffset>
        </register>
        <register derivedFrom="HRTIM_TIMA.FLTR">
          <name>FLTR</name>
          <displayName>FLTDR</displayName>
          <description>Timerx Fault Register</description>
          <addressOffset>0x68</addressOffset>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>HRTIM_TIME</name>
      <description>High Resolution Timer: TIME</description>
      <groupName>HRTIM</groupName>
      <baseAddress>0x40017680</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x80</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>HRTIM_TIME</name>
        <description>HRTIM1 timer E interrupt</description>
        <value>108</value>
      </interrupt>
      <registers>
        <register>
          <name>CR</name>
          <displayName>ECR</displayName>
          <description>Timerx Control Register</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field derivedFrom="HRTIM_TIMA.CR.UPDGAT">
              <name>UPDGAT</name>
              <description>Update Gating</description>
              <bitOffset>28</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field derivedFrom="HRTIM_Master.CR.PREEN">
              <name>PREEN</name>
              <description>Preload enable</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_Master.CR.DACSYNC">
              <name>DACSYNC</name>
              <description>AC Synchronization</description>
              <bitOffset>25</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.CR.MSTU">
              <name>MSTU</name>
              <description>Master Timer update</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TBU</name>
              <description>TBU</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TBU</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Update by timer x disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Update by timer x enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TEU</name>
              <description>TEU</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TBU"/>
            </field>
            <field>
              <name>TDU</name>
              <description>TDU</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TBU"/>
            </field>
            <field>
              <name>TCU</name>
              <description>TCU</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TBU"/>
            </field>
            <field derivedFrom="HRTIM_TIMA.CR.TRSTU">
              <name>TRSTU</name>
              <description>Timerx reset update</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.CR.TREPU">
              <name>TREPU</name>
              <description>Timer x Repetition update</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.CR.DELCMP4">
              <name>DELCMP4</name>
              <description>Delayed CMP4 mode</description>
              <bitOffset>14</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.CR.DELCMP2">
              <name>DELCMP2</name>
              <description>Delayed CMP2 mode</description>
              <bitOffset>12</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field derivedFrom="HRTIM_Master.CR.SYNCSTRT">
              <name>SYNCSTRT</name>
              <description>Synchronization Starts Timer
              x</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_Master.CR.SYNCRST">
              <name>SYNCRST</name>
              <description>Synchronization Resets Timer
              x</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.CR.PSHPLL">
              <name>PSHPLL</name>
              <description>Push-Pull mode enable</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_Master.CR.HALF">
              <name>HALF</name>
              <description>Half mode enable</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_Master.CR.RETRIG">
              <name>RETRIG</name>
              <description>Re-triggerable mode</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_Master.CR.CONT">
              <name>CONT</name>
              <description>Continuous mode</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_Master.CR.CKPSC">
              <name>CKPSC</name>
              <description>HRTIM Timer x Clock
              prescaler</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
            </field>
          </fields>
        </register>
        <register derivedFrom="HRTIM_TIMA.ISR">
          <name>ISR</name>
          <displayName>EISR</displayName>
          <description>Timerx Interrupt Status
          Register</description>
          <addressOffset>0x4</addressOffset>
        </register>
        <register derivedFrom="HRTIM_TIMA.ICR">
          <name>ICR</name>
          <displayName>EICR</displayName>
          <description>Timerx Interrupt Clear
          Register</description>
          <addressOffset>0x8</addressOffset>
        </register>
        <register derivedFrom="HRTIM_TIMA.DIER">
          <name>DIER</name>
          <displayName>EDIER5</displayName>
          <description>TIMxDIER5</description>
          <addressOffset>0xC</addressOffset>
        </register>
        <register derivedFrom="HRTIM_Master.CNTR">
          <name>CNTR</name>
          <displayName>CNTER</displayName>
          <description>Timerx Counter Register</description>
          <addressOffset>0x10</addressOffset>
        </register>
        <register derivedFrom="HRTIM_Master.PERR">
          <name>PERR</name>
          <displayName>PERER</displayName>
          <description>Timerx Period Register</description>
          <addressOffset>0x14</addressOffset>
        </register>
        <register derivedFrom="HRTIM_Master.REPR">
          <name>REPR</name>
          <displayName>REPER</displayName>
          <description>Timerx Repetition Register</description>
          <addressOffset>0x18</addressOffset>
        </register>
        <register derivedFrom="HRTIM_Master.CMP1R">
          <name>CMP1R</name>
          <displayName>CMP1ER</displayName>
          <description>Timerx Compare 1 Register</description>
          <addressOffset>0x1C</addressOffset>
        </register>
        <register derivedFrom="HRTIM_TIMA.CMP1CR">
          <name>CMP1CR</name>
          <displayName>CMP1CER</displayName>
          <description>Timerx Compare 1 Compound
          Register</description>
          <addressOffset>0x20</addressOffset>
        </register>
        <register derivedFrom="CMP1R">
          <name>CMP2R</name>
          <displayName>CMP2ER</displayName>
          <description>Timerx Compare 2 Register</description>
          <addressOffset>0x24</addressOffset>
        </register>
        <register derivedFrom="CMP1R">
          <name>CMP3R</name>
          <displayName>CMP3ER</displayName>
          <description>Timerx Compare 3 Register</description>
          <addressOffset>0x28</addressOffset>
        </register>
        <register derivedFrom="CMP1R">
          <name>CMP4R</name>
          <displayName>CMP4ER</displayName>
          <description>Timerx Compare 4 Register</description>
          <addressOffset>0x2C</addressOffset>
        </register>
        <register derivedFrom="HRTIM_TIMA.CPT1R">
          <name>CPT1R</name>
          <displayName>CPT1ER</displayName>
          <description>Timerx Capture 1 Register</description>
          <addressOffset>0x30</addressOffset>
        </register>
        <register derivedFrom="HRTIM_TIMA.CPT1R">
          <name>CPT2R</name>
          <displayName>CPT2ER</displayName>
          <description>Timerx Capture 2 Register</description>
          <addressOffset>0x34</addressOffset>
        </register>
        <register derivedFrom="HRTIM_TIMA.DTR">
          <name>DTR</name>
          <displayName>DTER</displayName>
          <description>Timerx Deadtime Register</description>
          <addressOffset>0x38</addressOffset>
        </register>
        <register>
          <name>SET1R</name>
          <displayName>SETE1R</displayName>
          <description>Timerx Output1 Set Register</description>
          <addressOffset>0x3C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field derivedFrom="HRTIM_TIMA.SET1R.UPDATE">
              <name>UPDATE</name>
              <description>Registers update (transfer preload to
              active)</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.SET1R.EXTEVNT%s">
              <dim>10</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-10</dimIndex>
              <name>EXTEVNT%s</name>
              <description>External Event %s</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.SET1R.TIMBCMP1">
              <name>TIMACMP3</name>
              <description>Timer A Compare 3</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.SET1R.TIMBCMP1">
              <name>TIMDCMP4</name>
              <description>Timer D Compare 4</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.SET1R.TIMBCMP1">
              <name>TIMDCMP2</name>
              <description>Timer D Compare 2</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.SET1R.TIMBCMP1">
              <name>TIMDCMP1</name>
              <description>Timer D Compare 1</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.SET1R.TIMBCMP1">
              <name>TIMCCMP2</name>
              <description>Timer C Compare 2</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.SET1R.TIMBCMP1">
              <name>TIMCCMP1</name>
              <description>Timer C Compare 1</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.SET1R.TIMBCMP1">
              <name>TIMBCMP4</name>
              <description>Timer B Compare 4</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.SET1R.TIMBCMP1">
              <name>TIMBCMP3</name>
              <description>Timer B Compare 3</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.SET1R.TIMBCMP1">
              <name>TIMACMP4</name>
              <description>Timer A Compare 4</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.SET1R.MSTCMP%s">
              <dim>4</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-4</dimIndex>
              <name>MSTCMP%s</name>
              <description>Master Compare %s</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.SET1R.MSTPER">
              <name>MSTPER</name>
              <description>Master Period</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.SET1R.CMP%s">
              <dim>4</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-4</dimIndex>
              <name>CMP%s</name>
              <description>Timer A compare %s</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.SET1R.PER">
              <name>PER</name>
              <description>Timer A Period</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.SET1R.RESYNC">
              <name>RESYNC</name>
              <description>Timer A resynchronizaton</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.SET1R.SST">
              <name>SST</name>
              <description>Software Set trigger</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>RST1R</name>
          <displayName>RSTE1R</displayName>
          <description>Timerx Output1 Reset Register</description>
          <addressOffset>0x40</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field derivedFrom="HRTIM_TIMA.RST1R.UPDATE">
              <name>UPDATE</name>
              <description>UPDATE</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RST1R.EXTEVNT%s">
              <dim>10</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-10</dimIndex>
              <name>EXTEVNT%s</name>
              <description>EXTEVNT%s</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RST1R.TIMBCMP1">
              <name>TIMACMP3</name>
              <description>Timer A Compare 3</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RST1R.TIMBCMP1">
              <name>TIMDCMP4</name>
              <description>Timer D Compare 4</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RST1R.TIMBCMP1">
              <name>TIMDCMP2</name>
              <description>Timer D Compare 2</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RST1R.TIMBCMP1">
              <name>TIMDCMP1</name>
              <description>Timer D Compare 1</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RST1R.TIMBCMP1">
              <name>TIMCCMP2</name>
              <description>Timer C Compare 2</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RST1R.TIMBCMP1">
              <name>TIMCCMP1</name>
              <description>Timer C Compare 1</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RST1R.TIMBCMP1">
              <name>TIMBCMP4</name>
              <description>Timer B Compare 4</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RST1R.TIMBCMP1">
              <name>TIMBCMP3</name>
              <description>Timer B Compare 3</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RST1R.TIMBCMP1">
              <name>TIMACMP4</name>
              <description>Timer A Compare 4</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RST1R.MSTCMP%s">
              <dim>4</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-4</dimIndex>
              <name>MSTCMP%s</name>
              <description>MSTCMP%s</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RST1R.MSTPER">
              <name>MSTPER</name>
              <description>MSTPER</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RST1R.CMP%s">
              <dim>4</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-4</dimIndex>
              <name>CMP%s</name>
              <description>CMP%s</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RST1R.PER">
              <name>PER</name>
              <description>PER</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RST1R.RESYNC">
              <name>RESYNC</name>
              <description>RESYNC</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RST1R.SRT">
              <name>SRT</name>
              <description>SRT</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register derivedFrom="SET1R">
          <name>SET2R</name>
          <displayName>SETE2R</displayName>
          <description>Timerx Output2 Set Register</description>
          <addressOffset>0x44</addressOffset>
        </register>
        <register derivedFrom="RST1R">
          <name>RST2R</name>
          <displayName>RSTE2R</displayName>
          <description>Timerx Output2 Reset Register</description>
          <addressOffset>0x48</addressOffset>
        </register>
        <register derivedFrom="HRTIM_TIMA.EEFR1">
          <name>EEFR1</name>
          <displayName>EEFER1</displayName>
          <description>Timerx External Event Filtering Register
          1</description>
          <addressOffset>0x4C</addressOffset>
        </register>
        <register derivedFrom="HRTIM_TIMA.EEFR2">
          <name>EEFR2</name>
          <displayName>EEFER2</displayName>
          <description>Timerx External Event Filtering Register
          2</description>
          <addressOffset>0x50</addressOffset>
        </register>
        <register>
          <name>RSTR</name>
          <displayName>RSTER</displayName>
          <description>TimerA Reset Register</description>
          <addressOffset>0x54</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field derivedFrom="HRTIM_TIMA.RSTR.TIMBCMP1">
              <name>TIMACMP1</name>
              <description>Timer A Compare 1</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RSTR.TIMBCMP1">
              <name>TIMDCMP4</name>
              <description>Timer D Compare 4</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RSTR.TIMBCMP1">
              <name>TIMDCMP2</name>
              <description>Timer D Compare 2</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RSTR.TIMBCMP1">
              <name>TIMDCMP1</name>
              <description>Timer D Compare 1</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RSTR.TIMBCMP1">
              <name>TIMCCMP4</name>
              <description>Timer C Compare 4</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RSTR.TIMBCMP1">
              <name>TIMCCMP2</name>
              <description>Timer C Compare 2</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RSTR.TIMBCMP1">
              <name>TIMCCMP1</name>
              <description>Timer C Compare 1</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RSTR.TIMBCMP1">
              <name>TIMBCMP4</name>
              <description>Timer B Compare 4</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RSTR.TIMBCMP1">
              <name>TIMBCMP2</name>
              <description>Timer B Compare 2</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RSTR.TIMBCMP1">
              <name>TIMBCMP1</name>
              <description>Timer B Compare 1</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RSTR.TIMBCMP1">
              <name>TIMACMP4</name>
              <description>Timer A Compare 4</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RSTR.TIMBCMP1">
              <name>TIMACMP2</name>
              <description>Timer A Compare 2</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RSTR.EXTEVNT%s">
              <dim>10</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-10</dimIndex>
              <name>EXTEVNT%s</name>
              <description>External Event %s</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RSTR.MSTCMP%s">
              <dim>4</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-4</dimIndex>
              <name>MSTCMP%s</name>
              <description>Master compare %s</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RSTR.MSTPER">
              <name>MSTPER</name>
              <description>Master timer Period</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RSTR.CMP2">
              <name>CMP2</name>
              <description>Timer A compare 2 reset</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RSTR.CMP2">
              <name>CMP4</name>
              <description>Timer A compare 4 reset</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="HRTIM_TIMA.RSTR.UPDT">
              <name>UPDT</name>
              <description>Timer A Update reset</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register derivedFrom="HRTIM_TIMA.CHPR">
          <name>CHPR</name>
          <displayName>CHPER</displayName>
          <description>Timerx Chopper Register</description>
          <addressOffset>0x58</addressOffset>
        </register>
        <register>
          <name>CPT1CR</name>
          <displayName>CPT1ECR</displayName>
          <description>Timerx Capture 2 Control
          Register</description>
          <addressOffset>0x5C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TACMP1</name>
              <description>Timer A Compare 1</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TACMP1</name>
                <enumeratedValue>
                  <name>NoEffect</name>
                  <description>Timer X compare Y has no effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TriggerCapture</name>
                  <description>Timer X compare Y triggers capture Z</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TDCMP2</name>
              <description>Timer D Compare 2</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TACMP1"/>
            </field>
            <field>
              <name>TDCMP1</name>
              <description>Timer D Compare 1</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TACMP1"/>
            </field>
            <field>
              <name>TA1RST</name>
              <description>Timer A output 1 Reset</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TA1RST</name>
                <enumeratedValue>
                  <name>NoEffect</name>
                  <description>Timer X output Y active to inactive transition has no effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TriggerCapture</name>
                  <description>Timer X output Y active to inactive transition triggers capture Z</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TD1RST</name>
              <description>Timer D output 1 Reset</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TA1RST"/>
            </field>
            <field>
              <name>TA1SET</name>
              <description>Timer A output 1 Set</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TA1SET</name>
                <enumeratedValue>
                  <name>NoEffect</name>
                  <description>Timer X output Y inactive to active transition has no effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TriggerCapture</name>
                  <description>Timer X output Y inactive to active transition triggers capture Z</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TD1SET</name>
              <description>Timer D output 1 Set</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TA1SET"/>
            </field>
            <field>
              <name>TCCMP2</name>
              <description>Timer C Compare 2</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TACMP1"/>
            </field>
            <field>
              <name>TCCMP1</name>
              <description>Timer C Compare 1</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TACMP1"/>
            </field>
            <field>
              <name>TC1RST</name>
              <description>Timer C output 1 Reset</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TA1RST"/>
            </field>
            <field>
              <name>TC1SET</name>
              <description>Timer C output 1 Set</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TA1SET"/>
            </field>
            <field>
              <name>TBCMP2</name>
              <description>Timer B Compare 2</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TACMP1"/>
            </field>
            <field>
              <name>TBCMP1</name>
              <description>Timer B Compare 1</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TACMP1"/>
            </field>
            <field>
              <name>TB1RST</name>
              <description>Timer B output 1 Reset</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TA1RST"/>
            </field>
            <field>
              <name>TB1SET</name>
              <description>Timer B output 1 Set</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TA1SET"/>
            </field>
            <field>
              <name>TACMP2</name>
              <description>Timer A Compare 2</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TACMP1"/>
            </field>
            <field>
              <dim>10</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-10</dimIndex>
              <name>EXEV%sCPT</name>
              <description>External Event %s Capture</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>EXEV1CPT</name>
                <enumeratedValue>
                  <name>NoEffect</name>
                  <description>External event Y has no effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TriggerCapture</name>
                  <description>External event Y triggers capture Z</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>UPDCPT</name>
              <description>Update Capture</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>UPDCPT</name>
                <enumeratedValue>
                  <name>NoEffect</name>
                  <description>Update event has no effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TriggerCapture</name>
                  <description>Update event triggers capture Z</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SWCPT</name>
              <description>Software Capture</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SWCPT</name>
                <enumeratedValue>
                  <name>NoEffect</name>
                  <description>No effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TriggerCapture</name>
                  <description>Force capture Z</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register derivedFrom="CPT1CR">
          <name>CPT2CR</name>
          <displayName>CPT2ECR</displayName>
          <description>CPT2xCR</description>
          <addressOffset>0x60</addressOffset>
        </register>
        <register derivedFrom="HRTIM_TIMA.OUTR">
          <name>OUTR</name>
          <displayName>OUTER</displayName>
          <description>Timerx Output Register</description>
          <addressOffset>0x64</addressOffset>
        </register>
        <register derivedFrom="HRTIM_TIMA.FLTR">
          <name>FLTR</name>
          <displayName>FLTER</displayName>
          <description>Timerx Fault Register</description>
          <addressOffset>0x68</addressOffset>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>HRTIM_Common</name>
      <description>High Resolution Timer: Common
      functions</description>
      <groupName>HRTIM</groupName>
      <baseAddress>0x40017780</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x80</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>HRTIM1_FLT</name>
        <description>HRTIM1 fault interrupt</description>
        <value>109</value>
      </interrupt>
      <registers>
        <register>
          <name>CR1</name>
          <displayName>CR1</displayName>
          <description>Control Register 1</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>4</dim>
              <dimIncrement>0x3</dimIncrement>
              <dimIndex>1-4</dimIndex>
              <name>AD%sUSRC</name>
              <description>ADC Trigger %s Update
              Source</description>
              <bitOffset>16</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>AD1USRC</name>
                <enumeratedValue>
                  <name>Master</name>
                  <description>ADC trigger update from master timer</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TimerA</name>
                  <description>ADC trigger update from timer A</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TimerB</name>
                  <description>ADC trigger update from timer B</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TimerC</name>
                  <description>ADC trigger update from timer C</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TimerD</name>
                  <description>ADC trigger update from timer D</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TimerE</name>
                  <description>ADC trigger update from timer E</description>
                  <value>5</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MUDIS</name>
              <description>Master Update Disable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>MUDIS</name>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Timer update enabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Timer update disabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>5</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>A,B,C,D,E</dimIndex>
              <name>T%sUDIS</name>
              <description>Timer %s Update Disable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MUDIS"/>
            </field>
          </fields>
        </register>
        <register>
          <name>CR2</name>
          <displayName>CR2</displayName>
          <description>Control Register 2</description>
          <addressOffset>0x4</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>MRST</name>
              <description>Master Counter software
              reset</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>MRST</name>
                <enumeratedValue>
                  <name>Reset</name>
                  <description>Reset timer</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>5</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>A,B,C,D,E</dimIndex>
              <name>T%sRST</name>
              <description>Timer %s counter software reset</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MRST"/>
            </field>
            <field>
              <name>MSWU</name>
              <description>Master Timer Software
              update</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>MSWU</name>
                <enumeratedValue>
                  <name>Update</name>
                  <description>Force immediate update</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>5</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>A,B,C,D,E</dimIndex>
              <name>T%sSWU</name>
              <description>Timer %s Software Update</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MSWU"/>
            </field>
          </fields>
        </register>
        <register>
          <name>ISR</name>
          <displayName>ISR</displayName>
          <description>Interrupt Status Register</description>
          <addressOffset>0x8</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>BMPER</name>
              <description>Burst mode Period Interrupt
              Flag</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>BMPERR</name>
                <enumeratedValue>
                  <name>NoEvent</name>
                  <description>No burst mode period interrupt occurred</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Event</name>
                  <description>Burst mode period interrupt occured</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SYSFLT</name>
              <description>System Fault Interrupt
              Flag</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>SYSFLTR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoEvent</name>
                  <description>No fault interrupt occurred</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Event</name>
                  <description>Fault interrupt occurred</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FLT1</name>
              <description>Fault 1 Interrupt Flag</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>FLT1R</name>
                <enumeratedValue>
                  <name>NoEvent</name>
                  <description>No fault interrupt occurred</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Event</name>
                  <description>Fault interrupt occurred</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FLT5</name>
              <description>Fault 5 Interrupt Flag</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues derivedFrom="FLT1R"/>
            </field>
            <field>
              <name>FLT4</name>
              <description>Fault 4 Interrupt Flag</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues derivedFrom="FLT1R"/>
            </field>
            <field>
              <name>FLT3</name>
              <description>Fault 3 Interrupt Flag</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues derivedFrom="FLT1R"/>
            </field>
            <field>
              <name>FLT2</name>
              <description>Fault 2 Interrupt Flag</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues derivedFrom="FLT1R"/>
            </field>
          </fields>
        </register>
        <register>
          <name>ICR</name>
          <displayName>ICR</displayName>
          <description>Interrupt Clear Register</description>
          <addressOffset>0xC</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>FLT1C</name>
              <description>Fault 1 Interrupt Flag
              Clear</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>FLT1CW</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clears associated flag in ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BMPERC</name>
              <description>Burst mode period flag
              Clear</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues derivedFrom="FLT1CW"/>
            </field>
            <field>
              <name>SYSFLTC</name>
              <description>System Fault Interrupt Flag
              Clear</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues derivedFrom="FLT1CW"/>
            </field>
            <field>
              <name>FLT5C</name>
              <description>Fault 5 Interrupt Flag
              Clear</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues derivedFrom="FLT1CW"/>
            </field>
            <field>
              <name>FLT4C</name>
              <description>Fault 4 Interrupt Flag
              Clear</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues derivedFrom="FLT1CW"/>
            </field>
            <field>
              <name>FLT3C</name>
              <description>Fault 3 Interrupt Flag
              Clear</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues derivedFrom="FLT1CW"/>
            </field>
            <field>
              <name>FLT2C</name>
              <description>Fault 2 Interrupt Flag
              Clear</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues derivedFrom="FLT1CW"/>
            </field>
          </fields>
        </register>
        <register>
          <name>IER</name>
          <displayName>IER</displayName>
          <description>Interrupt Enable Register</description>
          <addressOffset>0x10</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>BMPERIE</name>
              <description>Burst mode period Interrupt
              Enable</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>BMPERIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Burst mode period interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Burst mode period interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FLT1IE</name>
              <description>Fault 1 Interrupt Enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>FLT1IE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Fault interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Fault interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SYSFLTIE</name>
              <description>System Fault Interrupt
              Enable</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="FLT1IE"/>
            </field>
            <field>
              <name>FLT5IE</name>
              <description>Fault 5 Interrupt Enable</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="FLT1IE"/>
            </field>
            <field>
              <name>FLT4IE</name>
              <description>Fault 4 Interrupt Enable</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="FLT1IE"/>
            </field>
            <field>
              <name>FLT3IE</name>
              <description>Fault 3 Interrupt Enable</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="FLT1IE"/>
            </field>
            <field>
              <name>FLT2IE</name>
              <description>Fault 2 Interrupt Enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="FLT1IE"/>
            </field>
          </fields>
        </register>
        <register>
          <name>OENR</name>
          <displayName>OENR</displayName>
          <description>Output Enable Register</description>
          <addressOffset>0x14</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>5</dim>
              <dimIncrement>0x2</dimIncrement>
              <dimIndex>A,B,C,D,E</dimIndex>
              <name>T%s1OEN</name>
              <description>Timer %s Output 1 Enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToSet</modifiedWriteValues>
              <enumeratedValues>
                <name>TOENR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Output disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Output enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>TORNW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Enable</name>
                  <description>Enable output</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>5</dim>
              <dimIncrement>0x2</dimIncrement>
              <dimIndex>A,B,C,D,E</dimIndex>
              <name>T%s2OEN</name>
              <description>Timer %s Output 2 Enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToSet</modifiedWriteValues>
              <enumeratedValues derivedFrom="TOENR">
                <usage>read</usage>
              </enumeratedValues>
              <enumeratedValues derivedFrom="TORNW">
                <usage>write</usage>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>ODISR</name>
          <displayName>DISR</displayName>
          <description>DISR</description>
          <addressOffset>0x18</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>5</dim>
              <dimIncrement>0x2</dimIncrement>
              <dimIndex>A,B,C,D,E</dimIndex>
              <name>T%s1ODIS</name>
              <description>T%s1ODIS</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToSet</modifiedWriteValues>
              <enumeratedValues>
                <name>TODIS</name>
                <enumeratedValue>
                  <name>Disable</name>
                  <description>Disable output</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>5</dim>
              <dimIncrement>0x2</dimIncrement>
              <dimIndex>A,B,C,D,E</dimIndex>
              <name>T%s2ODIS</name>
              <description>T%s2ODIS</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToSet</modifiedWriteValues>
              <enumeratedValues derivedFrom="TODIS"/>
            </field>
          </fields>
        </register>
        <register>
          <name>ODSR</name>
          <displayName>ODSR</displayName>
          <description>Output Disable Status Register</description>
          <addressOffset>0x1C</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>5</dim>
              <dimIncrement>0x2</dimIncrement>
              <dimIndex>A,B,C,D,E</dimIndex>
              <name>T%s1ODS</name>
              <description>Timer %s Output 1 disable status</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TODS</name>
                <enumeratedValue>
                  <name>Idle</name>
                  <description>Output disabled in idle state</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Fault</name>
                  <description>Output disabled in fault state</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>5</dim>
              <dimIncrement>0x2</dimIncrement>
              <dimIndex>A,B,C,D,E</dimIndex>
              <name>T%s2ODS</name>
              <description>Timer %s Output 2 disable status</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TODS"/>
            </field>
          </fields>
        </register>
        <register>
          <name>BMCR</name>
          <displayName>BMCR</displayName>
          <description>Burst Mode Control Register</description>
          <addressOffset>0x20</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>BMSTAT</name>
              <description>Burst Mode Status</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>zeroToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>BMSTATR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Normal</name>
                  <description>Normal operation</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Burst</name>
                  <description>Burst operation ongoing</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>BMSTATW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Cancel</name>
                  <description>Terminate burst mode</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MTBM</name>
              <description>Master Timer Burst Mode</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>MTBM</name>
                <enumeratedValue>
                  <name>Normal</name>
                  <description>Counter clock is maintained and timer operates normally</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Stopped</name>
                  <description>Counter clock is stopped and counter is reset</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>5</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>A,B,C,D,E</dimIndex>
              <name>T%sBM</name>
              <description>Timer %s Burst Mode</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MTBM"/>
            </field>
            <field>
              <name>BMPREN</name>
              <description>Burst Mode Preload Enable</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>BMPREN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Preload disabled: the write access is directly done into active registers</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Preload enabled: the write access is done into preload registers</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BMPRSC</name>
              <description>Burst Mode Prescaler</description>
              <bitOffset>6</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues>
                <name>BMPRSC</name>
                <enumeratedValue>
                  <name>Div1</name>
                  <description>Clock not divided</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div2</name>
                  <description>Division by 2</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div4</name>
                  <description>Division by 4</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div8</name>
                  <description>Division by 8</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div16</name>
                  <description>Division by 16</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div32</name>
                  <description>Division by 32</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div64</name>
                  <description>Division by 64</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div128</name>
                  <description>Division by 128</description>
                  <value>7</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div256</name>
                  <description>Division by 256</description>
                  <value>8</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div512</name>
                  <description>Division by 512</description>
                  <value>9</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div1024</name>
                  <description>Division by 1024</description>
                  <value>10</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div2048</name>
                  <description>Division by 2048</description>
                  <value>11</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div4096</name>
                  <description>Division by 4096</description>
                  <value>12</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div8192</name>
                  <description>Division by 8192</description>
                  <value>13</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div16384</name>
                  <description>Division by 16384</description>
                  <value>14</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div32768</name>
                  <description>Division by 32768</description>
                  <value>15</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BMCLK</name>
              <description>Burst Mode Clock source</description>
              <bitOffset>2</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues>
                <name>BMCLK</name>
                <enumeratedValue>
                  <name>Master</name>
                  <description>Master timer reset/roll-over</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TimerA</name>
                  <description>Timer A counter reset/roll-over</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TimerB</name>
                  <description>Timer B counter reset/roll-over</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TimerC</name>
                  <description>Timer C counter reset/roll-over</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TimerD</name>
                  <description>Timer D counter reset/roll-over</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TimerE</name>
                  <description>Timer E counter reset/roll-over</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Event1</name>
                  <description>On-chip Event 1 (BMClk[1]), acting as a burst mode counter clock</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Event2</name>
                  <description>On-chip Event 2 (BMClk[2]), acting as a burst mode counter clock</description>
                  <value>7</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Event3</name>
                  <description>On-chip Event 3 (BMClk[3]), acting as a burst mode counter clock</description>
                  <value>8</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Event4</name>
                  <description>On-chip Event 4 (BMClk[4]), acting as a burst mode counter clock</description>
                  <value>9</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Clock</name>
                  <description>Prescaled f_HRTIM clock (as per BMPRSC[3:0] setting</description>
                  <value>10</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BMOM</name>
              <description>Burst Mode operating mode</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>BMOM</name>
                <enumeratedValue>
                  <name>SingleShot</name>
                  <description>Single-shot mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Continuous</name>
                  <description>Continuous operation</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BME</name>
              <description>Burst Mode enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>BME</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Burst mode disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Burst mode enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>BMTRGR</name>
          <displayName>BMTRG</displayName>
          <description>BMTRG</description>
          <addressOffset>0x24</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>OCHPEV</name>
              <description>OCHPEV</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>OCHPEV</name>
                <enumeratedValue>
                  <name>NoEffect</name>
                  <description>Rising edge on an on-chip event has no effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Trigger</name>
                  <description>Rising edge on an on-chip event triggers a burst mode entry</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TACMP1</name>
              <description>TACMP1</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TACMP1</name>
                <enumeratedValue>
                  <name>NoEffect</name>
                  <description>Timer X compare Y event has no effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Trigger</name>
                  <description>Timer X compare Y event triggers a burst mode entry</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TECMP2</name>
              <description>TECMP2</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TACMP1"/>
            </field>
            <field>
              <name>TECMP1</name>
              <description>TECMP1</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TACMP1"/>
            </field>
            <field>
              <name>TAREP</name>
              <description>TAREP</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TAREP</name>
                <enumeratedValue>
                  <name>NoEffect</name>
                  <description>Timer X repetition event has no effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Trigger</name>
                  <description>Timer X repetition event triggers a burst mode entry</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TEREP</name>
              <description>TEREP</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TAREP"/>
            </field>
            <field>
              <name>TARST</name>
              <description>TARST</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TARST</name>
                <enumeratedValue>
                  <name>NoEffect</name>
                  <description>Timer X reset/roll-over event has no effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Trigger</name>
                  <description>Timer X reset/roll-over event triggers a burst mode entry</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TERST</name>
              <description>TERST</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TARST"/>
            </field>
            <field>
              <name>TDCMP2</name>
              <description>TDCMP2</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TACMP1"/>
            </field>
            <field>
              <name>TDCMP1</name>
              <description>TDCMP1</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TACMP1"/>
            </field>
            <field>
              <name>TDREP</name>
              <description>TDREP</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TAREP"/>
            </field>
            <field>
              <name>TDRST</name>
              <description>TDRST</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TARST"/>
            </field>
            <field>
              <name>TCCMP2</name>
              <description>TCCMP2</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TACMP1"/>
            </field>
            <field>
              <name>TCCMP1</name>
              <description>TCCMP1</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TACMP1"/>
            </field>
            <field>
              <name>TCREP</name>
              <description>TCREP</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TAREP"/>
            </field>
            <field>
              <name>TCRST</name>
              <description>TCRST</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TARST"/>
            </field>
            <field>
              <name>TBCMP2</name>
              <description>TBCMP2</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TACMP1"/>
            </field>
            <field>
              <name>TBCMP1</name>
              <description>TBCMP1</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TACMP1"/>
            </field>
            <field>
              <name>TBREP</name>
              <description>TBREP</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TAREP"/>
            </field>
            <field>
              <name>TBRST</name>
              <description>TBRST</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TARST"/>
            </field>
            <field>
              <name>TACMP2</name>
              <description>TACMP2</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TACMP1"/>
            </field>
            <field>
              <name>MSTCMP1</name>
              <description>MSTCMP1</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>MSTCMP1</name>
                <enumeratedValue>
                  <name>NoEffect</name>
                  <description>Master timer compare X event has no effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Trigger</name>
                  <description>Master timer compare X event triggers a burst mode entry</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MSTCMP4</name>
              <description>MSTCMP4</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MSTCMP1"/>
            </field>
            <field>
              <name>MSTCMP3</name>
              <description>MSTCMP3</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MSTCMP1"/>
            </field>
            <field>
              <name>MSTCMP2</name>
              <description>MSTCMP2</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MSTCMP1"/>
            </field>
            <field>
              <name>MSTREP</name>
              <description>MSTREP</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>MSTREP</name>
                <enumeratedValue>
                  <name>NoEffect</name>
                  <description>Master timer repetition event has no effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Trigger</name>
                  <description>Master timer repetition event triggers a burst mode entry</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MSTRST</name>
              <description>MSTRST</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>MSTRST</name>
                <enumeratedValue>
                  <name>NoEffect</name>
                  <description>Master timer reset/roll-over event has no effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Trigger</name>
                  <description>Master timer reset/roll-over event triggers a burst mode entry</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SW</name>
              <description>SW</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SW</name>
                <enumeratedValue>
                  <name>NoEffect</name>
                  <description>No effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Trigger</name>
                  <description>Trigger immediate burst mode operation</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TAEEV7</name>
              <description>Timer A period following External Event 7</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TDEEV8</name>
              <description>Timer D period following External Event 8</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>EEV7</name>
              <description>External Event 7 (TIMA filters applied)</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>EEV8</name>
              <description>External Event 8 (TIMD filters applied)</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>BMCMPR</name>
          <displayName>BMCMPR6</displayName>
          <description>BMCMPR6</description>
          <addressOffset>0x28</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>BMCMP</name>
              <description>BMCMP</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>BMPER</name>
          <displayName>BMPER</displayName>
          <description>Burst Mode Period Register</description>
          <addressOffset>0x2C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>BMPER</name>
              <description>Burst mode Period</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>EECR1</name>
          <displayName>EECR1</displayName>
          <description>Timer External Event Control Register
          1</description>
          <addressOffset>0x30</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>5</dim>
              <dimIncrement>0x6</dimIncrement>
              <dimIndex>1-5</dimIndex>
              <name>EE%sFAST</name>
              <description>External Event %s Fast mode</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>EE1FAST</name>
                <enumeratedValue>
                  <name>Resynchronized</name>
                  <description>External event is re-synchronised by the HRTIM logic before acting on outputs</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Asynchronous</name>
                  <description>External event is acting asynchronously on outputs (low-latency mode)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>5</dim>
              <dimIncrement>0x6</dimIncrement>
              <dimIndex>1-5</dimIndex>
              <name>EE%sSNS</name>
              <description>External Event %s
              Sensitivity</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>EE1SNS</name>
                <enumeratedValue>
                  <name>Active</name>
                  <description>On active level defined by EExPOL bit</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Rising</name>
                  <description>Rising edge</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Falling</name>
                  <description>Falling edge</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Both</name>
                  <description>Both edges</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>5</dim>
              <dimIncrement>0x6</dimIncrement>
              <dimIndex>1-5</dimIndex>
              <name>EE%sPOL</name>
              <description>External Event %s Polarity</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>EE1POL</name>
                <enumeratedValue>
                  <name>ActiveHigh</name>
                  <description>External event is active high</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ActiveLow</name>
                  <description>External event is active low</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>5</dim>
              <dimIncrement>0x6</dimIncrement>
              <dimIndex>1-5</dimIndex>
              <name>EE%sSRC</name>
              <description>External Event %s Source</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>EE1SRC</name>
                <enumeratedValue>
                  <name>Src1</name>
                  <description>Source 1</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Src2</name>
                  <description>Source 2</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Src3</name>
                  <description>Source 3</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Src4</name>
                  <description>Source 4</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>EECR2</name>
          <displayName>EECR2</displayName>
          <description>Timer External Event Control Register
          2</description>
          <addressOffset>0x34</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>5</dim>
              <dimIncrement>0x6</dimIncrement>
              <dimIndex>6-10</dimIndex>
              <name>EE%sSNS</name>
              <description>External Event %s
              Sensitivity</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>EE6SNS</name>
                <enumeratedValue>
                  <name>Active</name>
                  <description>On active level defined by EExPOL bit</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Rising</name>
                  <description>Rising edge</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Falling</name>
                  <description>Falling edge</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Both</name>
                  <description>Both edges</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>5</dim>
              <dimIncrement>0x6</dimIncrement>
              <dimIndex>6-10</dimIndex>
              <name>EE%sPOL</name>
              <description>External Event %s Polarity</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>EE6POL</name>
                <enumeratedValue>
                  <name>ActiveHigh</name>
                  <description>External event is active high</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ActiveLow</name>
                  <description>External event is active low</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>5</dim>
              <dimIncrement>0x6</dimIncrement>
              <dimIndex>6-10</dimIndex>
              <name>EE%sSRC</name>
              <description>External Event %s Source</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>EE6SRC</name>
                <enumeratedValue>
                  <name>Src1</name>
                  <description>Source 1</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Src2</name>
                  <description>Source 2</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Src3</name>
                  <description>Source 3</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Src4</name>
                  <description>Source 4</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>EECR3</name>
          <displayName>EECR3</displayName>
          <description>Timer External Event Control Register
          3</description>
          <addressOffset>0x38</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>EE6F</name>
              <description>External event 6 filter</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues>
                <name>EE6F</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Filter disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div1_N2</name>
                  <description>f_SAMPLING=f_HRTIM, N=2</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div1_N4</name>
                  <description>f_SAMPLING=f_HRTIM, N=4</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div1_N8</name>
                  <description>f_SAMPLING=f_HRTIM, N=8</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div2_N6</name>
                  <description>f_SAMPLING=f_EEVS/2, N=6</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div2_N8</name>
                  <description>f_SAMPLING=f_EEVS/2, N=8</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div4_N6</name>
                  <description>f_SAMPLING=f_EEVS/4, N=6</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div4_N8</name>
                  <description>f_SAMPLING=f_EEVS/4, N=8</description>
                  <value>7</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div8_N6</name>
                  <description>f_SAMPLING=f_EEVS/8, N=6</description>
                  <value>8</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div8_N8</name>
                  <description>f_SAMPLING=f_EEVS/8, N=8</description>
                  <value>9</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div16_N5</name>
                  <description>f_SAMPLING=f_EEVS/16, N=5</description>
                  <value>10</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div16_N6</name>
                  <description>f_SAMPLING=f_EEVS/16, N=6</description>
                  <value>11</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div16_N8</name>
                  <description>f_SAMPLING=f_EEVS/16, N=8</description>
                  <value>12</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div32_N5</name>
                  <description>f_SAMPLING=f_EEVS/32, N=5</description>
                  <value>13</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div32_N6</name>
                  <description>f_SAMPLING=f_EEVS/32, N=6</description>
                  <value>14</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div32_N8</name>
                  <description>f_SAMPLING=f_EEVS/32, N=8</description>
                  <value>15</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EE7F</name>
              <description>External event 7 filter</description>
              <bitOffset>6</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues derivedFrom="EE6F"/>
            </field>
            <field>
              <name>EE8F</name>
              <description>External event 8 filter</description>
              <bitOffset>12</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues derivedFrom="EE6F"/>
            </field>
            <field>
              <name>EE9F</name>
              <description>External event 9 filter</description>
              <bitOffset>18</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues derivedFrom="EE6F"/>
            </field>
            <field>
              <name>EE10F</name>
              <description>External event 10 filter</description>
              <bitOffset>24</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues derivedFrom="EE6F"/>
            </field>
            <field>
              <name>EEVSD</name>
              <description>External event sampling clock division</description>
              <bitOffset>30</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>EEVSD</name>
                <enumeratedValue>
                  <name>Div1</name>
                  <description>f_EEVS=f_HRTIM</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div2</name>
                  <description>f_EEVS=f_HRTIM/2</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div4</name>
                  <description>f_EEVS=f_HRTIM/4</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div8</name>
                  <description>f_EEVS=f_HRTIM/8</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>ADC1R</name>
          <displayName>ADC1R</displayName>
          <description>ADC Trigger 1 Register</description>
          <addressOffset>0x3C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>MPER</name>
              <description>ADC trigger 1 on Master
              Period</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>MPER</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>No generation of ADC trigger on timer period event</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Generation of ADC trigger on timer period event</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EPER</name>
              <description>ADC trigger 1 on Timer E
              Period</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MPER"/>
            </field>
            <field>
              <name>AC2</name>
              <description>ADC trigger 1 on Timer A compare
              2</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>AC2</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>No generation of ADC trigger on timer compare event</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Generation of ADC trigger on timer compare event</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EC4</name>
              <description>ADC trigger 1 on Timer E compare
              4</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="AC2"/>
            </field>
            <field>
              <name>EC3</name>
              <description>ADC trigger 1 on Timer E compare
              3</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="AC2"/>
            </field>
            <field>
              <name>EC2</name>
              <description>ADC trigger 1 on Timer E compare
              2</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="AC2"/>
            </field>
            <field>
              <name>DPER</name>
              <description>ADC trigger 1 on Timer D
              Period</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MPER"/>
            </field>
            <field>
              <name>DC4</name>
              <description>ADC trigger 1 on Timer D compare
              4</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="AC2"/>
            </field>
            <field>
              <name>DC3</name>
              <description>ADC trigger 1 on Timer D compare
              3</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="AC2"/>
            </field>
            <field>
              <name>DC2</name>
              <description>ADC trigger 1 on Timer D compare
              2</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="AC2"/>
            </field>
            <field>
              <name>CPER</name>
              <description>ADC trigger 1 on Timer C
              Period</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MPER"/>
            </field>
            <field>
              <name>CC4</name>
              <description>ADC trigger 1 on Timer C compare
              4</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="AC2"/>
            </field>
            <field>
              <name>CC3</name>
              <description>ADC trigger 1 on Timer C compare
              3</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="AC2"/>
            </field>
            <field>
              <name>CC2</name>
              <description>ADC trigger 1 on Timer C compare
              2</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="AC2"/>
            </field>
            <field>
              <name>ARST</name>
              <description>ADC trigger 1 on Timer A
              Reset</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ARST</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>No generation of ADC trigger on timer reset and roll-over</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Generation of ADC trigger on timer reset and roll-over</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BRST</name>
              <description>ADC trigger 1 on Timer B
              Reset</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="ARST"/>
            </field>
            <field>
              <name>BPER</name>
              <description>ADC trigger 1 on Timer B
              Period</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MPER"/>
            </field>
            <field>
              <name>BC4</name>
              <description>ADC trigger 1 on Timer B compare
              4</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="AC2"/>
            </field>
            <field>
              <name>BC3</name>
              <description>ADC trigger 1 on Timer B compare
              3</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="AC2"/>
            </field>
            <field>
              <name>BC2</name>
              <description>ADC trigger 1 on Timer B compare
              2</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="AC2"/>
            </field>
            <field>
              <name>APER</name>
              <description>ADC trigger 1 on Timer A
              Period</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MPER"/>
            </field>
            <field>
              <name>AC4</name>
              <description>ADC trigger 1 on Timer A compare
              4</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="AC2"/>
            </field>
            <field>
              <name>AC3</name>
              <description>ADC trigger 1 on Timer A compare
              3</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="AC2"/>
            </field>
            <field>
              <dim>5</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-5</dimIndex>
              <name>EEV%s</name>
              <description>ADC trigger 1 on External Event
              %s</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>EEV1</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>No generation of ADC trigger on external event</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Generation of ADC trigger on external event</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>4</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-4</dimIndex>
              <name>MC%s</name>
              <description>ADC trigger 1 on Master Compare
              %s</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>MC1</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>No generation of ADC trigger on master compare event</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Generation of ADC trigger on master compare event</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>ADC2R</name>
          <displayName>ADC2R</displayName>
          <description>ADC Trigger 2 Register</description>
          <addressOffset>0x40</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CRST</name>
              <description>ADC trigger 2 on Timer C
              Reset</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CRST</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>No generation of ADC trigger on timer reset and roll-over</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Generation of ADC trigger on timer reset and roll-over</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ERST</name>
              <description>ADC trigger 2 on Timer E
              Reset</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CRST"/>
            </field>
            <field>
              <name>AC2</name>
              <description>ADC trigger 2 on Timer A compare
              2</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>AC2</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>No generation of ADC trigger on timer compare event</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Generation of ADC trigger on timer compare event</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EC4</name>
              <description>ADC trigger 2 on Timer E compare
              4</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="AC2"/>
            </field>
            <field>
              <name>EC3</name>
              <description>ADC trigger 2 on Timer E compare
              3</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="AC2"/>
            </field>
            <field>
              <name>EC2</name>
              <description>ADC trigger 2 on Timer E compare
              2</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="AC2"/>
            </field>
            <field>
              <name>DRST</name>
              <description>ADC trigger 2 on Timer D
              Reset</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CRST"/>
            </field>
            <field>
              <name>MPER</name>
              <description>ADC trigger 2 on Master
              Period</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>MPER</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>No generation of ADC trigger on timer period event</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Generation of ADC trigger on timer period event</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DPER</name>
              <description>ADC trigger 2 on Timer D
              Period</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MPER"/>
            </field>
            <field>
              <name>DC4</name>
              <description>ADC trigger 2 on Timer D compare
              4</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="AC2"/>
            </field>
            <field>
              <name>DC3</name>
              <description>ADC trigger 2 on Timer D compare
              3</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="AC2"/>
            </field>
            <field>
              <name>DC2</name>
              <description>ADC trigger 2 on Timer D compare
              2</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="AC2"/>
            </field>
            <field>
              <name>CPER</name>
              <description>ADC trigger 2 on Timer C
              Period</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MPER"/>
            </field>
            <field>
              <name>CC4</name>
              <description>ADC trigger 2 on Timer C compare
              4</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="AC2"/>
            </field>
            <field>
              <name>CC3</name>
              <description>ADC trigger 2 on Timer C compare
              3</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="AC2"/>
            </field>
            <field>
              <name>CC2</name>
              <description>ADC trigger 2 on Timer C compare
              2</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="AC2"/>
            </field>
            <field>
              <name>BPER</name>
              <description>ADC trigger 2 on Timer B
              Period</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MPER"/>
            </field>
            <field>
              <name>BC4</name>
              <description>ADC trigger 2 on Timer B compare
              4</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="AC2"/>
            </field>
            <field>
              <name>BC3</name>
              <description>ADC trigger 2 on Timer B compare
              3</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="AC2"/>
            </field>
            <field>
              <name>BC2</name>
              <description>ADC trigger 2 on Timer B compare
              2</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="AC2"/>
            </field>
            <field>
              <name>APER</name>
              <description>ADC trigger 2 on Timer A
              Period</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MPER"/>
            </field>
            <field>
              <name>AC4</name>
              <description>ADC trigger 2 on Timer A compare
              4</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="AC2"/>
            </field>
            <field>
              <name>AC3</name>
              <description>ADC trigger 2 on Timer A compare
              3</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="AC2"/>
            </field>
            <field>
              <dim>5</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>6-10</dimIndex>
              <name>EEV%s</name>
              <description>ADC trigger 2 on External Event
              %s</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>EEV6</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>No generation of ADC trigger on external event</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Generation of ADC trigger on external event</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>4</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-4</dimIndex>
              <name>MC%s</name>
              <description>ADC trigger 2 on Master Compare
              %s</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>MC1</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>No generation of ADC trigger on master compare event</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Generation of ADC trigger on master compare event</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register derivedFrom="ADC1R">
          <name>ADC3R</name>
          <displayName>ADC3R</displayName>
          <description>ADC Trigger 3 Register</description>
          <addressOffset>0x44</addressOffset>
        </register>
        <register derivedFrom="ADC2R">
          <name>ADC4R</name>
          <displayName>ADC4R</displayName>
          <description>ADC Trigger 4 Register</description>
          <addressOffset>0x48</addressOffset>
        </register>
        <register>
          <name>FLTINR1</name>
          <displayName>FLTINR1</displayName>
          <description>HRTIM Fault Input Register 1</description>
          <addressOffset>0x50</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>FLT1LCK</name>
              <description>FLT1LCK</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>FLT1LCKR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Unlocked</name>
                  <description>Fault bits are read/write</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Locked</name>
                  <description>Fault bits are read-only</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>FLT1LCKW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Lock</name>
                  <description>Lock corresponding fault bits</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FLT4LCK</name>
              <description>FLT4LCK</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="FLT1LCKR">
                <usage>read</usage>
              </enumeratedValues>
              <enumeratedValues derivedFrom="FLT1LCKW">
                <usage>write</usage>
              </enumeratedValues>
            </field>
            <field>
              <dim>4</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>1-4</dimIndex>
              <name>FLT%sF</name>
              <description>FLT%sF</description>
              <bitOffset>3</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues>
                <name>FLT1F</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>No filter, FLTx acts asynchronously</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div1_N2</name>
                  <description>f_SAMPLING=f_HRTIM, N=2</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div1_N4</name>
                  <description>f_SAMPLING=f_HRTIM, N=4</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div1_N8</name>
                  <description>f_SAMPLING=f_HRTIM, N=8</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div2_N6</name>
                  <description>f_SAMPLING=f_HRTIM/2, N=6</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div2_N8</name>
                  <description>f_SAMPLING=f_HRTIM/2, N=8</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div4_N6</name>
                  <description>f_SAMPLING=f_HRTIM/4, N=6</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div4_N8</name>
                  <description>f_SAMPLING=f_HRTIM/4, N=8</description>
                  <value>7</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div8_N6</name>
                  <description>f_SAMPLING=f_HRTIM/8, N=6</description>
                  <value>8</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div8_N8</name>
                  <description>f_SAMPLING=f_HRTIM/8, N=8</description>
                  <value>9</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div16_N5</name>
                  <description>f_SAMPLING=f_HRTIM/16, N=5</description>
                  <value>10</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div16_N6</name>
                  <description>f_SAMPLING=f_HRTIM/16, N=6</description>
                  <value>11</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div16_N8</name>
                  <description>f_SAMPLING=f_HRTIM/16, N=8</description>
                  <value>12</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div32_N5</name>
                  <description>f_SAMPLING=f_HRTIM/32, N=5</description>
                  <value>13</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div32_N6</name>
                  <description>f_SAMPLING=f_HRTIM/32, N=6</description>
                  <value>14</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div32_N8</name>
                  <description>f_SAMPLING=f_HRTIM/32, N=8</description>
                  <value>15</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>4</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>1-4</dimIndex>
              <name>FLT%sSRC</name>
              <description>Fault %s source</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>FLT1SRC</name>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Fault input is FLTx input pin</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Internal</name>
                  <description>Fault input is FLTn_Int signal</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>4</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>1-4</dimIndex>
              <name>FLT%sP</name>
              <description>FLT%sP</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>FLT1P</name>
                <enumeratedValue>
                  <name>ActiveLow</name>
                  <description>Fault input is active low</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ActiveHigh</name>
                  <description>Fault input is active high</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>4</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>1-4</dimIndex>
              <name>FLT%sE</name>
              <description>FLT%sE</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>FLT1E</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Fault input disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Fault input enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FLT3LCK</name>
              <description>FLT3LCK</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="FLT1LCKR">
                <usage>read</usage>
              </enumeratedValues>
              <enumeratedValues derivedFrom="FLT1LCKW">
                <usage>write</usage>
              </enumeratedValues>
            </field>
            <field>
              <name>FLT2LCK</name>
              <description>FLT2LCK</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="FLT1LCKR">
                <usage>read</usage>
              </enumeratedValues>
              <enumeratedValues derivedFrom="FLT1LCKW">
                <usage>write</usage>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>FLTINR2</name>
          <displayName>FLTINR2</displayName>
          <description>HRTIM Fault Input Register 2</description>
          <addressOffset>0x54</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>FLTSD</name>
              <description>FLTSD</description>
              <bitOffset>24</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>FLTSD</name>
                <enumeratedValue>
                  <name>Div1</name>
                  <description>f_FLTS=f_HRTIM</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div2</name>
                  <description>f_FLTS=f_HRTIM/2</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div4</name>
                  <description>f_FLTS=f_HRTIM/4</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div8</name>
                  <description>f_FLTS=f_HRTIM/8</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FLT5LCK</name>
              <description>FLT5LCK</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>FLT5LCKR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Unlocked</name>
                  <description>Fault bits are read/write</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Locked</name>
                  <description>Fault bits are read-only</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>FLT5LCKW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Lock</name>
                  <description>Lock corresponding fault bits</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>1</dim>
              <dimIncrement>0x0</dimIncrement>
              <dimIndex>5-5</dimIndex>
              <name>FLT%sF</name>
              <description>FLT%sF</description>
              <bitOffset>3</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues>
                <name>FLT5F</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>No filter, FLTx acts asynchronously</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div1_N2</name>
                  <description>f_SAMPLING=f_HRTIM, N=2</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div1_N4</name>
                  <description>f_SAMPLING=f_HRTIM, N=4</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div1_N8</name>
                  <description>f_SAMPLING=f_HRTIM, N=8</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div2_N6</name>
                  <description>f_SAMPLING=f_HRTIM/2, N=6</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div2_N8</name>
                  <description>f_SAMPLING=f_HRTIM/2, N=8</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div4_N6</name>
                  <description>f_SAMPLING=f_HRTIM/4, N=6</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div4_N8</name>
                  <description>f_SAMPLING=f_HRTIM/4, N=8</description>
                  <value>7</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div8_N6</name>
                  <description>f_SAMPLING=f_HRTIM/8, N=6</description>
                  <value>8</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div8_N8</name>
                  <description>f_SAMPLING=f_HRTIM/8, N=8</description>
                  <value>9</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div16_N5</name>
                  <description>f_SAMPLING=f_HRTIM/16, N=5</description>
                  <value>10</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div16_N6</name>
                  <description>f_SAMPLING=f_HRTIM/16, N=6</description>
                  <value>11</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div16_N8</name>
                  <description>f_SAMPLING=f_HRTIM/16, N=8</description>
                  <value>12</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div32_N5</name>
                  <description>f_SAMPLING=f_HRTIM/32, N=5</description>
                  <value>13</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div32_N6</name>
                  <description>f_SAMPLING=f_HRTIM/32, N=6</description>
                  <value>14</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div32_N8</name>
                  <description>f_SAMPLING=f_HRTIM/32, N=8</description>
                  <value>15</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>1</dim>
              <dimIncrement>0x0</dimIncrement>
              <dimIndex>5-5</dimIndex>
              <name>FLT%sSRC</name>
              <description>Fault %s source</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>FLT5SRC</name>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Fault input is FLTx input pin</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Internal</name>
                  <description>Fault input is FLTn_Int signal</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>1</dim>
              <dimIncrement>0x0</dimIncrement>
              <dimIndex>5-5</dimIndex>
              <name>FLT%sP</name>
              <description>FLT%sP</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>FLT5P</name>
                <enumeratedValue>
                  <name>ActiveLow</name>
                  <description>Fault input is active low</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ActiveHigh</name>
                  <description>Fault input is active high</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>1</dim>
              <dimIncrement>0x0</dimIncrement>
              <dimIndex>5-5</dimIndex>
              <name>FLT%sE</name>
              <description>FLT%sE</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>FLT5E</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Fault input disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Fault input enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>BDMUPR</name>
          <displayName>BDMUPDR</displayName>
          <description>BDMUPDR</description>
          <addressOffset>0x58</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>MCR</name>
              <description>MCR</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>MCR</name>
                <enumeratedValue>
                  <name>NotUpdated</name>
                  <description>Register not updated by burst DMA access</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Updated</name>
                  <description>Register updated by burst DMA access</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MCMP4</name>
              <description>MCMP4</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MCR"/>
            </field>
            <field>
              <name>MCMP3</name>
              <description>MCMP3</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MCR"/>
            </field>
            <field>
              <name>MCMP2</name>
              <description>MCMP2</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MCR"/>
            </field>
            <field>
              <name>MCMP1</name>
              <description>MCMP1</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MCR"/>
            </field>
            <field>
              <name>MREP</name>
              <description>MREP</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MCR"/>
            </field>
            <field>
              <name>MPER</name>
              <description>MPER</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MCR"/>
            </field>
            <field>
              <name>MCNT</name>
              <description>MCNT</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MCR"/>
            </field>
            <field>
              <name>MDIER</name>
              <description>MDIER</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MCR"/>
            </field>
            <field>
              <name>MICR</name>
              <description>MICR</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MCR"/>
            </field>
          </fields>
        </register>
        <register>
          <name>BDTAUPR</name>
          <displayName>BDTxUPR</displayName>
          <description>Burst DMA Timerx update
          Register</description>
          <addressOffset>0x5C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CR</name>
              <description>HRTIM_TIMxCR register update
              enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CR</name>
                <enumeratedValue>
                  <name>NotUpdated</name>
                  <description>Register not updated by burst DMA access</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Updated</name>
                  <description>Register updated by burst DMA access</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FLTR</name>
              <description>HRTIM_FLTxR register update
              enable</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CR"/>
            </field>
            <field>
              <name>OUTR</name>
              <description>HRTIM_OUTxR register update
              enable</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CR"/>
            </field>
            <field>
              <name>CHPR</name>
              <description>HRTIM_CHPxR register update
              enable</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CR"/>
            </field>
            <field>
              <name>RSTR</name>
              <description>HRTIM_RSTxR register update
              enable</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CR"/>
            </field>
            <field>
              <name>EEFR2</name>
              <description>HRTIM_EEFxR2 register update
              enable</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CR"/>
            </field>
            <field>
              <name>EEFR1</name>
              <description>HRTIM_EEFxR1 register update
              enable</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CR"/>
            </field>
            <field>
              <name>RST2R</name>
              <description>HRTIM_RST2xR register update
              enable</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CR"/>
            </field>
            <field>
              <name>SET2R</name>
              <description>HRTIM_SET2xR register update
              enable</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CR"/>
            </field>
            <field>
              <name>RST1R</name>
              <description>HRTIM_RST1xR register update
              enable</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CR"/>
            </field>
            <field>
              <name>SET1R</name>
              <description>HRTIM_SET1xR register update
              enable</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CR"/>
            </field>
            <field>
              <name>DTR</name>
              <description>HRTIM_DTxR register update
              enable</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CR"/>
            </field>
            <field>
              <name>CMP4</name>
              <description>HRTIM_CMP4xR register update
              enable</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CR"/>
            </field>
            <field>
              <name>CMP3</name>
              <description>HRTIM_CMP3xR register update
              enable</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CR"/>
            </field>
            <field>
              <name>CMP2</name>
              <description>HRTIM_CMP2xR register update
              enable</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CR"/>
            </field>
            <field>
              <name>CMP1</name>
              <description>HRTIM_CMP1xR register update
              enable</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CR"/>
            </field>
            <field>
              <name>REP</name>
              <description>HRTIM_REPxR register update
              enable</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CR"/>
            </field>
            <field>
              <name>PER</name>
              <description>HRTIM_PERxR register update
              enable</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CR"/>
            </field>
            <field>
              <name>CNT</name>
              <description>HRTIM_CNTxR register update
              enable</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CR"/>
            </field>
            <field>
              <name>DIER</name>
              <description>HRTIM_TIMxDIER register update
              enable</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CR"/>
            </field>
            <field>
              <name>ICR</name>
              <description>HRTIM_TIMxICR register update
              enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CR"/>
            </field>
          </fields>
        </register>
        <register>
          <name>BDMADR</name>
          <displayName>BDMADR</displayName>
          <description>Burst DMA Data Register</description>
          <addressOffset>0x70</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>BDMADR</name>
              <description>Burst DMA Data register</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4294967295</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register derivedFrom="BDTAUPR">
          <name>BDTBUPR</name>
          <addressOffset>0x60</addressOffset>
        </register>
        <register derivedFrom="BDTAUPR">
          <name>BDTCUPR</name>
          <addressOffset>0x64</addressOffset>
        </register>
        <register derivedFrom="BDTAUPR">
          <name>BDTDUPR</name>
          <addressOffset>0x68</addressOffset>
        </register>
        <register derivedFrom="BDTAUPR">
          <name>BDTEUPR</name>
          <addressOffset>0x6C</addressOffset>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>DFSDM</name>
      <description>Digital filter for sigma delta
      modulators</description>
      <groupName>DFSDM</groupName>
      <baseAddress>0x40017000</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>DFSDM1_FLT0</name>
        <description>DFSDM1 filter 0 interrupt</description>
        <value>110</value>
      </interrupt>
      <interrupt>
        <name>DFSDM1_FLT1</name>
        <description>DFSDM1 filter 1 interrupt</description>
        <value>111</value>
      </interrupt>
      <interrupt>
        <name>DFSDM1_FLT2</name>
        <description>DFSDM1 filter 2 interrupt</description>
        <value>112</value>
      </interrupt>
      <interrupt>
        <name>DFSDM1_FLT3</name>
        <description>DFSDM1 filter 3 interrupt</description>
        <value>113</value>
      </interrupt>
      <registers>
        <cluster>
          <dim>8</dim>
          <dimIncrement>0x20</dimIncrement>
          <dimIndex>0-7</dimIndex>
          <name>CH%s</name>
          <description>DFSDM Channel cluster: contains CH?CFGR1, CH?CFGR2, CH?AWSCDR, CH?WDATR and CH?DATINR registers</description>
          <addressOffset>0x0</addressOffset>
          <register>
            <name>CFGR1</name>
            <displayName>CH0CFGR1</displayName>
            <description>channel configuration y
          register</description>
            <addressOffset>0x0</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>DFSDMEN</name>
                <description>DFSDMEN</description>
                <bitOffset>31</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>DFSDMEN</name>
                  <enumeratedValue>
                    <name>Disabled</name>
                    <description>DFSDM interface disabled</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Enabled</name>
                    <description>DFSDM interface enabled</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>CKOUTSRC</name>
                <description>CKOUTSRC</description>
                <bitOffset>30</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>CKOUTSRC</name>
                  <enumeratedValue>
                    <name>SYSCLK</name>
                    <description>Source for output clock is from system clock</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>AUDCLK</name>
                    <description>Source for output clock is from audio clock</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>CKOUTDIV</name>
                <description>CKOUTDIV</description>
                <bitOffset>16</bitOffset>
                <bitWidth>8</bitWidth>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>255</maximum>
                  </range>
                </writeConstraint>
              </field>
              <field>
                <name>DATPACK</name>
                <description>DATPACK</description>
                <bitOffset>14</bitOffset>
                <bitWidth>2</bitWidth>
                <enumeratedValues>
                  <name>DATPACK</name>
                  <enumeratedValue>
                    <name>Standard</name>
                    <description>Standard: input data in DFSDM_CHyDATINR register are stored only in INDAT0[15:0]. To empty DFSDM_CHyDATINR register one sample must be read by the DFSDM filter from channel y</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Interleaved</name>
                    <description>: Interleaved: input data in DFSDM_CHyDATINR register are stored as two samples: –first sample in INDAT0[15:0] (assigned to channel y) –second sample INDAT1[15:0] (assigned to channel y)</description>
                    <value>1</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Dual</name>
                    <description>Dual: input data in DFSDM_CHyDATINR register are stored as two samples: –first sample INDAT0[15:0] (assigned to channel y) –second sample INDAT1[15:0] (assigned to channel y+1)</description>
                    <value>2</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>DATMPX</name>
                <description>DATMPX</description>
                <bitOffset>12</bitOffset>
                <bitWidth>2</bitWidth>
                <enumeratedValues>
                  <name>DATMPX</name>
                  <enumeratedValue>
                    <name>External</name>
                    <description>Data to channel y are taken from external serial inputs as 1-bit values. DFSDM_CHyDATINR register is write protected</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>ADC</name>
                    <description>Data to channel y are taken from internal analog to digital converter ADCy+1 output register update as 16-bit values (if ADCy+1 is available). Data from ADCs are written into INDAT0[15:0] part of DFSDM_CHyDATINR register</description>
                    <value>1</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Internal</name>
                    <description>Data to channel y are taken from internal DFSDM_CHyDATINR register by direct CPU/DMA write. There can be written one or two 16-bit data samples according DATPACK[1:0] bit field setting</description>
                    <value>2</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>CHINSEL</name>
                <description>CHINSEL</description>
                <bitOffset>8</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>CHINSEL</name>
                  <enumeratedValue>
                    <name>SameChannel</name>
                    <description>Channel inputs are taken from pins of the same channel y</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>FollowingChannel</name>
                    <description>Channel inputs are taken from pins of the following channel (channel (y+1) modulo 8)</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>CHEN</name>
                <description>CHEN</description>
                <bitOffset>7</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>CHEN</name>
                  <enumeratedValue>
                    <name>Disabled</name>
                    <description>Channel y disabled</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Enabled</name>
                    <description>Channel y enabled</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>CKABEN</name>
                <description>CKABEN</description>
                <bitOffset>6</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>CKABEN</name>
                  <enumeratedValue>
                    <name>Disabled</name>
                    <description>Clock absence detector disabled on channel y</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Enabled</name>
                    <description>Clock absence detector enabled on channel y</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>SCDEN</name>
                <description>SCDEN</description>
                <bitOffset>5</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>SCDEN</name>
                  <enumeratedValue>
                    <name>Disabled</name>
                    <description>Input channel y will not be guarded by the short-circuit detector</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Enabled</name>
                    <description>Input channel y will be continuously guarded by the short-circuit detector</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>SPICKSEL</name>
                <description>SPICKSEL</description>
                <bitOffset>2</bitOffset>
                <bitWidth>2</bitWidth>
                <enumeratedValues>
                  <name>SPICKSEL</name>
                  <enumeratedValue>
                    <name>CKIN</name>
                    <description>Clock coming from external CKINy input - sampling point according SITP[1:0]</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>CKOUT</name>
                    <description>Clock coming from internal CKOUT output - sampling point according SITP[1:0]</description>
                    <value>1</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>CKOUTSecondFalling</name>
                    <description>Clock coming from internal CKOUT - sampling point on each second CKOUT falling edge. For connection to external Σ∆ modulator which divides its clock input (from CKOUT) by 2 to generate its output serial communication clock (and this output clock change is active on each clock input rising edge)</description>
                    <value>2</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>CKOUTSecondRising</name>
                    <description>Clock coming from internal CKOUT output - sampling point on each second CKOUT rising edge. For connection to external Σ∆ modulator which divides its clock input (from CKOUT) by 2 to generate its output serial communication clock (and this output clock change is active on each clock input falling edge)</description>
                    <value>3</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>SITP</name>
                <description>SITP</description>
                <bitOffset>0</bitOffset>
                <bitWidth>2</bitWidth>
                <enumeratedValues>
                  <name>SITP</name>
                  <enumeratedValue>
                    <name>SPIRisingEdge</name>
                    <description>SPI with rising edge to strobe data</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>SPIFallingEdge</name>
                    <description>SPI with falling edge to strobe data</description>
                    <value>1</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Manchester</name>
                    <description>Manchester coded input on DATINy pin: rising edge = logic 0, falling edge = logic 1</description>
                    <value>2</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>ManchesterInverted</name>
                    <description>Manchester coded input on DATINy pin: rising edge = logic 1, falling edge = logic 0</description>
                    <value>3</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
            </fields>
          </register>
          <register>
            <name>CFGR2</name>
            <displayName>CH0CFGR2</displayName>
            <description>channel configuration y
          register</description>
            <addressOffset>0x4</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>OFFSET</name>
                <description>OFFSET</description>
                <bitOffset>8</bitOffset>
                <bitWidth>24</bitWidth>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>16777215</maximum>
                  </range>
                </writeConstraint>
              </field>
              <field>
                <name>DTRBS</name>
                <description>DTRBS</description>
                <bitOffset>3</bitOffset>
                <bitWidth>5</bitWidth>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>31</maximum>
                  </range>
                </writeConstraint>
              </field>
            </fields>
          </register>
          <register>
            <name>AWSCDR</name>
            <displayName>CH0AWSCDR</displayName>
            <description>analog watchdog and short-circuit detector
          register</description>
            <addressOffset>0x8</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>AWFORD</name>
                <description>AWFORD</description>
                <bitOffset>22</bitOffset>
                <bitWidth>2</bitWidth>
                <enumeratedValues>
                  <name>AWFORD</name>
                  <enumeratedValue>
                    <name>FastSinc</name>
                    <description>FastSinc filter type</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Sinc1</name>
                    <description>Sinc1 filter type</description>
                    <value>1</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Sinc2</name>
                    <description>Sinc2 filter type</description>
                    <value>2</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Sinc3</name>
                    <description>Sinc3 filter type</description>
                    <value>3</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>AWFOSR</name>
                <description>AWFOSR</description>
                <bitOffset>16</bitOffset>
                <bitWidth>5</bitWidth>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>31</maximum>
                  </range>
                </writeConstraint>
              </field>
              <field>
                <name>BKSCD</name>
                <description>BKSCD</description>
                <bitOffset>12</bitOffset>
                <bitWidth>4</bitWidth>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>15</maximum>
                  </range>
                </writeConstraint>
              </field>
              <field>
                <name>SCDT</name>
                <description>SCDT</description>
                <bitOffset>0</bitOffset>
                <bitWidth>8</bitWidth>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>255</maximum>
                  </range>
                </writeConstraint>
              </field>
            </fields>
          </register>
          <register>
            <name>WDATR</name>
            <displayName>CH0WDATR</displayName>
            <description>channel watchdog filter data
          register</description>
            <addressOffset>0xC</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>WDATA</name>
                <description>WDATA</description>
                <bitOffset>0</bitOffset>
                <bitWidth>16</bitWidth>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>65535</maximum>
                  </range>
                </writeConstraint>
              </field>
            </fields>
          </register>
          <register>
            <name>DATINR</name>
            <displayName>CH0DATINR</displayName>
            <description>channel data input register</description>
            <addressOffset>0x10</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>INDAT1</name>
                <description>INDAT1</description>
                <bitOffset>16</bitOffset>
                <bitWidth>16</bitWidth>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>65535</maximum>
                  </range>
                </writeConstraint>
              </field>
              <field>
                <name>INDAT0</name>
                <description>INDAT0</description>
                <bitOffset>0</bitOffset>
                <bitWidth>16</bitWidth>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>65535</maximum>
                  </range>
                </writeConstraint>
              </field>
            </fields>
          </register>
        </cluster>
        <cluster>
          <dim>4</dim>
          <dimIncrement>0x80</dimIncrement>
          <dimIndex>0-3</dimIndex>
          <name>FLT%s</name>
          <description>Cluster FLT%s, containing FLT?CR1, FLT?CR2, FLT?ISR, FLT?ICR, FLT?JCHGR, FLT?FCR, FLT?JDATAR, FLT?RDATAR, FLT?AWHTR, FLT?AWLTR, FLT?AWSR, FLT?AWCFR, FLT?EXMAX, FLT?EXMIN, FLT?CNVTIMR</description>
          <addressOffset>0x100</addressOffset>
          <register>
            <name>CR1</name>
            <displayName>FLT0CR1</displayName>
            <description>control register 1</description>
            <addressOffset>0x0</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>AWFSEL</name>
                <description>Analog watchdog fast mode
              select</description>
                <bitOffset>30</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>AWFSEL</name>
                  <enumeratedValue>
                    <name>Output</name>
                    <description>Analog watchdog on data output value (after the digital filter). The comparison is done after offset correction and shift</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Transceiver</name>
                    <description>Analog watchdog on channel transceivers value (after watchdog filter)</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>FAST</name>
                <description>Fast conversion mode selection for
              regular conversions</description>
                <bitOffset>29</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>FAST</name>
                  <enumeratedValue>
                    <name>Disabled</name>
                    <description>Fast conversion mode disabled</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Enabled</name>
                    <description>Fast conversion mode enabled</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>RCH</name>
                <description>Regular channel selection</description>
                <bitOffset>24</bitOffset>
                <bitWidth>3</bitWidth>
                <enumeratedValues>
                  <name>RCH</name>
                  <enumeratedValue>
                    <name>Channel0</name>
                    <description>Channel 0 is selected as regular channel</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Channel1</name>
                    <description>Channel 1 is selected as regular channel</description>
                    <value>1</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Channel2</name>
                    <description>Channel 2 is selected as regular channel</description>
                    <value>2</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Channel3</name>
                    <description>Channel 3 is selected as regular channel</description>
                    <value>3</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Channel4</name>
                    <description>Channel 4 is selected as regular channel</description>
                    <value>4</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Channel5</name>
                    <description>Channel 5 is selected as regular channel</description>
                    <value>5</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Channel6</name>
                    <description>Channel 6 is selected as regular channel</description>
                    <value>6</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Channel7</name>
                    <description>Channel 7 is selected as regular channel</description>
                    <value>7</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>RDMAEN</name>
                <description>DMA channel enabled to read data for the
              regular conversion</description>
                <bitOffset>21</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>RDMAEN</name>
                  <enumeratedValue>
                    <name>Disabled</name>
                    <description>The DMA channel is not enabled to read regular data</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Enabled</name>
                    <description>The DMA channel is enabled to read regular data</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>RSYNC</name>
                <description>Launch regular conversion synchronously
              with DFSDM0</description>
                <bitOffset>19</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>RSYNC</name>
                  <enumeratedValue>
                    <name>NoLaunch</name>
                    <description>Do not launch a regular conversion synchronously with DFSDM_FLT0</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Launch</name>
                    <description>Launch a regular conversion in this DFSDM_FLTx at the very moment when a regular conversion is launched in DFSDM_FLT0</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>RCONT</name>
                <description>Continuous mode selection for regular
              conversions</description>
                <bitOffset>18</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>RCONT</name>
                  <enumeratedValue>
                    <name>Once</name>
                    <description>The regular channel is converted just once for each conversion request</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Continuous</name>
                    <description>The regular channel is converted repeatedly after each conversion request</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>RSWSTART</name>
                <description>Software start of a conversion on the
              regular channel</description>
                <bitOffset>17</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>RSWSTARTW</name>
                  <usage>write</usage>
                  <enumeratedValue>
                    <name>Start</name>
                    <description>Writing ‘1’ makes a request to start a conversion on the regular channel and causes RCIP to become ‘1’. If RCIP=1 already, writing to RSWSTART has no effect. Writing ‘1’ has no effect if RSYNC=1</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>JEXTEN</name>
                <description>Trigger enable and trigger edge
              selection for injected conversions</description>
                <bitOffset>13</bitOffset>
                <bitWidth>2</bitWidth>
                <enumeratedValues>
                  <name>JEXTEN</name>
                  <enumeratedValue>
                    <name>Disabled</name>
                    <description>Trigger detection is disabled</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>RisingEdge</name>
                    <description>Each rising edge on the selected trigger makes a request to launch an injected conversion</description>
                    <value>1</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>FallingEdge</name>
                    <description>Each falling edge on the selected trigger makes a request to launch an injected conversion</description>
                    <value>2</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>BothEdges</name>
                    <description>Both rising edges and falling edges on the selected trigger make requests to launch injected conversions</description>
                    <value>3</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>JEXTSEL</name>
                <description>Trigger signal selection for launching
              injected conversions</description>
                <bitOffset>8</bitOffset>
                <bitWidth>5</bitWidth>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>31</maximum>
                  </range>
                </writeConstraint>
              </field>
              <field>
                <name>JDMAEN</name>
                <description>DMA channel enabled to read data for the
              injected channel group</description>
                <bitOffset>5</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>JDMAEN</name>
                  <enumeratedValue>
                    <name>Disabled</name>
                    <description>The DMA channel is not enabled to read injected data</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Enabled</name>
                    <description>The DMA channel is enabled to read injected data</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>JSCAN</name>
                <description>Scanning conversion mode for injected
              conversions</description>
                <bitOffset>4</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>JSCAN</name>
                  <enumeratedValue>
                    <name>Single</name>
                    <description>One channel conversion is performed from the injected channel group and next the selected channel from this group is selected</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Series</name>
                    <description>The series of conversions for the injected group channels is executed, starting over with the lowest selected channel</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>JSYNC</name>
                <description>Launch an injected conversion
              synchronously with the DFSDM0 JSWSTART
              trigger</description>
                <bitOffset>3</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>JSYNC</name>
                  <enumeratedValue>
                    <name>Disabled</name>
                    <description>Do not launch an injected conversion synchronously with DFSDM_FLT0</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Enabled</name>
                    <description>Launch an injected conversion in this DFSDM_FLTx at the very moment when an injected conversion is launched in DFSDM_FLT0 by its JSWSTART trigger</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>JSWSTART</name>
                <description>Start a conversion of the injected group
              of channels</description>
                <bitOffset>1</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>JSWSTARTW</name>
                  <usage>write</usage>
                  <enumeratedValue>
                    <name>Start</name>
                    <description>Writing ‘1’ makes a request to convert the channels in the injected conversion group, causing JCIP to become ‘1’ at the same time. If JCIP=1 already, then writing to JSWSTART has no effect. Writing ‘1’ has no effect if JSYNC=1</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>DFEN</name>
                <description>DFSDM enable</description>
                <bitOffset>0</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>DFEN</name>
                  <enumeratedValue>
                    <name>Disabled</name>
                    <description>DFSDM_FLTx is disabled. All conversions of given DFSDM_FLTx are stopped immediately and all DFSDM_FLTx functions are stopped</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Enabled</name>
                    <description>DFSDM_FLTx is enabled. If DFSDM_FLTx is enabled, then DFSDM_FLTx starts operating according to its setting</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
            </fields>
          </register>
          <register>
            <name>CR2</name>
            <displayName>FLT0CR2</displayName>
            <description>control register 2</description>
            <addressOffset>0x4</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>AWDCH</name>
                <description>Analog watchdog channel
              selection</description>
                <bitOffset>16</bitOffset>
                <bitWidth>8</bitWidth>
                <enumeratedValues>
                  <name>AWDCH</name>
                  <enumeratedValue>
                    <name>Disabled</name>
                    <description>Analog watchdog is disabled on channel y</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Enabled</name>
                    <description>Analog watchdog is enabled on channel y</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>EXCH</name>
                <description>Extremes detector channel
              selection</description>
                <bitOffset>8</bitOffset>
                <bitWidth>8</bitWidth>
                <enumeratedValues>
                  <name>EXCH</name>
                  <enumeratedValue>
                    <name>Disabled</name>
                    <description>Extremes detector does not accept data from channel y</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Enabled</name>
                    <description>Extremes detector accepts data from channel y</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>CKABIE</name>
                <description>Clock absence interrupt
              enable</description>
                <bitOffset>6</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>CKABIE</name>
                  <enumeratedValue>
                    <name>Disabled</name>
                    <description>Detection of channel input clock absence interrupt is disabled</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Enabled</name>
                    <description>Detection of channel input clock absence interrupt is enabled</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>SCDIE</name>
                <description>Short-circuit detector interrupt
              enable</description>
                <bitOffset>5</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>SCDIE</name>
                  <enumeratedValue>
                    <name>Disabled</name>
                    <description>Short-circuit detector interrupt is disabled</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Enabled</name>
                    <description>Short-circuit detector interrupt is enabled</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>AWDIE</name>
                <description>Analog watchdog interrupt
              enable</description>
                <bitOffset>4</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>AWDIE</name>
                  <enumeratedValue>
                    <name>Disabled</name>
                    <description>Analog watchdog interrupt is disabled</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Enabled</name>
                    <description>Analog watchdog interrupt is enabled</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>ROVRIE</name>
                <description>Regular data overrun interrupt
              enable</description>
                <bitOffset>3</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>ROVRIE</name>
                  <enumeratedValue>
                    <name>Disabled</name>
                    <description>Regular data overrun interrupt is disabled</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Enabled</name>
                    <description>Regular data overrun interrupt is enabled</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>JOVRIE</name>
                <description>Injected data overrun interrupt
              enable</description>
                <bitOffset>2</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>JOVRIE</name>
                  <enumeratedValue>
                    <name>Disabled</name>
                    <description>Injected data overrun interrupt is disabled</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Enabled</name>
                    <description>Injected data overrun interrupt is enabled</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>REOCIE</name>
                <description>Regular end of conversion interrupt
              enable</description>
                <bitOffset>1</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>REOCIE</name>
                  <enumeratedValue>
                    <name>Disabled</name>
                    <description>Regular end of conversion interrupt is disabled</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Enabled</name>
                    <description>Regular end of conversion interrupt is enabled</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>JEOCIE</name>
                <description>Injected end of conversion interrupt
              enable</description>
                <bitOffset>0</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>JEOCIE</name>
                  <enumeratedValue>
                    <name>Disabled</name>
                    <description>Injected end of conversion interrupt is disabled</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Enabled</name>
                    <description>Injected end of conversion interrupt is enabled</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
            </fields>
          </register>
          <register>
            <name>ISR</name>
            <displayName>FLT0ISR</displayName>
            <description>interrupt and status register</description>
            <addressOffset>0x8</addressOffset>
            <size>0x20</size>
            <access>read-only</access>
            <resetValue>0x00FF0000</resetValue>
            <fields>
              <field>
                <name>SCDF</name>
                <description>short-circuit detector
              flag</description>
                <bitOffset>24</bitOffset>
                <bitWidth>8</bitWidth>
                <enumeratedValues>
                  <name>SCDF</name>
                  <enumeratedValue>
                    <name>Clear</name>
                    <description>No short-circuit detector event occurred on channel y</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Set</name>
                    <description>The short-circuit detector counter reaches, on channel y, the value programmed in the DFSDM_CHyAWSCDR registers</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>CKABF</name>
                <description>Clock absence flag</description>
                <bitOffset>16</bitOffset>
                <bitWidth>8</bitWidth>
                <enumeratedValues>
                  <name>CKABF</name>
                  <enumeratedValue>
                    <name>Clear</name>
                    <description>Clock signal on channel y is present.</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Set</name>
                    <description>Clock signal on channel y is not present</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>RCIP</name>
                <description>Regular conversion in progress
              status</description>
                <bitOffset>14</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>RCIP</name>
                  <enumeratedValue>
                    <name>NotInProgress</name>
                    <description>No request to convert the regular channel has been issued</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>InProgress</name>
                    <description>The conversion of the regular channel is in progress or a request for a regular conversion is pending</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>JCIP</name>
                <description>Injected conversion in progress
              status</description>
                <bitOffset>13</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>JCIP</name>
                  <enumeratedValue>
                    <name>NotInProgress</name>
                    <description>No request to convert the injected channel group (neither by software nor by trigger) has been issued</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>InProgress</name>
                    <description>The conversion of the injected channel group is in progress or a request for a injected conversion is pending, due either to ‘1’ being written to JSWSTART or to a trigger detection</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>AWDF</name>
                <description>Analog watchdog</description>
                <bitOffset>4</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>AWDF</name>
                  <enumeratedValue>
                    <name>Clear</name>
                    <description>No Analog watchdog event occurred</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Set</name>
                    <description>The analog watchdog block detected voltage which crosses the value programmed in the DFSDM_FLTxAWLTR or DFSDM_FLTxAWHTR registers</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>ROVRF</name>
                <description>Regular conversion overrun
              flag</description>
                <bitOffset>3</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>ROVRF</name>
                  <enumeratedValue>
                    <name>Clear</name>
                    <description>No regular conversion overrun has occurred</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Set</name>
                    <description>A regular conversion overrun has occurred, which means that a regular conversion finished while REOCF was already ‘1’. RDATAR is not affected by overruns</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>JOVRF</name>
                <description>Injected conversion overrun
              flag</description>
                <bitOffset>2</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>JOVRF</name>
                  <enumeratedValue>
                    <name>Clear</name>
                    <description>No injected conversion overrun has occurred</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Set</name>
                    <description>An injected conversion overrun has occurred, which means that an injected conversion finished while JEOCF was already ‘1’. JDATAR is not affected by overruns</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>REOCF</name>
                <description>End of regular conversion
              flag</description>
                <bitOffset>1</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>REOCF</name>
                  <enumeratedValue>
                    <name>Clear</name>
                    <description>No regular conversion has completed</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Set</name>
                    <description>A regular conversion has completed and its data may be read</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>JEOCF</name>
                <description>End of injected conversion
              flag</description>
                <bitOffset>0</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>JEOCF</name>
                  <enumeratedValue>
                    <name>Clear</name>
                    <description>No injected conversion has completed</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Set</name>
                    <description>An injected conversion has completed and its data may be read</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
            </fields>
          </register>
          <register>
            <name>ICR</name>
            <displayName>FLT0ICR</displayName>
            <description>interrupt flag clear register</description>
            <addressOffset>0xC</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>CLRSCDF</name>
                <description>Clear the short-circuit detector
              flag</description>
                <bitOffset>24</bitOffset>
                <bitWidth>8</bitWidth>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>255</maximum>
                  </range>
                </writeConstraint>
              </field>
              <field>
                <name>CLRCKABF</name>
                <description>Clear the clock absence
              flag</description>
                <bitOffset>16</bitOffset>
                <bitWidth>8</bitWidth>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>255</maximum>
                  </range>
                </writeConstraint>
              </field>
              <field>
                <name>CLRROVRF</name>
                <description>Clear the regular conversion overrun
              flag</description>
                <bitOffset>3</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>CLRROVRFW</name>
                  <usage>write</usage>
                  <enumeratedValue>
                    <name>Clear</name>
                    <description>Writing ‘1’ clears the ROVRF bit in the DFSDM_FLTxISR register</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>CLRJOVRF</name>
                <description>Clear the injected conversion overrun
              flag</description>
                <bitOffset>2</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>CLRJOVRFW</name>
                  <usage>write</usage>
                  <enumeratedValue>
                    <name>Clear</name>
                    <description>Writing ‘1’ clears the JOVRF bit in the DFSDM_FLTxISR register</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
            </fields>
          </register>
          <register>
            <name>JCHGR</name>
            <displayName>FLT0JCHGR</displayName>
            <description>injected channel group selection
          register</description>
            <addressOffset>0x10</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000001</resetValue>
            <fields>
              <field>
                <name>JCHG</name>
                <description>Injected channel group
              selection</description>
                <bitOffset>0</bitOffset>
                <bitWidth>8</bitWidth>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>255</maximum>
                  </range>
                </writeConstraint>
              </field>
            </fields>
          </register>
          <register>
            <name>FCR</name>
            <displayName>FLT0FCR</displayName>
            <description>filter control register</description>
            <addressOffset>0x14</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>FORD</name>
                <description>Sinc filter order</description>
                <bitOffset>29</bitOffset>
                <bitWidth>3</bitWidth>
                <enumeratedValues>
                  <name>FORD</name>
                  <enumeratedValue>
                    <name>FastSinc</name>
                    <description>FastSinc filter type</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Sinc1</name>
                    <description>Sinc1 filter type</description>
                    <value>1</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Sinc2</name>
                    <description>Sinc2 filter type</description>
                    <value>2</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Sinc3</name>
                    <description>Sinc3 filter type</description>
                    <value>3</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Sinc4</name>
                    <description>Sinc4 filter type</description>
                    <value>4</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Sinc5</name>
                    <description>Sinc5 filter type</description>
                    <value>5</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>FOSR</name>
                <description>Sinc filter oversampling ratio
              (decimation rate)</description>
                <bitOffset>16</bitOffset>
                <bitWidth>10</bitWidth>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>1023</maximum>
                  </range>
                </writeConstraint>
              </field>
              <field>
                <name>IOSR</name>
                <description>Integrator oversampling ratio (averaging
              length)</description>
                <bitOffset>0</bitOffset>
                <bitWidth>8</bitWidth>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>255</maximum>
                  </range>
                </writeConstraint>
              </field>
            </fields>
          </register>
          <register>
            <name>JDATAR</name>
            <displayName>FLT0JDATAR</displayName>
            <description>data register for injected
          group</description>
            <addressOffset>0x18</addressOffset>
            <size>0x20</size>
            <access>read-only</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>JDATA</name>
                <description>Injected group conversion
              data</description>
                <bitOffset>8</bitOffset>
                <bitWidth>24</bitWidth>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>16777215</maximum>
                  </range>
                </writeConstraint>
              </field>
              <field>
                <name>JDATACH</name>
                <description>Injected channel most recently
              converted</description>
                <bitOffset>0</bitOffset>
                <bitWidth>3</bitWidth>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>7</maximum>
                  </range>
                </writeConstraint>
              </field>
            </fields>
          </register>
          <register>
            <name>RDATAR</name>
            <displayName>FLT0RDATAR</displayName>
            <description>data register for the regular
          channel</description>
            <addressOffset>0x1C</addressOffset>
            <size>0x20</size>
            <access>read-only</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>RDATA</name>
                <description>Regular channel conversion
              data</description>
                <bitOffset>8</bitOffset>
                <bitWidth>24</bitWidth>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>16777215</maximum>
                  </range>
                </writeConstraint>
              </field>
              <field>
                <name>RPEND</name>
                <description>Regular channel pending
              data</description>
                <bitOffset>4</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>RDATACH</name>
                <description>Regular channel most recently
              converted</description>
                <bitOffset>0</bitOffset>
                <bitWidth>3</bitWidth>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>7</maximum>
                  </range>
                </writeConstraint>
              </field>
            </fields>
          </register>
          <register>
            <name>AWHTR</name>
            <displayName>FLT0AWHTR</displayName>
            <description>analog watchdog high threshold
          register</description>
            <addressOffset>0x20</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>AWHT</name>
                <description>Analog watchdog high
              threshold</description>
                <bitOffset>8</bitOffset>
                <bitWidth>24</bitWidth>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>16777215</maximum>
                  </range>
                </writeConstraint>
              </field>
              <field>
                <dim>4</dim>
                <dimIncrement>0x1</dimIncrement>
                <dimIndex>0-3</dimIndex>
                <name>BKAWH%s</name>
                <description>Break signal assignment to analog
              watchdog high threshold event</description>
                <bitOffset>0</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>BKAWH0</name>
                  <enumeratedValue>
                    <name>NotAssigned</name>
                    <description>Break i signal is not assigned to an analog watchdog high threshold event</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Assigned</name>
                    <description>Break i signal is assigned to an analog watchdog high threshold event</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
            </fields>
          </register>
          <register>
            <name>AWLTR</name>
            <displayName>FLT0AWLTR</displayName>
            <description>analog watchdog low threshold
          register</description>
            <addressOffset>0x24</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>AWLT</name>
                <description>Analog watchdog low
              threshold</description>
                <bitOffset>8</bitOffset>
                <bitWidth>24</bitWidth>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>16777215</maximum>
                  </range>
                </writeConstraint>
              </field>
              <field>
                <dim>4</dim>
                <dimIncrement>0x1</dimIncrement>
                <dimIndex>0-3</dimIndex>
                <name>BKAWL%s</name>
                <description>Break signal assignment to analog
              watchdog low threshold event</description>
                <bitOffset>0</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>BKAWL0</name>
                  <enumeratedValue>
                    <name>NotAssigned</name>
                    <description>Break i signal is not assigned to an analog watchdog low threshold event</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Assigned</name>
                    <description>Break i signal is assigned to an analog watchdog low threshold event</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
            </fields>
          </register>
          <register>
            <name>AWSR</name>
            <displayName>FLT0AWSR</displayName>
            <description>analog watchdog status
          register</description>
            <addressOffset>0x28</addressOffset>
            <size>0x20</size>
            <access>read-only</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <dim>8</dim>
                <dimIncrement>0x1</dimIncrement>
                <dimIndex>0-7</dimIndex>
                <name>AWHTF%s</name>
                <description>Analog watchdog high threshold
              flag</description>
                <bitOffset>8</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>AWHTF0</name>
                  <enumeratedValue>
                    <name>NoError</name>
                    <description>No high threshold error</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Error</name>
                    <description>A high threshold error on channel y</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <dim>8</dim>
                <dimIncrement>0x1</dimIncrement>
                <dimIndex>0-7</dimIndex>
                <name>AWLTF%s</name>
                <description>Analog watchdog low threshold
              flag</description>
                <bitOffset>0</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>AWLTF0</name>
                  <enumeratedValue>
                    <name>NoError</name>
                    <description>No low threshold error</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Error</name>
                    <description>A low threshold error on channel y</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
            </fields>
          </register>
          <register>
            <name>AWCFR</name>
            <displayName>FLT0AWCFR</displayName>
            <description>analog watchdog clear flag
          register</description>
            <addressOffset>0x2C</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <dim>8</dim>
                <dimIncrement>0x1</dimIncrement>
                <dimIndex>0-7</dimIndex>
                <name>CLRAWHTF%s</name>
                <description>Clear the analog watchdog high threshold
              flag</description>
                <bitOffset>8</bitOffset>
                <bitWidth>1</bitWidth>
                <modifiedWriteValues>oneToClear</modifiedWriteValues>
                <enumeratedValues>
                  <name>CLRAWHTF0W</name>
                  <usage>write</usage>
                  <enumeratedValue>
                    <name>Clear</name>
                    <description>Clear the corresponding AWHTF[y] bit</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <dim>8</dim>
                <dimIncrement>0x1</dimIncrement>
                <dimIndex>0-7</dimIndex>
                <name>CLRAWLTF%s</name>
                <description>Clear the analog watchdog low threshold
              flag</description>
                <bitOffset>0</bitOffset>
                <bitWidth>1</bitWidth>
                <modifiedWriteValues>oneToClear</modifiedWriteValues>
                <enumeratedValues>
                  <name>CLRAWLTF0W</name>
                  <usage>write</usage>
                  <enumeratedValue>
                    <name>Clear</name>
                    <description>Clear the corresponding AWLTF[y] bit</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
            </fields>
          </register>
          <register>
            <name>EXMAX</name>
            <displayName>FLT0EXMAX</displayName>
            <description>Extremes detector maximum
          register</description>
            <addressOffset>0x30</addressOffset>
            <size>0x20</size>
            <access>read-only</access>
            <resetValue>0x80000000</resetValue>
            <fields>
              <field>
                <name>EXMAX</name>
                <description>Extremes detector maximum
              value</description>
                <bitOffset>8</bitOffset>
                <bitWidth>24</bitWidth>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>16777215</maximum>
                  </range>
                </writeConstraint>
              </field>
              <field>
                <name>EXMAXCH</name>
                <description>Extremes detector maximum data
              channel</description>
                <bitOffset>0</bitOffset>
                <bitWidth>3</bitWidth>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>7</maximum>
                  </range>
                </writeConstraint>
              </field>
            </fields>
          </register>
          <register>
            <name>EXMIN</name>
            <displayName>FLT0EXMIN</displayName>
            <description>Extremes detector minimum
          register</description>
            <addressOffset>0x34</addressOffset>
            <size>0x20</size>
            <access>read-only</access>
            <resetValue>0x7FFFFF00</resetValue>
            <fields>
              <field>
                <name>EXMIN</name>
                <description>EXMIN</description>
                <bitOffset>8</bitOffset>
                <bitWidth>24</bitWidth>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>16777215</maximum>
                  </range>
                </writeConstraint>
              </field>
              <field>
                <name>EXMINCH</name>
                <description>Extremes detector minimum data
              channel</description>
                <bitOffset>0</bitOffset>
                <bitWidth>3</bitWidth>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>7</maximum>
                  </range>
                </writeConstraint>
              </field>
            </fields>
          </register>
          <register>
            <name>CNVTIMR</name>
            <displayName>FLT0CNVTIMR</displayName>
            <description>conversion timer register</description>
            <addressOffset>0x38</addressOffset>
            <size>0x20</size>
            <access>read-only</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>CNVCNT</name>
                <description>28-bit timer counting conversion time t
              = CNVCNT[27:0] / fDFSDM_CKIN</description>
                <bitOffset>4</bitOffset>
                <bitWidth>28</bitWidth>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>268435455</maximum>
                  </range>
                </writeConstraint>
              </field>
            </fields>
          </register>
        </cluster>
      </registers>
    </peripheral>
    <peripheral>
      <name>TIM16</name>
      <description>General-purpose-timers</description>
      <groupName>TIM</groupName>
      <baseAddress>0x40014400</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>TIM16</name>
        <description>TIM16 global interrupt</description>
        <value>117</value>
      </interrupt>
      <registers>
        <register>
          <name>CR1</name>
          <displayName>CR1</displayName>
          <description>control register 1</description>
          <addressOffset>0x0</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CEN</name>
              <description>Counter enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Counter disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Counter enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>UDIS</name>
              <description>Update disable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>UDIS</name>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Update event enabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Update event disabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>URS</name>
              <description>Update request source</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>URS</name>
                <enumeratedValue>
                  <name>AnyEvent</name>
                  <description>Any of counter overflow/underflow, setting UG, or update through slave mode, generates an update interrupt or DMA request</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CounterOnly</name>
                  <description>Only counter overflow/underflow generates an update interrupt or DMA request</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OPM</name>
              <description>One-pulse mode</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>OPM</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Counter is not stopped at update event</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Counter stops counting at the next update event (clearing the CEN bit)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ARPE</name>
              <description>Auto-reload preload enable</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ARPE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>TIMx_APRR register is not buffered</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>TIMx_APRR register is buffered</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CKD</name>
              <description>Clock division</description>
              <bitOffset>8</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>CKD</name>
                <enumeratedValue>
                  <name>Div1</name>
                  <description>t_DTS = t_CK_INT</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div2</name>
                  <description>t_DTS = 2 × t_CK_INT</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div4</name>
                  <description>t_DTS = 4 × t_CK_INT</description>
                  <value>2</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>UIFREMAP</name>
              <description>UIF status bit remapping</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CR2</name>
          <displayName>CR2</displayName>
          <description>control register 2</description>
          <addressOffset>0x4</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>1</dim>
              <dimIncrement>0x0</dimIncrement>
              <dimIndex>1-1</dimIndex>
              <name>OIS%sN</name>
              <description>Output Idle state (OC%sN output)</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>OIS1N</name>
                <enumeratedValue>
                  <name>Reset</name>
                  <description>OCxN=0 after a dead-time when MOE=0</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Set</name>
                  <description>OCxN=1 after a dead-time when MOE=0</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>1</dim>
              <dimIncrement>0x0</dimIncrement>
              <dimIndex>1-1</dimIndex>
              <name>OIS%s</name>
              <description>Output Idle state (OC%s output)</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>OIS1</name>
                <enumeratedValue>
                  <name>Reset</name>
                  <description>OCx=0 (after a dead-time if OCx(N) is implemented) when MOE=0</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Set</name>
                  <description>OCx=1 (after a dead-time if OCx(N) is implemented) when MOE=0</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CCDS</name>
              <description>Capture/compare DMA
              selection</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CCDS</name>
                <enumeratedValue>
                  <name>OnCompare</name>
                  <description>CCx DMA request sent when CCx event occurs</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OnUpdate</name>
                  <description>CCx DMA request sent when update event occurs</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CCUS</name>
              <description>Capture/compare control update
              selection</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CCUS</name>
                <enumeratedValue>
                  <name>Sw</name>
                  <description>When capture/compare control bits are preloaded (CCPC=1), they are updated by setting the COMG bit only</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SwOrEdge</name>
                  <description>When capture/compare control bits are preloaded (CCPC=1), they are updated by setting the COMG bit or when an rising edge occurs on TRGI</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CCPC</name>
              <description>Capture/compare preloaded
              control</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CCPC</name>
                <enumeratedValue>
                  <name>NotPreloaded</name>
                  <description>CCxE, CCxNE and OCxM bits are not preloaded</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Preloaded</name>
                  <description>CCxE, CCxNE and OCxM bits are preloaded</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>DIER</name>
          <displayName>DIER</displayName>
          <description>DMA/Interrupt enable register</description>
          <addressOffset>0xC</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>UIE</name>
              <description>Update interrupt enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>UIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Update interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Update interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>1</dim>
              <dimIncrement>0x0</dimIncrement>
              <dimIndex>1-1</dimIndex>
              <name>CC%sIE</name>
              <description>Capture/Compare %s interrupt enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CC1IE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>CCx interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>CCx interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>COMIE</name>
              <description>COM interrupt enable</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>COMIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>COM interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>COM interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BIE</name>
              <description>Break interrupt enable</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>BIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Break interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Break interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>UDE</name>
              <description>Update DMA request enable</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>UDE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Update DMA request disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Update DMA request enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>1</dim>
              <dimIncrement>0x0</dimIncrement>
              <dimIndex>1-1</dimIndex>
              <name>CC%sDE</name>
              <description>Capture/Compare %s DMA request enable</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CC1DE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>CCx DMA request disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>CCx DMA request enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>COMDE</name>
              <description>COM DMA request enable</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>SR</name>
          <displayName>SR</displayName>
          <description>status register</description>
          <addressOffset>0x10</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>1</dim>
              <dimIncrement>0x0</dimIncrement>
              <dimIndex>1-1</dimIndex>
              <name>CC%sOF</name>
              <description>Capture/Compare %s overcapture flag</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>zeroToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>CC1OFR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoOvercapture</name>
                  <description>No overcapture has been detected</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Overcapture</name>
                  <description>The counter value has been captured in TIMx_CCRx register while CCxIF flag was already set</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>CC1OFW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear flag</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BIF</name>
              <description>Break interrupt flag</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>zeroToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>BIFR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoTrigger</name>
                  <description>No break event occurred</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Trigger</name>
                  <description>An active level has been detected on the break input. An interrupt is generated if BIE=1 in the TIMx_DIER register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>BIFW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear flag</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>COMIF</name>
              <description>COM interrupt flag</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>zeroToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>COMIFR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoCOM</name>
                  <description>No COM event occurred</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>COM</name>
                  <description>COM interrupt pending</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>COMIFW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear flag</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>1</dim>
              <dimIncrement>0x0</dimIncrement>
              <dimIndex>1-1</dimIndex>
              <name>CC%sIF</name>
              <description>Capture/compare %s interrupt flag</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>zeroToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>CC1IFR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoMatch</name>
                  <description>No campture/compare has been detected</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Match</name>
                  <description>If CC1 is an output: The content of the counter TIMx_CNT matches the content of the TIMx_CCR1 register. If CC1 is an input: The counter value has been captured in TIMx_CCR1 register.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>CC1IFW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear flag</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>UIF</name>
              <description>Update interrupt flag</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>zeroToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>UIFR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoUpdateOccurred</name>
                  <description>No update occurred</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>UpdatePending</name>
                  <description>Update interrupt pending</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>UIFW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear flag</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>EGR</name>
          <displayName>EGR</displayName>
          <description>event generation register</description>
          <addressOffset>0x14</addressOffset>
          <size>0x10</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>BG</name>
              <description>Break generation</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>BGW</name>
                <enumeratedValue>
                  <name>Trigger</name>
                  <description>A break event is generated. MOE bit is cleared and BIF flag is set. Related interrupt or DMA transfer can occur if enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>COMG</name>
              <description>Capture/Compare control update
              generation</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>COMGW</name>
                <enumeratedValue>
                  <name>Trigger</name>
                  <description>When CCPC bit is set, it allows CCxE, CCxNE and OCxM bits to be updated</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>1</dim>
              <dimIncrement>0x0</dimIncrement>
              <dimIndex>1-1</dimIndex>
              <name>CC%sG</name>
              <description>Capture/compare %s generation</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CC1GW</name>
                <enumeratedValue>
                  <name>Trigger</name>
                  <description>If CC1 is an output: CC1IF flag is set, Corresponding interrupt or DMA request is sent if enabled. If CC1 is an input: The current value of the counter is captured in TIMx_CCR1 register.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>UG</name>
              <description>Update generation</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>UG</name>
                <enumeratedValue>
                  <name>Update</name>
                  <description>Re-initializes the timer counter and generates an update of the registers.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CCMR1_Output</name>
          <displayName>CCMR1_Output</displayName>
          <description>capture/compare mode register (output
          mode)</description>
          <addressOffset>0x18</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>1</dim>
              <dimIncrement>0x0</dimIncrement>
              <dimIndex>1-1</dimIndex>
              <name>CC%sS</name>
              <description>Capture/Compare %s selection</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>CC1S</name>
                <enumeratedValue>
                  <name>Output</name>
                  <description>CCx channel is configured as output</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>1</dim>
              <dimIncrement>0x0</dimIncrement>
              <dimIndex>1-1</dimIndex>
              <name>OC%sFE</name>
              <description>Output compare %s fast enable</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>OC1FE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Fast output disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Fast output enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>1</dim>
              <dimIncrement>0x0</dimIncrement>
              <dimIndex>1-1</dimIndex>
              <name>OC%sPE</name>
              <description>Output compare %s preload enable</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>OC1PE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Preload register on CCRx disabled. New values written to CCRx are taken into account immediately</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Preload register on CCRx enabled. Preload value is loaded into active register on each update event</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>1</dim>
              <dimIncrement>0x0</dimIncrement>
              <dimIndex>1-1</dimIndex>
              <name>OC%sM</name>
              <description>Output compare %s mode</description>
              <bitOffset>4</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>OC1M</name>
                <enumeratedValue>
                  <name>Frozen</name>
                  <description>The comparison between the output compare register TIMx_CCRy and the counter TIMx_CNT has no effect on the outputs</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ActiveOnMatch</name>
                  <description>Set channel to active level on match. OCyREF signal is forced high when the counter matches the capture/compare register</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>InactiveOnMatch</name>
                  <description>Set channel to inactive level on match. OCyREF signal is forced low when the counter matches the capture/compare register</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Toggle</name>
                  <description>OCyREF toggles when TIMx_CNT=TIMx_CCRy</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ForceInactive</name>
                  <description>OCyREF is forced low</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ForceActive</name>
                  <description>OCyREF is forced high</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PwmMode1</name>
                  <description>In upcounting, channel is active as long as TIMx_CNT&lt;TIMx_CCRy else inactive. In downcounting, channel is inactive as long as TIMx_CNT&gt;TIMx_CCRy else active</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PwmMode2</name>
                  <description>Inversely to PwmMode1</description>
                  <value>7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>1</dim>
              <dimIncrement>0x0</dimIncrement>
              <dimIndex>1-1</dimIndex>
              <name>OC%sM_3</name>
              <description>Output compare %s mode, bit 3</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CCMR1_Input</name>
          <displayName>CCMR1_Input</displayName>
          <description>capture/compare mode register 1 (input
          mode)</description>
          <alternateRegister>CCMR1_Output</alternateRegister>
          <addressOffset>0x18</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>1</dim>
              <dimIncrement>0x0</dimIncrement>
              <dimIndex>1-1</dimIndex>
              <name>IC%sF</name>
              <description>Input capture %s filter</description>
              <bitOffset>4</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues>
                <name>ICFilter</name>
                <enumeratedValue>
                  <name>NoFilter</name>
                  <description>No filter, sampling is done at fDTS</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FCK_INT_N2</name>
                  <description>fSAMPLING=fCK_INT, N=2</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FCK_INT_N4</name>
                  <description>fSAMPLING=fCK_INT, N=4</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FCK_INT_N8</name>
                  <description>fSAMPLING=fCK_INT, N=8</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div2_N6</name>
                  <description>fSAMPLING=fDTS/2, N=6</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div2_N8</name>
                  <description>fSAMPLING=fDTS/2, N=8</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div4_N6</name>
                  <description>fSAMPLING=fDTS/4, N=6</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div4_N8</name>
                  <description>fSAMPLING=fDTS/4, N=8</description>
                  <value>7</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div8_N6</name>
                  <description>fSAMPLING=fDTS/8, N=6</description>
                  <value>8</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div8_N8</name>
                  <description>fSAMPLING=fDTS/8, N=8</description>
                  <value>9</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div16_N5</name>
                  <description>fSAMPLING=fDTS/16, N=5</description>
                  <value>10</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div16_N6</name>
                  <description>fSAMPLING=fDTS/16, N=6</description>
                  <value>11</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div16_N8</name>
                  <description>fSAMPLING=fDTS/16, N=8</description>
                  <value>12</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div32_N5</name>
                  <description>fSAMPLING=fDTS/32, N=5</description>
                  <value>13</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div32_N6</name>
                  <description>fSAMPLING=fDTS/32, N=6</description>
                  <value>14</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div32_N8</name>
                  <description>fSAMPLING=fDTS/32, N=8</description>
                  <value>15</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>1</dim>
              <dimIncrement>0x0</dimIncrement>
              <dimIndex>1-1</dimIndex>
              <name>IC%sPSC</name>
              <description>Input capture %s prescaler</description>
              <bitOffset>2</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>ICPrescaler</name>
                <enumeratedValue>
                  <name>NoPrescaler</name>
                  <description>No prescaler, capture is done each time an edge is detected on the capture input</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TwoEvents</name>
                  <description>Capture is done once every 2 events</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FourEvents</name>
                  <description>Capture is done once every 4 events</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>EightEvents</name>
                  <description>Capture is done once every 8 events</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CC1S</name>
              <description>Capture/Compare 1
              selection</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>CC1S</name>
                <enumeratedValue>
                  <name>TI1</name>
                  <description>CC1 channel is configured as input, IC1 is mapped on TI1</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CCER</name>
          <displayName>CCER</displayName>
          <description>capture/compare enable
          register</description>
          <addressOffset>0x20</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>1</dim>
              <dimIncrement>0x0</dimIncrement>
              <dimIndex>1-1</dimIndex>
              <name>CC%sNP</name>
              <description>Capture/Compare %s output Polarity</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CC1NP</name>
                <enumeratedValue>
                  <name>ActiveHigh</name>
                  <description>OCxN active high</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ActiveLow</name>
                  <description>OCxN active low</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>1</dim>
              <dimIncrement>0x0</dimIncrement>
              <dimIndex>1-1</dimIndex>
              <name>CC%sNE</name>
              <description>Capture/Compare %s complementary output enable</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CC1NE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Complementary output disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Complementary output enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>1</dim>
              <dimIncrement>0x0</dimIncrement>
              <dimIndex>1-1</dimIndex>
              <name>CC%sP</name>
              <description>Capture/Compare %s output Polarity</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CC1P</name>
                <enumeratedValue>
                  <name>RisingEdge</name>
                  <description>Noninverted/rising edge</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FallingEdge</name>
                  <description>Inverted/falling edge</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>1</dim>
              <dimIncrement>0x0</dimIncrement>
              <dimIndex>1-1</dimIndex>
              <name>CC%sE</name>
              <description>Capture/Compare %s output enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CC1E</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Capture disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Capture enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CNT</name>
          <displayName>CNT</displayName>
          <description>counter</description>
          <addressOffset>0x24</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CNT</name>
              <description>counter value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-write</access>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>UIFCPY</name>
              <description>UIF Copy</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>CNT16</name>
          <displayName>CNT16</displayName>
          <description>16-bit counter register</description>
          <alternateRegister>CNT</alternateRegister>
          <addressOffset>0x24</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CNT</name>
              <description>counter value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-write</access>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>PSC</name>
          <displayName>PSC</displayName>
          <description>prescaler</description>
          <addressOffset>0x28</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>PSC</name>
              <description>Prescaler value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>ARR</name>
          <displayName>ARR</displayName>
          <description>auto-reload register</description>
          <addressOffset>0x2C</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x0000FFFF</resetValue>
          <fields>
            <field>
              <name>ARR</name>
              <description>Auto-reload value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>RCR</name>
          <displayName>RCR</displayName>
          <description>repetition counter register</description>
          <addressOffset>0x30</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>REP</name>
              <description>Repetition counter value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <dim>1</dim>
          <dimIncrement>0x2</dimIncrement>
          <dimIndex>1-1</dimIndex>
          <name>CCR%s</name>
          <displayName>CCR%s</displayName>
          <description>capture/compare register</description>
          <addressOffset>0x34</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CCR</name>
              <description>Capture/Compare value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>BDTR</name>
          <displayName>BDTR</displayName>
          <description>break and dead-time register</description>
          <addressOffset>0x44</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DTG</name>
              <description>Dead-time generator setup</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>LOCK</name>
              <description>Lock configuration</description>
              <bitOffset>8</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>LOCK</name>
                <enumeratedValue>
                  <name>Off</name>
                  <description>No bit is write protected</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Level1</name>
                  <description>Any bits except MOE, OSSR, OSSI and LOCK in TIMx_BDTR register, OISx and OISxN bits in TIMx_CR2 register can no longer be written</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Level2</name>
                  <description>LOCK Level 1 + CC Polarity bits (CCxP/CCxNP bits in TIMx_CCER register, as long as the related channel is configured in output through the CCxS bits) as well as OSSR and OSSI bits can no longer be written</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Level3</name>
                  <description>LOCK Level 2 + CC Control bits (OCxM and OCxPE bits in TIMx_CCMRx registers, as long as the related channel is configured in output through the CCxS bits) can no longer be written</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OSSI</name>
              <description>Off-state selection for Idle
              mode</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>OSSI</name>
                <enumeratedValue>
                  <name>HiZ</name>
                  <description>When inactive, OC/OCN outputs are disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>IdleLevel</name>
                  <description>When inactive, OC/OCN outputs are forced to idle level</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OSSR</name>
              <description>Off-state selection for Run
              mode</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>OSSR</name>
                <enumeratedValue>
                  <name>HiZ</name>
                  <description>When inactive, OC/OCN outputs are disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>IdleLevel</name>
                  <description>When inactive, OC/OCN outputs are enabled with their inactive level</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BKE</name>
              <description>Break enable</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>BKE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Break function x disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Break function x enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BKP</name>
              <description>Break polarity</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>BKP</name>
                <enumeratedValue>
                  <name>ActiveLow</name>
                  <description>Break input BRKx is active low</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ActiveHigh</name>
                  <description>Break input BRKx is active high</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>AOE</name>
              <description>Automatic output enable</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>AOE</name>
                <enumeratedValue>
                  <name>Manual</name>
                  <description>MOE can be set only by software</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Automatic</name>
                  <description>MOE can be set by software or automatically at the next update event (if none of the break inputs BRK and BRK2 is active)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MOE</name>
              <description>Main output enable</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>MOE</name>
                <enumeratedValue>
                  <name>DisabledIdle</name>
                  <description>OC/OCN are disabled or forced idle depending on OSSI</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>OC/OCN are enabled if CCxE/CCxNE are set</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BKF</name>
              <description>Break filter</description>
              <bitOffset>16</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DCR</name>
          <displayName>DCR</displayName>
          <description>DMA control register</description>
          <addressOffset>0x48</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DBL</name>
              <description>DMA burst length</description>
              <bitOffset>8</bitOffset>
              <bitWidth>5</bitWidth>
            </field>
            <field>
              <name>DBA</name>
              <description>DMA base address</description>
              <bitOffset>0</bitOffset>
              <bitWidth>5</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DMAR</name>
          <displayName>DMAR</displayName>
          <description>DMA address for full transfer</description>
          <addressOffset>0x4C</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DMAB</name>
              <description>DMA register for burst
              accesses</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>TIM16_AF1</name>
          <displayName>TIM16_AF1</displayName>
          <description>TIM16 alternate function register
          1</description>
          <addressOffset>0x60</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>BKINE</name>
              <description>BRK BKIN input enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>BKCMP1E</name>
              <description>BRK COMP1 enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>BKCMP2E</name>
              <description>BRK COMP2 enable</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>BKDFBK1E</name>
              <description>BRK dfsdm1_break[1] enable</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>BKINP</name>
              <description>BRK BKIN input polarity</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>BKCMP1P</name>
              <description>BRK COMP1 input polarity</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>BKCMP2P</name>
              <description>BRK COMP2 input polarity</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>TIM16_TISEL</name>
          <displayName>TIM16_TISEL</displayName>
          <description>TIM16 input selection register</description>
          <addressOffset>0x68</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TI1SEL</name>
              <description>selects TI1[0] to TI1[15]
              input</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>TIM17</name>
      <description>General-purpose-timers</description>
      <groupName>TIM</groupName>
      <baseAddress>0x40014800</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>TIM17</name>
        <description>TIM17 global interrupt</description>
        <value>118</value>
      </interrupt>
      <registers>
        <register derivedFrom="TIM16.CR1">
          <name>CR1</name>
          <displayName>CR1</displayName>
          <description>control register 1</description>
          <addressOffset>0x0</addressOffset>
        </register>
        <register derivedFrom="TIM16.CR2">
          <name>CR2</name>
          <displayName>CR2</displayName>
          <description>control register 2</description>
          <addressOffset>0x4</addressOffset>
        </register>
        <register derivedFrom="TIM16.DIER">
          <name>DIER</name>
          <displayName>DIER</displayName>
          <description>DMA/Interrupt enable register</description>
          <addressOffset>0xC</addressOffset>
        </register>
        <register derivedFrom="TIM16.SR">
          <name>SR</name>
          <displayName>SR</displayName>
          <description>status register</description>
          <addressOffset>0x10</addressOffset>
        </register>
        <register derivedFrom="TIM16.EGR">
          <name>EGR</name>
          <displayName>EGR</displayName>
          <description>event generation register</description>
          <addressOffset>0x14</addressOffset>
        </register>
        <register derivedFrom="TIM16.CCMR1_Output">
          <name>CCMR1_Output</name>
          <displayName>CCMR1_Output</displayName>
          <description>capture/compare mode register (output
          mode)</description>
          <addressOffset>0x18</addressOffset>
        </register>
        <register derivedFrom="TIM16.CCMR1_Input">
          <name>CCMR1_Input</name>
          <displayName>CCMR1_Input</displayName>
          <description>capture/compare mode register 1 (input
          mode)</description>
          <alternateRegister>CCMR1_Output</alternateRegister>
          <addressOffset>0x18</addressOffset>
        </register>
        <register derivedFrom="TIM16.CCER">
          <name>CCER</name>
          <displayName>CCER</displayName>
          <description>capture/compare enable
          register</description>
          <addressOffset>0x20</addressOffset>
        </register>
        <register derivedFrom="TIM16.CNT">
          <name>CNT</name>
          <displayName>CNT</displayName>
          <description>counter</description>
          <addressOffset>0x24</addressOffset>
        </register>
        <register>
          <name>CNT16</name>
          <displayName>CNT16</displayName>
          <description>16-bit counter register</description>
          <alternateRegister>CNT</alternateRegister>
          <addressOffset>0x24</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CNT</name>
              <description>counter value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-write</access>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register derivedFrom="TIM16.PSC">
          <name>PSC</name>
          <displayName>PSC</displayName>
          <description>prescaler</description>
          <addressOffset>0x28</addressOffset>
        </register>
        <register derivedFrom="TIM16.ARR">
          <name>ARR</name>
          <displayName>ARR</displayName>
          <description>auto-reload register</description>
          <addressOffset>0x2C</addressOffset>
        </register>
        <register derivedFrom="TIM16.RCR">
          <name>RCR</name>
          <displayName>RCR</displayName>
          <description>repetition counter register</description>
          <addressOffset>0x30</addressOffset>
        </register>
        <register derivedFrom="TIM16.CCR%s">
          <dim>1</dim>
          <dimIncrement>0x2</dimIncrement>
          <dimIndex>1-1</dimIndex>
          <name>CCR%s</name>
          <displayName>CCR%s</displayName>
          <description>capture/compare register</description>
          <addressOffset>0x34</addressOffset>
        </register>
        <register derivedFrom="TIM16.BDTR">
          <name>BDTR</name>
          <displayName>BDTR</displayName>
          <description>break and dead-time register</description>
          <addressOffset>0x44</addressOffset>
        </register>
        <register derivedFrom="TIM16.DCR">
          <name>DCR</name>
          <displayName>DCR</displayName>
          <description>DMA control register</description>
          <addressOffset>0x48</addressOffset>
        </register>
        <register derivedFrom="TIM16.DMAR">
          <name>DMAR</name>
          <displayName>DMAR</displayName>
          <description>DMA address for full transfer</description>
          <addressOffset>0x4C</addressOffset>
        </register>
        <register>
          <name>TIM17_AF1</name>
          <displayName>TIM17_AF1</displayName>
          <description>TIM17 alternate function register
          1</description>
          <addressOffset>0x60</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>BKINE</name>
              <description>BRK BKIN input enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>BKCMP1E</name>
              <description>BRK COMP1 enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>BKCMP2E</name>
              <description>BRK COMP2 enable</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>BKDFBK1E</name>
              <description>BRK dfsdm1_break[1] enable</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>BKINP</name>
              <description>BRK BKIN input polarity</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>BKCMP1P</name>
              <description>BRK COMP1 input polarity</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>BKCMP2P</name>
              <description>BRK COMP2 input polarity</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>TIM17_TISEL</name>
          <displayName>TIM17_TISEL</displayName>
          <description>TIM17 input selection register</description>
          <addressOffset>0x68</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TI1SEL</name>
              <description>selects TI1[0] to TI1[15]
              input</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>TIM15</name>
      <description>General purpose timers</description>
      <groupName>TIM</groupName>
      <baseAddress>0x40014000</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>TIM15</name>
        <description>TIM15 global interrupt</description>
        <value>116</value>
      </interrupt>
      <registers>
        <register>
          <name>CR1</name>
          <displayName>CR1</displayName>
          <description>control register 1</description>
          <addressOffset>0x0</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CEN</name>
              <description>Counter enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Counter disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Counter enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>UDIS</name>
              <description>Update disable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>UDIS</name>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Update event enabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Update event disabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>URS</name>
              <description>Update request source</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>URS</name>
                <enumeratedValue>
                  <name>AnyEvent</name>
                  <description>Any of counter overflow/underflow, setting UG, or update through slave mode, generates an update interrupt or DMA request</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CounterOnly</name>
                  <description>Only counter overflow/underflow generates an update interrupt or DMA request</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OPM</name>
              <description>One-pulse mode</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>OPM</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Counter is not stopped at update event</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Counter stops counting at the next update event (clearing the CEN bit)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ARPE</name>
              <description>Auto-reload preload enable</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ARPE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>TIMx_APRR register is not buffered</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>TIMx_APRR register is buffered</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CKD</name>
              <description>Clock division</description>
              <bitOffset>8</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>CKD</name>
                <enumeratedValue>
                  <name>Div1</name>
                  <description>t_DTS = t_CK_INT</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div2</name>
                  <description>t_DTS = 2 × t_CK_INT</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div4</name>
                  <description>t_DTS = 4 × t_CK_INT</description>
                  <value>2</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>UIFREMAP</name>
              <description>UIF status bit remapping</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CR2</name>
          <displayName>CR2</displayName>
          <description>control register 2</description>
          <addressOffset>0x4</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CCPC</name>
              <description>Capture/compare preloaded
              control</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CCPC</name>
                <enumeratedValue>
                  <name>NotPreloaded</name>
                  <description>CCxE, CCxNE and OCxM bits are not preloaded</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Preloaded</name>
                  <description>CCxE, CCxNE and OCxM bits are preloaded</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CCUS</name>
              <description>Capture/compare control update
              selection</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CCUS</name>
                <enumeratedValue>
                  <name>Sw</name>
                  <description>When capture/compare control bits are preloaded (CCPC=1), they are updated by setting the COMG bit only</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SwOrEdge</name>
                  <description>When capture/compare control bits are preloaded (CCPC=1), they are updated by setting the COMG bit or when an rising edge occurs on TRGI</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CCDS</name>
              <description>Capture/compare DMA
              selection</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CCDS</name>
                <enumeratedValue>
                  <name>OnCompare</name>
                  <description>CCx DMA request sent when CCx event occurs</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OnUpdate</name>
                  <description>CCx DMA request sent when update event occurs</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MMS</name>
              <description>Master mode selection</description>
              <bitOffset>4</bitOffset>
              <bitWidth>3</bitWidth>
            </field>
            <field>
              <name>TI1S</name>
              <description>TI1 selection</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <dim>2</dim>
              <dimIncrement>0x2</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>OIS%s</name>
              <description>Output Idle state (OC%s output)</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>OIS1</name>
                <enumeratedValue>
                  <name>Reset</name>
                  <description>OCx=0 (after a dead-time if OCx(N) is implemented) when MOE=0</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Set</name>
                  <description>OCx=1 (after a dead-time if OCx(N) is implemented) when MOE=0</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>1</dim>
              <dimIncrement>0x0</dimIncrement>
              <dimIndex>1-1</dimIndex>
              <name>OIS%sN</name>
              <description>Output Idle state (OC%sN output)</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>OIS1N</name>
                <enumeratedValue>
                  <name>Reset</name>
                  <description>OCxN=0 after a dead-time when MOE=0</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Set</name>
                  <description>OCxN=1 after a dead-time when MOE=0</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>SMCR</name>
          <displayName>SMCR</displayName>
          <description>slave mode control register</description>
          <addressOffset>0x8</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>SMS</name>
              <description>Slave mode selection</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
            </field>
            <field>
              <name>TS</name>
              <description>Trigger selection</description>
              <bitOffset>4</bitOffset>
              <bitWidth>3</bitWidth>
            </field>
            <field>
              <name>MSM</name>
              <description>Master/Slave mode</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SMS_3</name>
              <description>Slave mode selection bit 3</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TS2</name>
              <description>Trigger selection - bit
              4:3</description>
              <bitOffset>20</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DIER</name>
          <displayName>DIER</displayName>
          <description>DMA/Interrupt enable register</description>
          <addressOffset>0xC</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>UIE</name>
              <description>Update interrupt enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>UIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Update interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Update interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>2</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>CC%sIE</name>
              <description>Capture/Compare %s interrupt enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CC1IE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>CCx interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>CCx interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>COMIE</name>
              <description>COM interrupt enable</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>COMIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>COM interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>COM interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TIE</name>
              <description>Trigger interrupt enable</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Trigger interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Trigger interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BIE</name>
              <description>Break interrupt enable</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>BIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Break interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Break interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>UDE</name>
              <description>Update DMA request enable</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>UDE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Update DMA request disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Update DMA request enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>2</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>CC%sDE</name>
              <description>Capture/Compare %s DMA request enable</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CC1DE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>CCx DMA request disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>CCx DMA request enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>COMDE</name>
              <description>COM DMA request enable</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>COMDE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>COM DMA request disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>COM DMA request enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TDE</name>
              <description>Trigger DMA request enable</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TDE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Trigger DMA request disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Trigger DMA request enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>SR</name>
          <displayName>SR</displayName>
          <description>status register</description>
          <addressOffset>0x10</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>2</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>CC%sOF</name>
              <description>Capture/Compare %s overcapture flag</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>zeroToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>CC1OFR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoOvercapture</name>
                  <description>No overcapture has been detected</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Overcapture</name>
                  <description>The counter value has been captured in TIMx_CCRx register while CCxIF flag was already set</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>CC1OFW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear flag</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BIF</name>
              <description>Break interrupt flag</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>zeroToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>BIFR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoTrigger</name>
                  <description>No break event occurred</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Trigger</name>
                  <description>An active level has been detected on the break input. An interrupt is generated if BIE=1 in the TIMx_DIER register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>BIFW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear flag</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TIF</name>
              <description>Trigger interrupt flag</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>zeroToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>TIFR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoTrigger</name>
                  <description>No trigger event occurred</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Trigger</name>
                  <description>Trigger interrupt pending</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>TIFW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear flag</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>COMIF</name>
              <description>COM interrupt flag</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>zeroToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>COMIFR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoCOM</name>
                  <description>No COM event occurred</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>COM</name>
                  <description>COM interrupt pending</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>COMIFW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear flag</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>2</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>CC%sIF</name>
              <description>Capture/compare %s interrupt flag</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>zeroToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>CC1IFR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoMatch</name>
                  <description>No campture/compare has been detected</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Match</name>
                  <description>If CC1 is an output: The content of the counter TIMx_CNT matches the content of the TIMx_CCR1 register. If CC1 is an input: The counter value has been captured in TIMx_CCR1 register.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>CC1IFW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear flag</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>UIF</name>
              <description>Update interrupt flag</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>zeroToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>UIFR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoUpdateOccurred</name>
                  <description>No update occurred</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>UpdatePending</name>
                  <description>Update interrupt pending</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>UIFW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear flag</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>EGR</name>
          <displayName>EGR</displayName>
          <description>event generation register</description>
          <addressOffset>0x14</addressOffset>
          <size>0x10</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>BG</name>
              <description>Break generation</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>BGW</name>
                <enumeratedValue>
                  <name>Trigger</name>
                  <description>A break event is generated. MOE bit is cleared and BIF flag is set. Related interrupt or DMA transfer can occur if enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TG</name>
              <description>Trigger generation</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TGW</name>
                <enumeratedValue>
                  <name>Trigger</name>
                  <description>The TIF flag is set in TIMx_SR register. Related interrupt or DMA transfer can occur if enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>COMG</name>
              <description>Capture/Compare control update
              generation</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>COMGW</name>
                <enumeratedValue>
                  <name>Trigger</name>
                  <description>When CCPC bit is set, it allows CCxE, CCxNE and OCxM bits to be updated</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>2</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>CC%sG</name>
              <description>Capture/compare %s generation</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CC1GW</name>
                <enumeratedValue>
                  <name>Trigger</name>
                  <description>If CC1 is an output: CC1IF flag is set, Corresponding interrupt or DMA request is sent if enabled. If CC1 is an input: The current value of the counter is captured in TIMx_CCR1 register.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>UG</name>
              <description>Update generation</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>UG</name>
                <enumeratedValue>
                  <name>Update</name>
                  <description>Re-initializes the timer counter and generates an update of the registers.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CCMR1_Output</name>
          <displayName>CCMR1_Output</displayName>
          <description>capture/compare mode register (output
          mode)</description>
          <addressOffset>0x18</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>2</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>CC%sS</name>
              <description>Capture/Compare %s selection</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>CC1S</name>
                <enumeratedValue>
                  <name>Output</name>
                  <description>CCx channel is configured as output</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>2</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>OC%sFE</name>
              <description>Output compare %s fast enable</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>OC1FE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Fast output disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Fast output enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>2</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>OC%sPE</name>
              <description>Output compare %s preload enable</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>OC1PE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Preload register on CCRx disabled. New values written to CCRx are taken into account immediately</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Preload register on CCRx enabled. Preload value is loaded into active register on each update event</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>2</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>OC%sM</name>
              <description>Output compare %s mode</description>
              <bitOffset>4</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>OC1M</name>
                <enumeratedValue>
                  <name>Frozen</name>
                  <description>The comparison between the output compare register TIMx_CCRy and the counter TIMx_CNT has no effect on the outputs / OpmMode1: Retriggerable OPM mode 1 - In up-counting mode, the channel is active until a trigger event is detected (on TRGI signal). In down-counting mode, the channel is inactive</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ActiveOnMatch</name>
                  <description>Set channel to active level on match. OCyREF signal is forced high when the counter matches the capture/compare register / OpmMode2: Inversely to OpmMode1</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>InactiveOnMatch</name>
                  <description>Set channel to inactive level on match. OCyREF signal is forced low when the counter matches the capture/compare register / Reserved</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Toggle</name>
                  <description>OCyREF toggles when TIMx_CNT=TIMx_CCRy / Reserved</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ForceInactive</name>
                  <description>OCyREF is forced low / CombinedPwmMode1: OCyREF has the same behavior as in PWM mode 1. OCyREFC is the logical OR between OC1REF and OC2REF</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ForceActive</name>
                  <description>OCyREF is forced high / CombinedPwmMode2: OCyREF has the same behavior as in PWM mode 2. OCyREFC is the logical AND between OC1REF and OC2REF</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PwmMode1</name>
                  <description>In upcounting, channel is active as long as TIMx_CNT&lt;TIMx_CCRy else inactive. In downcounting, channel is inactive as long as TIMx_CNT&gt;TIMx_CCRy else active / Reserved</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PwmMode2</name>
                  <description>Inversely to PwmMode1 / Reserved</description>
                  <value>7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>2</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>OC%sM_3</name>
              <description>Output compare %s mode, bit 3</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>OC1M_3</name>
                <enumeratedValue>
                  <name>Normal</name>
                  <description>Normal output compare mode (modes 0-7)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Extended</name>
                  <description>Extended output compare mode (modes 7-15)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CCMR1_Input</name>
          <displayName>CCMR1_Input</displayName>
          <description>capture/compare mode register 1 (input
          mode)</description>
          <alternateRegister>CCMR1_Output</alternateRegister>
          <addressOffset>0x18</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>2</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>IC%sF</name>
              <description>Input capture %s filter</description>
              <bitOffset>4</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues>
                <name>ICFilter</name>
                <enumeratedValue>
                  <name>NoFilter</name>
                  <description>No filter, sampling is done at fDTS</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FCK_INT_N2</name>
                  <description>fSAMPLING=fCK_INT, N=2</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FCK_INT_N4</name>
                  <description>fSAMPLING=fCK_INT, N=4</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FCK_INT_N8</name>
                  <description>fSAMPLING=fCK_INT, N=8</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div2_N6</name>
                  <description>fSAMPLING=fDTS/2, N=6</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div2_N8</name>
                  <description>fSAMPLING=fDTS/2, N=8</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div4_N6</name>
                  <description>fSAMPLING=fDTS/4, N=6</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div4_N8</name>
                  <description>fSAMPLING=fDTS/4, N=8</description>
                  <value>7</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div8_N6</name>
                  <description>fSAMPLING=fDTS/8, N=6</description>
                  <value>8</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div8_N8</name>
                  <description>fSAMPLING=fDTS/8, N=8</description>
                  <value>9</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div16_N5</name>
                  <description>fSAMPLING=fDTS/16, N=5</description>
                  <value>10</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div16_N6</name>
                  <description>fSAMPLING=fDTS/16, N=6</description>
                  <value>11</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div16_N8</name>
                  <description>fSAMPLING=fDTS/16, N=8</description>
                  <value>12</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div32_N5</name>
                  <description>fSAMPLING=fDTS/32, N=5</description>
                  <value>13</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div32_N6</name>
                  <description>fSAMPLING=fDTS/32, N=6</description>
                  <value>14</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div32_N8</name>
                  <description>fSAMPLING=fDTS/32, N=8</description>
                  <value>15</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>2</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>IC%sPSC</name>
              <description>Input capture %s prescaler</description>
              <bitOffset>2</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>ICPrescaler</name>
                <enumeratedValue>
                  <name>NoPrescaler</name>
                  <description>No prescaler, capture is done each time an edge is detected on the capture input</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TwoEvents</name>
                  <description>Capture is done once every 2 events</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FourEvents</name>
                  <description>Capture is done once every 4 events</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>EightEvents</name>
                  <description>Capture is done once every 8 events</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CC2S</name>
              <description>Capture/Compare 2
              selection</description>
              <bitOffset>8</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>CC2S</name>
                <enumeratedValue>
                  <name>TI2</name>
                  <description>CC2 channel is configured as input, IC2 is mapped on TI2</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TI1</name>
                  <description>CC2 channel is configured as input, IC2 is mapped on TI1</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TRC</name>
                  <description>CC2 channel is configured as input, IC2 is mapped on TRC</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CC1S</name>
              <description>Capture/Compare 1
              selection</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>CC1S</name>
                <enumeratedValue>
                  <name>TI1</name>
                  <description>CC1 channel is configured as input, IC1 is mapped on TI1</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TI2</name>
                  <description>CC1 channel is configured as input, IC1 is mapped on TI2</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TRC</name>
                  <description>CC1 channel is configured as input, IC1 is mapped on TRC</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CCER</name>
          <displayName>CCER</displayName>
          <description>capture/compare enable
          register</description>
          <addressOffset>0x20</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>2</dim>
              <dimIncrement>0x4</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>CC%sNP</name>
              <description>Capture/Compare %s output Polarity</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CC1NP</name>
                <enumeratedValue>
                  <name>ActiveHigh</name>
                  <description>OCxN active high</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ActiveLow</name>
                  <description>OCxN active low</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>2</dim>
              <dimIncrement>0x4</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>CC%sP</name>
              <description>Capture/Compare %s output Polarity</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CC1P</name>
                <enumeratedValue>
                  <name>RisingEdge</name>
                  <description>Noninverted/rising edge</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FallingEdge</name>
                  <description>Inverted/falling edge</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>2</dim>
              <dimIncrement>0x4</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>CC%sE</name>
              <description>Capture/Compare %s output enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CC1E</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Capture disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Capture enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>1</dim>
              <dimIncrement>0x0</dimIncrement>
              <dimIndex>1-1</dimIndex>
              <name>CC%sNE</name>
              <description>Capture/Compare %s complementary output enable</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CC1NE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Complementary output disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Complementary output enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CNT</name>
          <displayName>CNT</displayName>
          <description>counter</description>
          <addressOffset>0x24</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CNT</name>
              <description>counter value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-write</access>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>UIFCPY</name>
              <description>UIF copy</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>CNT16</name>
          <displayName>CNT16</displayName>
          <description>16-bit counter register</description>
          <alternateRegister>CNT</alternateRegister>
          <addressOffset>0x24</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CNT</name>
              <description>counter value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-write</access>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>PSC</name>
          <displayName>PSC</displayName>
          <description>prescaler</description>
          <addressOffset>0x28</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>PSC</name>
              <description>Prescaler value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>ARR</name>
          <displayName>ARR</displayName>
          <description>auto-reload register</description>
          <addressOffset>0x2C</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x0000FFFF</resetValue>
          <fields>
            <field>
              <name>ARR</name>
              <description>Auto-reload value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>RCR</name>
          <displayName>RCR</displayName>
          <description>repetition counter register</description>
          <addressOffset>0x30</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>REP</name>
              <description>Repetition counter value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <dim>2</dim>
          <dimIncrement>0x4</dimIncrement>
          <dimIndex>1-2</dimIndex>
          <name>CCR%s</name>
          <displayName>CCR%s</displayName>
          <description>capture/compare register</description>
          <addressOffset>0x34</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CCR</name>
              <description>Capture/Compare value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>BDTR</name>
          <displayName>BDTR</displayName>
          <description>break and dead-time register</description>
          <addressOffset>0x44</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>MOE</name>
              <description>Main output enable</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>MOE</name>
                <enumeratedValue>
                  <name>DisabledIdle</name>
                  <description>OC/OCN are disabled or forced idle depending on OSSI</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>OC/OCN are enabled if CCxE/CCxNE are set</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>AOE</name>
              <description>Automatic output enable</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>AOE</name>
                <enumeratedValue>
                  <name>Manual</name>
                  <description>MOE can be set only by software</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Automatic</name>
                  <description>MOE can be set by software or automatically at the next update event (if none of the break inputs BRK and BRK2 is active)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BKP</name>
              <description>Break polarity</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>BKP</name>
                <enumeratedValue>
                  <name>ActiveLow</name>
                  <description>Break input BRKx is active low</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ActiveHigh</name>
                  <description>Break input BRKx is active high</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BKE</name>
              <description>Break enable</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>BKE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Break function x disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Break function x enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OSSR</name>
              <description>Off-state selection for Run
              mode</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>OSSR</name>
                <enumeratedValue>
                  <name>HiZ</name>
                  <description>When inactive, OC/OCN outputs are disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>IdleLevel</name>
                  <description>When inactive, OC/OCN outputs are enabled with their inactive level</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OSSI</name>
              <description>Off-state selection for Idle
              mode</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>OSSI</name>
                <enumeratedValue>
                  <name>HiZ</name>
                  <description>When inactive, OC/OCN outputs are disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>IdleLevel</name>
                  <description>When inactive, OC/OCN outputs are forced to idle level</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LOCK</name>
              <description>Lock configuration</description>
              <bitOffset>8</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>LOCK</name>
                <enumeratedValue>
                  <name>Off</name>
                  <description>No bit is write protected</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Level1</name>
                  <description>Any bits except MOE, OSSR, OSSI and LOCK in TIMx_BDTR register, OISx and OISxN bits in TIMx_CR2 register can no longer be written</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Level2</name>
                  <description>LOCK Level 1 + CC Polarity bits (CCxP/CCxNP bits in TIMx_CCER register, as long as the related channel is configured in output through the CCxS bits) as well as OSSR and OSSI bits can no longer be written</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Level3</name>
                  <description>LOCK Level 2 + CC Control bits (OCxM and OCxPE bits in TIMx_CCMRx registers, as long as the related channel is configured in output through the CCxS bits) can no longer be written</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DTG</name>
              <description>Dead-time generator setup</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>BKF</name>
              <description>Break filter</description>
              <bitOffset>16</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DCR</name>
          <displayName>DCR</displayName>
          <description>DMA control register</description>
          <addressOffset>0x48</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DBL</name>
              <description>DMA burst length</description>
              <bitOffset>8</bitOffset>
              <bitWidth>5</bitWidth>
            </field>
            <field>
              <name>DBA</name>
              <description>DMA base address</description>
              <bitOffset>0</bitOffset>
              <bitWidth>5</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DMAR</name>
          <displayName>DMAR</displayName>
          <description>DMA address for full transfer</description>
          <addressOffset>0x4C</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DMAB</name>
              <description>DMA register for burst
              accesses</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>AF1</name>
          <displayName>AF1</displayName>
          <description>TIM15 alternate fdfsdm1_breakon register
          1</description>
          <addressOffset>0x60</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>BKINE</name>
              <description>BRK BKIN input enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>BKCMP1E</name>
              <description>BRK COMP1 enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>BKCMP2E</name>
              <description>BRK COMP2 enable</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>BKDF1BK0E</name>
              <description>BRK dfsdm1_break[0] enable</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>BKINP</name>
              <description>BRK BKIN input polarity</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>BKCMP1P</name>
              <description>BRK COMP1 input polarity</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>BKCMP2P</name>
              <description>BRK COMP2 input polarity</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>TISEL</name>
          <displayName>TISEL</displayName>
          <description>TIM15 input selection register</description>
          <addressOffset>0x68</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TI1SEL</name>
              <description>selects TI1[0] to TI1[15]
              input</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>TI2SEL</name>
              <description>selects TI2[0] to TI2[15]
              input</description>
              <bitOffset>8</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>USART1</name>
      <description>Universal synchronous asynchronous receiver
      transmitter</description>
      <groupName>USART</groupName>
      <baseAddress>0x40011000</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>USART1</name>
        <description>USART1 global interrupt</description>
        <value>37</value>
      </interrupt>
      <registers>
        <register>
          <name>CR1</name>
          <displayName>CR1</displayName>
          <description>Control register 1</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>RXFFIE</name>
              <description>RXFIFO Full interrupt
              enable</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RXFFIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt inhibited</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>USART interrupt generated when RXFF = 1 in the USART_ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TXFEIE</name>
              <description>TXFIFO empty interrupt
              enable</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TXFEIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt inhibited</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>USART interrupt generated when TXFE = 1 in the USART_ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FIFOEN</name>
              <description>FIFO mode enable</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>FIFOEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>FIFO mode is disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>FIFO mode is enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>M1</name>
              <description>Word length</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>M1</name>
                <enumeratedValue>
                  <name>M0</name>
                  <description>Use M0 to set the data bits</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bit7</name>
                  <description>1 start bit, 7 data bits, n stop bits</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EOBIE</name>
              <description>End of Block interrupt
              enable</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>EOBIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt is inhibited</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>A USART interrupt is generated when the EOBF flag is set in the ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RTOIE</name>
              <description>Receiver timeout interrupt
              enable</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RTOIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt is inhibited</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>An USART interrupt is generated when the RTOF bit is set in the ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DEAT</name>
              <description>Driver Enable assertion
              time</description>
              <bitOffset>21</bitOffset>
              <bitWidth>5</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>31</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>DEDT</name>
              <description>Driver Enable de-assertion
              time</description>
              <bitOffset>16</bitOffset>
              <bitWidth>5</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>31</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>OVER8</name>
              <description>Oversampling mode</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>OVER8</name>
                <enumeratedValue>
                  <name>Oversampling16</name>
                  <description>Oversampling by 16</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Oversampling8</name>
                  <description>Oversampling by 8</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CMIE</name>
              <description>Character match interrupt
              enable</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CMIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt is disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt is generated when the CMF bit is set in the ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MME</name>
              <description>Mute mode enable</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>MME</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Receiver in active mode permanently</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Receiver can switch between mute mode and active mode</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>M0</name>
              <description>Word length</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>M0</name>
                <enumeratedValue>
                  <name>Bit8</name>
                  <description>1 start bit, 8 data bits, n stop bits</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bit9</name>
                  <description>1 start bit, 9 data bits, n stop bits</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>WAKE</name>
              <description>Receiver wakeup method</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>WAKE</name>
                <enumeratedValue>
                  <name>Idle</name>
                  <description>Idle line</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Address</name>
                  <description>Address mask</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PCE</name>
              <description>Parity control enable</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>PCE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Parity control disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Parity control enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PS</name>
              <description>Parity selection</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>PS</name>
                <enumeratedValue>
                  <name>Even</name>
                  <description>Even parity</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Odd</name>
                  <description>Odd parity</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PEIE</name>
              <description>PE interrupt enable</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>PEIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt is disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt is generated whenever PE=1 in the ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TXEIE</name>
              <description>interrupt enable</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TXEIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt is disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt is generated whenever TXE=1 in the ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TCIE</name>
              <description>Transmission complete interrupt
              enable</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TCIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt is disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt is generated whenever TC=1 in the ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RXNEIE</name>
              <description>RXNE interrupt enable</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RXNEIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt is disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt is generated whenever ORE=1 or RXNE=1 in the ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>IDLEIE</name>
              <description>IDLE interrupt enable</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>IDLEIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt is disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt is generated whenever IDLE=1 in the ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TE</name>
              <description>Transmitter enable</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Transmitter is disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Transmitter is enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RE</name>
              <description>Receiver enable</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Receiver is disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Receiver is enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>UESM</name>
              <description>USART enable in Stop mode</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>UESM</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>USART not able to wake up the MCU from Stop mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>USART able to wake up the MCU from Stop mode</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>UE</name>
              <description>USART enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>UE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>UART is disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>UART is enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CR2</name>
          <displayName>CR2</displayName>
          <description>Control register 2</description>
          <addressOffset>0x4</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>ADD</name>
              <description>Address of the USART node</description>
              <bitOffset>24</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>RTOEN</name>
              <description>Receiver timeout enable</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RTOEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Receiver timeout feature disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Receiver timeout feature enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ABRMOD</name>
              <description>Auto baud rate mode</description>
              <bitOffset>21</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>ABRMOD</name>
                <enumeratedValue>
                  <name>Start</name>
                  <description>Measurement of the start bit is used to detect the baud rate</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Edge</name>
                  <description>Falling edge to falling edge measurement</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Frame7F</name>
                  <description>0x7F frame detection</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Frame55</name>
                  <description>0x55 frame detection</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ABREN</name>
              <description>Auto baud rate enable</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ABREN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Auto baud rate detection is disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Auto baud rate detection is enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MSBFIRST</name>
              <description>Most significant bit first</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>MSBFIRST</name>
                <enumeratedValue>
                  <name>LSB</name>
                  <description>data is transmitted/received with data bit 0 first, following the start bit</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>MSB</name>
                  <description>data is transmitted/received with MSB (bit 7/8/9) first, following the start bit</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DATAINV</name>
              <description>Binary data inversion</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DATAINV</name>
                <enumeratedValue>
                  <name>Positive</name>
                  <description>Logical data from the data register are send/received in positive/direct logic</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Negative</name>
                  <description>Logical data from the data register are send/received in negative/inverse logic</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TXINV</name>
              <description>TX pin active level
              inversion</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TXINV</name>
                <enumeratedValue>
                  <name>Standard</name>
                  <description>TX pin signal works using the standard logic levels</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Inverted</name>
                  <description>TX pin signal values are inverted</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RXINV</name>
              <description>RX pin active level
              inversion</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RXINV</name>
                <enumeratedValue>
                  <name>Standard</name>
                  <description>RX pin signal works using the standard logic levels</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Inverted</name>
                  <description>RX pin signal values are inverted</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SWAP</name>
              <description>Swap TX/RX pins</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SWAP</name>
                <enumeratedValue>
                  <name>Standard</name>
                  <description>TX/RX pins are used as defined in standard pinout</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Swapped</name>
                  <description>The TX and RX pins functions are swapped</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LINEN</name>
              <description>LIN mode enable</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>LINEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>LIN mode disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>LIN mode enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>STOP</name>
              <description>STOP bits</description>
              <bitOffset>12</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>STOP</name>
                <enumeratedValue>
                  <name>Stop1</name>
                  <description>1 stop bit</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Stop0p5</name>
                  <description>0.5 stop bit</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Stop2</name>
                  <description>2 stop bit</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Stop1p5</name>
                  <description>1.5 stop bit</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CLKEN</name>
              <description>Clock enable</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CLKEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>CK pin disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>CK pin enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CPOL</name>
              <description>Clock polarity</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CPOL</name>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Steady low value on CK pin outside transmission window</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Steady high value on CK pin outside transmission window</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CPHA</name>
              <description>Clock phase</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CPHA</name>
                <enumeratedValue>
                  <name>First</name>
                  <description>The first clock transition is the first data capture edge</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Second</name>
                  <description>The second clock transition is the first data capture edge</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LBCL</name>
              <description>Last bit clock pulse</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>LBCL</name>
                <enumeratedValue>
                  <name>NotOutput</name>
                  <description>The clock pulse of the last data bit is not output to the CK pin</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Output</name>
                  <description>The clock pulse of the last data bit is output to the CK pin</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LBDIE</name>
              <description>LIN break detection interrupt
              enable</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>LBDIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt is inhibited</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>An interrupt is generated whenever LBDF=1 in the ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LBDL</name>
              <description>LIN break detection length</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>LBDL</name>
                <enumeratedValue>
                  <name>Bit10</name>
                  <description>10-bit break detection</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bit11</name>
                  <description>11-bit break detection</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ADDM7</name>
              <description>7-bit Address Detection/4-bit Address
              Detection</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ADDM7</name>
                <enumeratedValue>
                  <name>Bit4</name>
                  <description>4-bit address detection</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bit7</name>
                  <description>7-bit address detection</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIS_NSS</name>
              <description>When the DSI_NSS bit is set, the NSS pin
              input is ignored</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DIS_NSS</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>SPI slave selection depends on NSS input pin</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>SPI slave is always selected and NSS input pin is ignored</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SLVEN</name>
              <description>Synchronous Slave mode
              enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SLVEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Slave mode disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Slave mode enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CR3</name>
          <displayName>CR3</displayName>
          <description>Control register 3</description>
          <addressOffset>0x8</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TXFTCFG</name>
              <description>TXFIFO threshold
              configuration</description>
              <bitOffset>29</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>TXFTCFG</name>
                <enumeratedValue>
                  <name>Depth_1_8</name>
                  <description>TXFIFO reaches 1/8 of its depth</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Depth_1_4</name>
                  <description>TXFIFO reaches 1/4 of its depth</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Depth_1_2</name>
                  <description>TXFIFO reaches 1/2 of its depth</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Depth_3_4</name>
                  <description>TXFIFO reaches 3/4 of its depth</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Depth_7_8</name>
                  <description>TXFIFO reaches 7/8 of its depth</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Empty</name>
                  <description>TXFIFO becomes empty</description>
                  <value>5</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RXFTIE</name>
              <description>RXFIFO threshold interrupt
              enable</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RXFTIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt inhibited</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>USART interrupt generated when Receive FIFO reaches the threshold programmed in RXFTCFG</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RXFTCFG</name>
              <description>Receive FIFO threshold
              configuration</description>
              <bitOffset>25</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>RXFTCFG</name>
                <enumeratedValue>
                  <name>Depth_1_8</name>
                  <description>RXFIFO reaches 1/8 of its depth</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Depth_1_4</name>
                  <description>RXFIFO reaches 1/4 of its depth</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Depth_1_2</name>
                  <description>RXFIFO reaches 1/2 of its depth</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Depth_3_4</name>
                  <description>RXFIFO reaches 3/4 of its depth</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Depth_7_8</name>
                  <description>RXFIFO reaches 7/8 of its depth</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Full</name>
                  <description>RXFIFO becomes full</description>
                  <value>5</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TCBGTIE</name>
              <description>Transmission Complete before guard time,
              interrupt enable</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TCBGTIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt inhibited</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>USART interrupt generated whenever TCBGT=1 in the USART_ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TXFTIE</name>
              <description>TXFIFO threshold interrupt
              enable</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TXFTIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt inhibited</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>USART interrupt generated when Transmit FIFO reaches the threshold programmed in TXFTCFG</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>WUFIE</name>
              <description>Wakeup from Stop mode interrupt
              enable</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>WUFIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt is inhibited</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>An USART interrupt is generated whenever WUF=1 in the ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>WUS</name>
              <description>Wakeup from Stop mode interrupt flag
              selection</description>
              <bitOffset>20</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>WUS</name>
                <enumeratedValue>
                  <name>Address</name>
                  <description>WUF active on address match</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Start</name>
                  <description>WuF active on Start bit detection</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>RXNE</name>
                  <description>WUF active on RXNE</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SCARCNT</name>
              <description>Smartcard auto-retry count</description>
              <bitOffset>17</bitOffset>
              <bitWidth>3</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>7</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>DEP</name>
              <description>Driver enable polarity
              selection</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DEP</name>
                <enumeratedValue>
                  <name>High</name>
                  <description>DE signal is active high</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Low</name>
                  <description>DE signal is active low</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DEM</name>
              <description>Driver enable mode</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DEM</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>DE function is disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>The DE signal is output on the RTS pin</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DDRE</name>
              <description>DMA Disable on Reception
              Error</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DDRE</name>
                <enumeratedValue>
                  <name>NotDisabled</name>
                  <description>DMA is not disabled in case of reception error</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>DMA is disabled following a reception error</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OVRDIS</name>
              <description>Overrun Disable</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>OVRDIS</name>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Overrun Error Flag, ORE, is set when received data is not read before receiving new data</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Overrun functionality is disabled. If new data is received while the RXNE flag is still set the ORE flag is not set and the new received data overwrites the previous content of the RDR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ONEBIT</name>
              <description>One sample bit method
              enable</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ONEBIT</name>
                <enumeratedValue>
                  <name>Sample3</name>
                  <description>Three sample bit method</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Sample1</name>
                  <description>One sample bit method</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CTSIE</name>
              <description>CTS interrupt enable</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CTSIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt is inhibited</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>An interrupt is generated whenever CTSIF=1 in the ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CTSE</name>
              <description>CTS enable</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CTSE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>CTS hardware flow control disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>CTS mode enabled, data is only transmitted when the CTS input is asserted</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RTSE</name>
              <description>RTS enable</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RTSE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>RTS hardware flow control disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>RTS output enabled, data is only requested when there is space in the receive buffer</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DMAT</name>
              <description>DMA enable transmitter</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DMAT</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>DMA mode is disabled for transmission</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>DMA mode is enabled for transmission</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DMAR</name>
              <description>DMA enable receiver</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DMAR</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>DMA mode is disabled for reception</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>DMA mode is enabled for reception</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SCEN</name>
              <description>Smartcard mode enable</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SCEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Smartcard Mode disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Smartcard Mode enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>NACK</name>
              <description>Smartcard NACK enable</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>NACK</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>NACK transmission in case of parity error is disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>NACK transmission during parity error is enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>HDSEL</name>
              <description>Half-duplex selection</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>HDSEL</name>
                <enumeratedValue>
                  <name>NotSelected</name>
                  <description>Half duplex mode is not selected</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Selected</name>
                  <description>Half duplex mode is selected</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>IRLP</name>
              <description>Ir low-power</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>IRLP</name>
                <enumeratedValue>
                  <name>Normal</name>
                  <description>Normal mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LowPower</name>
                  <description>Low-power mode</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>IREN</name>
              <description>Ir mode enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>IREN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>IrDA disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>IrDA enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EIE</name>
              <description>Error interrupt enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>EIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt is inhibited</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>An interrupt is generated when FE=1 or ORE=1 or NF=1 in the ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>BRR</name>
          <displayName>BRR</displayName>
          <description>Baud rate register</description>
          <addressOffset>0xC</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>BRR</name>
              <description>DIV_Mantissa</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>GTPR</name>
          <displayName>GTPR</displayName>
          <description>Guard time and prescaler
          register</description>
          <addressOffset>0x10</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>GT</name>
              <description>Guard time value</description>
              <bitOffset>8</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>PSC</name>
              <description>Prescaler value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>RTOR</name>
          <displayName>RTOR</displayName>
          <description>Receiver timeout register</description>
          <addressOffset>0x14</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>BLEN</name>
              <description>Block Length</description>
              <bitOffset>24</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>RTO</name>
              <description>Receiver timeout value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>24</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>16777215</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>RQR</name>
          <displayName>RQR</displayName>
          <description>Request register</description>
          <addressOffset>0x18</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TXFRQ</name>
              <description>Transmit data flush
              request</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TXFRQ</name>
                <enumeratedValue>
                  <name>Discard</name>
                  <description>Set the TXE flags. This allows to discard the transmit data</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RXFRQ</name>
              <description>Receive data flush request</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RXFRQ</name>
                <enumeratedValue>
                  <name>Discard</name>
                  <description>clears the RXNE flag. This allows to discard the received data without reading it, and avoid an overrun condition</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MMRQ</name>
              <description>Mute mode request</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>MMRQ</name>
                <enumeratedValue>
                  <name>Mute</name>
                  <description>Puts the USART in mute mode and sets the RWU flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SBKRQ</name>
              <description>Send break request</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SBKRQ</name>
                <enumeratedValue>
                  <name>Break</name>
                  <description>sets the SBKF flag and request to send a BREAK on the line, as soon as the transmit machine is available</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ABRRQ</name>
              <description>Auto baud rate request</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ABRRQ</name>
                <enumeratedValue>
                  <name>Request</name>
                  <description>resets the ABRF flag in the USART_ISR and request an automatic baud rate measurement on the next received data frame</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>ISR</name>
          <displayName>ISR</displayName>
          <description>Interrupt &amp; status
          register</description>
          <addressOffset>0x1C</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x000000C0</resetValue>
          <fields>
            <field>
              <name>TXFT</name>
              <description>TXFIFO threshold flag</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TXFT</name>
                <enumeratedValue>
                  <name>NotReached</name>
                  <description>TXFIFO does not reach the programmed threshold.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Reached</name>
                  <description>TXFIFO reached the programmed threshold.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RXFT</name>
              <description>RXFIFO threshold flag</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RXFT</name>
                <enumeratedValue>
                  <name>NotReached</name>
                  <description>Receive FIFO does not reach the programmed threshold.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Reached</name>
                  <description>Receive FIFO reached the programmed threshold.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TCBGT</name>
              <description>Transmission complete before guard time
              flag</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TCBGT</name>
                <enumeratedValue>
                  <name>NotCompleted</name>
                  <description>Transmission is not complete or transmission is complete unsuccessfully (i.e. a NACK is received from the card)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Completed</name>
                  <description>Transmission is complete successfully (before Guard time completion and there is no NACK from the smart card)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RXFF</name>
              <description>RXFIFO Full</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RXFF</name>
                <enumeratedValue>
                  <name>NotFull</name>
                  <description>RXFIFO not full.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Full</name>
                  <description>RXFIFO Full.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TXFE</name>
              <description>TXFIFO Empty</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TXFE</name>
                <enumeratedValue>
                  <name>NotEmpty</name>
                  <description>TXFIFO not empty.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Empty</name>
                  <description>TXFIFO empty.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>REACK</name>
              <description>REACK</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TEACK</name>
              <description>TEACK</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>WUF</name>
              <description>WUF</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RWU</name>
              <description>RWU</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RWU</name>
                <enumeratedValue>
                  <name>Active</name>
                  <description>Receiver in Active mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Mute</name>
                  <description>Receiver in Mute mode</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SBKF</name>
              <description>SBKF</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SBKF</name>
                <enumeratedValue>
                  <name>NoBreak</name>
                  <description>No break character transmitted</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Break</name>
                  <description>Break character transmitted</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CMF</name>
              <description>CMF</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CMF</name>
                <enumeratedValue>
                  <name>NoMatch</name>
                  <description>No Character match detected</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Match</name>
                  <description>Character match detected</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BUSY</name>
              <description>BUSY</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>BUSY</name>
                <enumeratedValue>
                  <name>Idle</name>
                  <description>USART is idle (no reception)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Busy</name>
                  <description>Reception on going</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ABRF</name>
              <description>ABRF</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ABRE</name>
              <description>ABRE</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>UDR</name>
              <description>SPI slave underrun error
              flag</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>UDR</name>
                <enumeratedValue>
                  <name>NoUnderrun</name>
                  <description>No underrun error</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Underrun</name>
                  <description>underrun error</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EOBF</name>
              <description>EOBF</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>EOBF</name>
                <enumeratedValue>
                  <name>NotReached</name>
                  <description>End of Block not reached</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Reached</name>
                  <description>End of Block (number of characters) reached</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RTOF</name>
              <description>RTOF</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RTOF</name>
                <enumeratedValue>
                  <name>NotReached</name>
                  <description>Timeout value not reached</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Reached</name>
                  <description>Timeout value reached without any data reception</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CTS</name>
              <description>CTS</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CTS</name>
                <enumeratedValue>
                  <name>Set</name>
                  <description>CTS line set</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Reset</name>
                  <description>CTS line reset</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CTSIF</name>
              <description>CTSIF</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CTSIF</name>
                <enumeratedValue>
                  <name>NotChanged</name>
                  <description>No change occurred on the CTS status line</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Changed</name>
                  <description>A change occurred on the CTS status line</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LBDF</name>
              <description>LBDF</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>LBDF</name>
                <enumeratedValue>
                  <name>NotDetected</name>
                  <description>LIN break not detected</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Detected</name>
                  <description>LIN break detected</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TXE</name>
              <description>TXE</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TXE</name>
                <enumeratedValue>
                  <name>Full</name>
                  <description>Transmit FIFO is full</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>NotFull</name>
                  <description>Transmit FIFO is not full</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TC</name>
              <description>TC</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TC</name>
                <enumeratedValue>
                  <name>TxNotComplete</name>
                  <description>Transmission is not complete</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TxComplete</name>
                  <description>Transmission is complete</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RXNE</name>
              <description>RXNE</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RXNE</name>
                <enumeratedValue>
                  <name>NoData</name>
                  <description>Data is not received</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DataReady</name>
                  <description>Received data is ready to be read</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>IDLE</name>
              <description>IDLE</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>IDLE</name>
                <enumeratedValue>
                  <name>NoIdle</name>
                  <description>No Idle Line is detected</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Idle</name>
                  <description>Idle Line is detected</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ORE</name>
              <description>ORE</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ORE</name>
                <enumeratedValue>
                  <name>NoOverrun</name>
                  <description>No Overrun error</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Overrun</name>
                  <description>Overrun error is detected</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>NF</name>
              <description>NF</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>NF</name>
                <enumeratedValue>
                  <name>NoNoise</name>
                  <description>No noise is detected</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Noise</name>
                  <description>Noise is detected</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FE</name>
              <description>FE</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>FE</name>
                <enumeratedValue>
                  <name>NoError</name>
                  <description>No Framing error is detected</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Error</name>
                  <description>Framing error or break character is detected</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PE</name>
              <description>PE</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>PE</name>
                <enumeratedValue>
                  <name>NoError</name>
                  <description>No parity error</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Error</name>
                  <description>Parity error</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>ICR</name>
          <displayName>ICR</displayName>
          <description>Interrupt flag clear register</description>
          <addressOffset>0x20</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>WUCF</name>
              <description>Wakeup from Stop mode clear
              flag</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>WUCF</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clears the WUF flag in the ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CMCF</name>
              <description>Character match clear flag</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>CMCF</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clears the CMF flag in the ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>UDRCF</name>
              <description>SPI slave underrun clear
              flag</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>UDRCF</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear the UDR flag in the ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EOBCF</name>
              <description>End of block clear flag</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>EOBCF</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clears the EOBF flag in the ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RTOCF</name>
              <description>Receiver timeout clear
              flag</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>RTOCF</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clears the RTOF flag in the ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CTSCF</name>
              <description>CTS clear flag</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>CTSCF</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clears the CTSIF flag in the ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LBDCF</name>
              <description>LIN break detection clear
              flag</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>LBDCF</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clears the LBDF flag in the ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TCBGTCF</name>
              <description>Transmission complete before Guard time
              clear flag</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>TCBGTCF</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear the TCBGT flag in the ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TCCF</name>
              <description>Transmission complete clear
              flag</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>TCCF</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clears the TC flag in the ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TXFECF</name>
              <description>TXFIFO empty clear flag</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>TXFECF</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear the TXFE flag in the ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>IDLECF</name>
              <description>Idle line detected clear
              flag</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>IDLECF</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clears the IDLE flag in the ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ORECF</name>
              <description>Overrun error clear flag</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>ORECF</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clears the ORE flag in the ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>NCF</name>
              <description>Noise detected clear flag</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>NCF</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clears the NF flag in the ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FECF</name>
              <description>Framing error clear flag</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>FECF</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clears the FE flag in the ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PECF</name>
              <description>Parity error clear flag</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>PECF</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clears the PE flag in the ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>RDR</name>
          <displayName>RDR</displayName>
          <description>Receive data register</description>
          <addressOffset>0x24</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>RDR</name>
              <description>Receive data value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>9</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>511</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>TDR</name>
          <displayName>TDR</displayName>
          <description>Transmit data register</description>
          <addressOffset>0x28</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TDR</name>
              <description>Transmit data value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>9</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>511</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>PRESC</name>
          <displayName>PRESC</displayName>
          <description>USART prescaler register</description>
          <addressOffset>0x2C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>PRESCALER</name>
              <description>Clock prescaler</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues>
                <name>PRESCALER</name>
                <enumeratedValue>
                  <name>Div1</name>
                  <description>Input clock divided by 1</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div2</name>
                  <description>Input clock divided by 2</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div4</name>
                  <description>Input clock divided by 4</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div6</name>
                  <description>Input clock divided by 6</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div8</name>
                  <description>Input clock divided by 8</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div10</name>
                  <description>Input clock divided by 10</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div12</name>
                  <description>Input clock divided by 12</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div16</name>
                  <description>Input clock divided by 16</description>
                  <value>7</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div32</name>
                  <description>Input clock divided by 32</description>
                  <value>8</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div64</name>
                  <description>Input clock divided by 64</description>
                  <value>9</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div128</name>
                  <description>Input clock divided by 128</description>
                  <value>10</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div256</name>
                  <description>Input clock divided by 256</description>
                  <value>11</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral derivedFrom="USART1">
      <name>USART2</name>
      <baseAddress>0x40004400</baseAddress>
      <interrupt>
        <name>USART2</name>
        <description>USART2 global interrupt</description>
        <value>38</value>
      </interrupt>
    </peripheral>
    <peripheral derivedFrom="USART1">
      <name>USART3</name>
      <baseAddress>0x40004800</baseAddress>
      <interrupt>
        <name>USART3</name>
        <description>USART3 global interrupt</description>
        <value>39</value>
      </interrupt>
    </peripheral>
    <peripheral derivedFrom="USART1">
      <name>UART4</name>
      <baseAddress>0x40004C00</baseAddress>
      <interrupt>
        <name>UART4</name>
        <description>UART4 global interrupt</description>
        <value>52</value>
      </interrupt>
    </peripheral>
    <peripheral derivedFrom="USART1">
      <name>UART5</name>
      <baseAddress>0x40005000</baseAddress>
      <interrupt>
        <name>UART5</name>
        <description>UART5 global interrupt</description>
        <value>53</value>
      </interrupt>
    </peripheral>
    <peripheral derivedFrom="USART1">
      <name>USART6</name>
      <baseAddress>0x40011400</baseAddress>
      <interrupt>
        <name>USART6</name>
        <description>USART6 global interrupt</description>
        <value>71</value>
      </interrupt>
    </peripheral>
    <peripheral derivedFrom="USART1">
      <name>UART7</name>
      <baseAddress>0x40007800</baseAddress>
      <interrupt>
        <name>UART7</name>
        <description>UART7 global interrupt</description>
        <value>82</value>
      </interrupt>
    </peripheral>
    <peripheral derivedFrom="USART1">
      <name>UART8</name>
      <baseAddress>0x40007C00</baseAddress>
      <interrupt>
        <name>UART8</name>
        <description>UART8 global interrupt</description>
        <value>83</value>
      </interrupt>
    </peripheral>
    <peripheral>
      <name>TIM1</name>
      <description>Advanced-timers</description>
      <groupName>TIM</groupName>
      <baseAddress>0x40010000</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>TIM1_BRK</name>
        <description>TIM1 break interrupt</description>
        <value>24</value>
      </interrupt>
      <interrupt>
        <name>TIM1_UP</name>
        <description>TIM1 update interrupt</description>
        <value>25</value>
      </interrupt>
      <interrupt>
        <name>TIM1_TRG_COM</name>
        <description>TIM1 trigger and commutation</description>
        <value>26</value>
      </interrupt>
      <interrupt>
        <name>TIM_CC</name>
        <description>TIM1 capture / compare</description>
        <value>27</value>
      </interrupt>
      <registers>
        <register>
          <name>CR1</name>
          <displayName>CR1</displayName>
          <description>control register 1</description>
          <addressOffset>0x0</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CEN</name>
              <description>Counter enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Counter disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Counter enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>UDIS</name>
              <description>Update disable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>UDIS</name>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Update event enabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Update event disabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>URS</name>
              <description>Update request source</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>URS</name>
                <enumeratedValue>
                  <name>AnyEvent</name>
                  <description>Any of counter overflow/underflow, setting UG, or update through slave mode, generates an update interrupt or DMA request</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CounterOnly</name>
                  <description>Only counter overflow/underflow generates an update interrupt or DMA request</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OPM</name>
              <description>One-pulse mode</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>OPM</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Counter is not stopped at update event</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Counter stops counting at the next update event (clearing the CEN bit)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIR</name>
              <description>Direction</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DIR</name>
                <enumeratedValue>
                  <name>Up</name>
                  <description>Counter used as upcounter</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Down</name>
                  <description>Counter used as downcounter</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CMS</name>
              <description>Center-aligned mode
              selection</description>
              <bitOffset>5</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>CMS</name>
                <enumeratedValue>
                  <name>EdgeAligned</name>
                  <description>The counter counts up or down depending on the direction bit</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CenterAligned1</name>
                  <description>The counter counts up and down alternatively. Output compare interrupt flags are set only when the counter is counting down.</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CenterAligned2</name>
                  <description>The counter counts up and down alternatively. Output compare interrupt flags are set only when the counter is counting up.</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CenterAligned3</name>
                  <description>The counter counts up and down alternatively. Output compare interrupt flags are set both when the counter is counting up or down.</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ARPE</name>
              <description>Auto-reload preload enable</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ARPE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>TIMx_APRR register is not buffered</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>TIMx_APRR register is buffered</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CKD</name>
              <description>Clock division</description>
              <bitOffset>8</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>CKD</name>
                <enumeratedValue>
                  <name>Div1</name>
                  <description>t_DTS = t_CK_INT</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div2</name>
                  <description>t_DTS = 2 × t_CK_INT</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div4</name>
                  <description>t_DTS = 4 × t_CK_INT</description>
                  <value>2</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>UIFREMAP</name>
              <description>UIF status bit remapping</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CR2</name>
          <displayName>CR2</displayName>
          <description>control register 2</description>
          <addressOffset>0x4</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>MMS2</name>
              <description>Master mode selection 2</description>
              <bitOffset>20</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <dim>6</dim>
              <dimIncrement>0x2</dimIncrement>
              <dimIndex>1-6</dimIndex>
              <name>OIS%s</name>
              <description>Output Idle state (OC%s output)</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>OIS1</name>
                <enumeratedValue>
                  <name>Reset</name>
                  <description>OCx=0 (after a dead-time if OCx(N) is implemented) when MOE=0</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Set</name>
                  <description>OCx=1 (after a dead-time if OCx(N) is implemented) when MOE=0</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>3</dim>
              <dimIncrement>0x2</dimIncrement>
              <dimIndex>1-3</dimIndex>
              <name>OIS%sN</name>
              <description>Output Idle state (OC%sN output)</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>OIS1N</name>
                <enumeratedValue>
                  <name>Reset</name>
                  <description>OCxN=0 after a dead-time when MOE=0</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Set</name>
                  <description>OCxN=1 after a dead-time when MOE=0</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TI1S</name>
              <description>TI1 selection</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TI1S</name>
                <enumeratedValue>
                  <name>Normal</name>
                  <description>The TIMx_CH1 pin is connected to TI1 input</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>XOR</name>
                  <description>The TIMx_CH1, CH2, CH3 pins are connected to TI1 input</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MMS</name>
              <description>Master mode selection</description>
              <bitOffset>4</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>MMS</name>
                <enumeratedValue>
                  <name>Reset</name>
                  <description>The UG bit from the TIMx_EGR register is used as trigger output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enable</name>
                  <description>The counter enable signal, CNT_EN, is used as trigger output</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Update</name>
                  <description>The update event is selected as trigger output</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ComparePulse</name>
                  <description>The trigger output send a positive pulse when the CC1IF flag it to be set, as soon as a capture or a compare match occurred</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CompareOC1</name>
                  <description>OC1REF signal is used as trigger output</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CompareOC2</name>
                  <description>OC2REF signal is used as trigger output</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CompareOC3</name>
                  <description>OC3REF signal is used as trigger output</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CompareOC4</name>
                  <description>OC4REF signal is used as trigger output</description>
                  <value>7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CCDS</name>
              <description>Capture/compare DMA
              selection</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CCDS</name>
                <enumeratedValue>
                  <name>OnCompare</name>
                  <description>CCx DMA request sent when CCx event occurs</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OnUpdate</name>
                  <description>CCx DMA request sent when update event occurs</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CCUS</name>
              <description>Capture/compare control update
              selection</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CCUS</name>
                <enumeratedValue>
                  <name>Sw</name>
                  <description>When capture/compare control bits are preloaded (CCPC=1), they are updated by setting the COMG bit only</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SwOrEdge</name>
                  <description>When capture/compare control bits are preloaded (CCPC=1), they are updated by setting the COMG bit or when an rising edge occurs on TRGI</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CCPC</name>
              <description>Capture/compare preloaded
              control</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CCPC</name>
                <enumeratedValue>
                  <name>NotPreloaded</name>
                  <description>CCxE, CCxNE and OCxM bits are not preloaded</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Preloaded</name>
                  <description>CCxE, CCxNE and OCxM bits are preloaded</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>SMCR</name>
          <displayName>SMCR</displayName>
          <description>slave mode control register</description>
          <addressOffset>0x8</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>SMS</name>
              <description>Slave mode selection</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>SMS</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Slave mode disabled - if CEN = ‘1 then the prescaler is clocked directly by the internal clock.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Encoder_Mode_1</name>
                  <description>Encoder mode 1 - Counter counts up/down on TI2FP1 edge depending on TI1FP2 level.</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Encoder_Mode_2</name>
                  <description>Encoder mode 2 - Counter counts up/down on TI1FP2 edge depending on TI2FP1 level.</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Encoder_Mode_3</name>
                  <description>Encoder mode 3 - Counter counts up/down on both TI1FP1 and TI2FP2 edges depending on the level of the other input.</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Reset_Mode</name>
                  <description>Reset Mode - Rising edge of the selected trigger input (TRGI) reinitializes the counter and generates an update of the registers.</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Gated_Mode</name>
                  <description>Gated Mode - The counter clock is enabled when the trigger input (TRGI) is high. The counter stops (but is not reset) as soon as the trigger becomes low. Both start and stop of the counter are controlled.</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Trigger_Mode</name>
                  <description>Trigger Mode - The counter starts at a rising edge of the trigger TRGI (but it is not reset). Only the start of the counter is controlled.</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Ext_Clock_Mode</name>
                  <description>External Clock Mode 1 - Rising edges of the selected trigger (TRGI) clock the counter.</description>
                  <value>7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TS</name>
              <description>Trigger selection</description>
              <bitOffset>4</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>TS</name>
                <enumeratedValue>
                  <name>ITR0</name>
                  <description>Internal Trigger 0 (ITR0)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ITR1</name>
                  <description>Internal Trigger 1 (ITR1)</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ITR2</name>
                  <description>Internal Trigger 2 (ITR2)</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TI1F_ED</name>
                  <description>TI1 Edge Detector (TI1F_ED)</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TI1FP1</name>
                  <description>Filtered Timer Input 1 (TI1FP1)</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TI2FP2</name>
                  <description>Filtered Timer Input 2 (TI2FP2)</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ETRF</name>
                  <description>External Trigger input (ETRF)</description>
                  <value>7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MSM</name>
              <description>Master/Slave mode</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>MSM</name>
                <enumeratedValue>
                  <name>NoSync</name>
                  <description>No action</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Sync</name>
                  <description>The effect of an event on the trigger input (TRGI) is delayed to allow a perfect synchronization between the current timer and its slaves (through TRGO). It is useful if we want to synchronize several timers on a single external event.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ETF</name>
              <description>External trigger filter</description>
              <bitOffset>8</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues>
                <name>ETF</name>
                <enumeratedValue>
                  <name>NoFilter</name>
                  <description>No filter, sampling is done at fDTS</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FCK_INT_N2</name>
                  <description>fSAMPLING=fCK_INT, N=2</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FCK_INT_N4</name>
                  <description>fSAMPLING=fCK_INT, N=4</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FCK_INT_N8</name>
                  <description>fSAMPLING=fCK_INT, N=8</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div2_N6</name>
                  <description>fSAMPLING=fDTS/2, N=6</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div2_N8</name>
                  <description>fSAMPLING=fDTS/2, N=8</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div4_N6</name>
                  <description>fSAMPLING=fDTS/4, N=6</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div4_N8</name>
                  <description>fSAMPLING=fDTS/4, N=8</description>
                  <value>7</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div8_N6</name>
                  <description>fSAMPLING=fDTS/8, N=6</description>
                  <value>8</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div8_N8</name>
                  <description>fSAMPLING=fDTS/8, N=8</description>
                  <value>9</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div16_N5</name>
                  <description>fSAMPLING=fDTS/16, N=5</description>
                  <value>10</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div16_N6</name>
                  <description>fSAMPLING=fDTS/16, N=6</description>
                  <value>11</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div16_N8</name>
                  <description>fSAMPLING=fDTS/16, N=8</description>
                  <value>12</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div32_N5</name>
                  <description>fSAMPLING=fDTS/32, N=5</description>
                  <value>13</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div32_N6</name>
                  <description>fSAMPLING=fDTS/32, N=6</description>
                  <value>14</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div32_N8</name>
                  <description>fSAMPLING=fDTS/32, N=8</description>
                  <value>15</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ETPS</name>
              <description>External trigger prescaler</description>
              <bitOffset>12</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>ETPS</name>
                <enumeratedValue>
                  <name>Div1</name>
                  <description>Prescaler OFF</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div2</name>
                  <description>ETRP frequency divided by 2</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div4</name>
                  <description>ETRP frequency divided by 4</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div8</name>
                  <description>ETRP frequency divided by 8</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ECE</name>
              <description>External clock enable</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ECE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>External clock mode 2 disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>External clock mode 2 enabled. The counter is clocked by any active edge on the ETRF signal.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ETP</name>
              <description>External trigger polarity</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ETP</name>
                <enumeratedValue>
                  <name>NotInverted</name>
                  <description>ETR is noninverted, active at high level or rising edge</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Inverted</name>
                  <description>ETR is inverted, active at low level or falling edge</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SMS_3</name>
              <description>Slave mode selection - bit
              3</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TS2</name>
              <description>Trigger selection - bit
              4:3</description>
              <bitOffset>20</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DIER</name>
          <displayName>DIER</displayName>
          <description>DMA/Interrupt enable register</description>
          <addressOffset>0xC</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TDE</name>
              <description>Trigger DMA request enable</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TDE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Trigger DMA request disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Trigger DMA request enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>COMDE</name>
              <description>COM DMA request enable</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>COMDE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>COM DMA request disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>COM DMA request enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>4</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-4</dimIndex>
              <name>CC%sDE</name>
              <description>Capture/Compare %s DMA request enable</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CC1DE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>CCx DMA request disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>CCx DMA request enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>UDE</name>
              <description>Update DMA request enable</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>UDE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Update DMA request disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Update DMA request enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TIE</name>
              <description>Trigger interrupt enable</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Trigger interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Trigger interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>4</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-4</dimIndex>
              <name>CC%sIE</name>
              <description>Capture/Compare %s interrupt enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CC1IE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>CCx interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>CCx interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>UIE</name>
              <description>Update interrupt enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>UIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Update interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Update interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BIE</name>
              <description>Break interrupt enable</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>BIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Break interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Break interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>COMIE</name>
              <description>COM interrupt enable</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>COMIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>COM interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>COM interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>SR</name>
          <displayName>SR</displayName>
          <description>status register</description>
          <addressOffset>0x10</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>4</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-4</dimIndex>
              <name>CC%sIF</name>
              <description>Capture/compare %s interrupt flag</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>zeroToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>CC1IFR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoMatch</name>
                  <description>No campture/compare has been detected</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Match</name>
                  <description>If CC1 is an output: The content of the counter TIMx_CNT matches the content of the TIMx_CCR1 register. If CC1 is an input: The counter value has been captured in TIMx_CCR1 register.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>CC1IFW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear flag</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CC6IF</name>
              <description>Compare 6 interrupt flag</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>zeroToClear</modifiedWriteValues>
              <enumeratedValues derivedFrom="CC1IFR">
                <usage>read</usage>
              </enumeratedValues>
              <enumeratedValues derivedFrom="CC1IFW">
                <usage>write</usage>
              </enumeratedValues>
            </field>
            <field>
              <name>CC5IF</name>
              <description>Compare 5 interrupt flag</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>zeroToClear</modifiedWriteValues>
              <enumeratedValues derivedFrom="CC1IFR">
                <usage>read</usage>
              </enumeratedValues>
              <enumeratedValues derivedFrom="CC1IFW">
                <usage>write</usage>
              </enumeratedValues>
            </field>
            <field>
              <name>SBIF</name>
              <description>System Break interrupt
              flag</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>zeroToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>SBIFR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoTrigger</name>
                  <description>No break event occurred</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Trigger</name>
                  <description>An active level has been detected on the system break input. An interrupt is generated if BIE=1 in the TIMx_DIER register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>SBIFW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear flag</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>4</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-4</dimIndex>
              <name>CC%sOF</name>
              <description>Capture/Compare %s overcapture flag</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>zeroToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>CC1OFR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoOvercapture</name>
                  <description>No overcapture has been detected</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Overcapture</name>
                  <description>The counter value has been captured in TIMx_CCRx register while CCxIF flag was already set</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>CC1OFW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear flag</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>B2IF</name>
              <description>Break 2 interrupt flag</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>zeroToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>B2IFR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoTrigger</name>
                  <description>No break event occurred</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Trigger</name>
                  <description>An active level has been detected on the break 2 input. An interrupt is generated if BIE=1 in the TIMx_DIER register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>B2IFW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear flag</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BIF</name>
              <description>Break interrupt flag</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>zeroToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>BIFR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoTrigger</name>
                  <description>No break event occurred</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Trigger</name>
                  <description>An active level has been detected on the break input. An interrupt is generated if BIE=1 in the TIMx_DIER register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>BIFW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear flag</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TIF</name>
              <description>Trigger interrupt flag</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>zeroToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>TIFR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoTrigger</name>
                  <description>No trigger event occurred</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Trigger</name>
                  <description>Trigger interrupt pending</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>TIFW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear flag</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>COMIF</name>
              <description>COM interrupt flag</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>zeroToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>COMIFR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoCOM</name>
                  <description>No COM event occurred</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>COM</name>
                  <description>COM interrupt pending</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>COMIFW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear flag</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>UIF</name>
              <description>Update interrupt flag</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>zeroToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>UIFR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoUpdateOccurred</name>
                  <description>No update occurred</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>UpdatePending</name>
                  <description>Update interrupt pending</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>UIFW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear flag</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>EGR</name>
          <displayName>EGR</displayName>
          <description>event generation register</description>
          <addressOffset>0x14</addressOffset>
          <size>0x10</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>UG</name>
              <description>Update generation</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>UG</name>
                <enumeratedValue>
                  <name>Update</name>
                  <description>Re-initializes the timer counter and generates an update of the registers.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>4</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-4</dimIndex>
              <name>CC%sG</name>
              <description>Capture/compare %s generation</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CC1GW</name>
                <enumeratedValue>
                  <name>Trigger</name>
                  <description>If CC1 is an output: CC1IF flag is set, Corresponding interrupt or DMA request is sent if enabled. If CC1 is an input: The current value of the counter is captured in TIMx_CCR1 register.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>COMG</name>
              <description>Capture/Compare control update
              generation</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>COMGW</name>
                <enumeratedValue>
                  <name>Trigger</name>
                  <description>When CCPC bit is set, it allows CCxE, CCxNE and OCxM bits to be updated</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TG</name>
              <description>Trigger generation</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TGW</name>
                <enumeratedValue>
                  <name>Trigger</name>
                  <description>The TIF flag is set in TIMx_SR register. Related interrupt or DMA transfer can occur if enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BG</name>
              <description>Break generation</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>BGW</name>
                <enumeratedValue>
                  <name>Trigger</name>
                  <description>A break event is generated. MOE bit is cleared and BIF flag is set. Related interrupt or DMA transfer can occur if enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>B2G</name>
              <description>Break 2 generation</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>B2GW</name>
                <enumeratedValue>
                  <name>Trigger</name>
                  <description>A break 2 event is generated. MOE bit is cleared and B2IF flag is set. Related interrupt can occur if enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CCMR1_Output</name>
          <displayName>CCMR1_Output</displayName>
          <description>capture/compare mode register 1 (output
          mode)</description>
          <addressOffset>0x18</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>2</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>CC%sS</name>
              <description>Capture/Compare %s selection</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>CC1S</name>
                <enumeratedValue>
                  <name>Output</name>
                  <description>CCx channel is configured as output</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>2</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>OC%sFE</name>
              <description>Output compare %s fast enable</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>OC1FE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Fast output disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Fast output enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>2</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>OC%sPE</name>
              <description>Output compare %s preload enable</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>OC1PE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Preload register on CCRx disabled. New values written to CCRx are taken into account immediately</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Preload register on CCRx enabled. Preload value is loaded into active register on each update event</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>2</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>OC%sM</name>
              <description>Output compare %s mode</description>
              <bitOffset>4</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>OC1M</name>
                <enumeratedValue>
                  <name>Frozen</name>
                  <description>The comparison between the output compare register TIMx_CCRy and the counter TIMx_CNT has no effect on the outputs / OpmMode1: Retriggerable OPM mode 1 - In up-counting mode, the channel is active until a trigger event is detected (on TRGI signal). In down-counting mode, the channel is inactive</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ActiveOnMatch</name>
                  <description>Set channel to active level on match. OCyREF signal is forced high when the counter matches the capture/compare register / OpmMode2: Inversely to OpmMode1</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>InactiveOnMatch</name>
                  <description>Set channel to inactive level on match. OCyREF signal is forced low when the counter matches the capture/compare register / Reserved</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Toggle</name>
                  <description>OCyREF toggles when TIMx_CNT=TIMx_CCRy / Reserved</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ForceInactive</name>
                  <description>OCyREF is forced low / CombinedPwmMode1: OCyREF has the same behavior as in PWM mode 1. OCyREFC is the logical OR between OC1REF and OC2REF</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ForceActive</name>
                  <description>OCyREF is forced high / CombinedPwmMode2: OCyREF has the same behavior as in PWM mode 2. OCyREFC is the logical AND between OC1REF and OC2REF</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PwmMode1</name>
                  <description>In upcounting, channel is active as long as TIMx_CNT&lt;TIMx_CCRy else inactive. In downcounting, channel is inactive as long as TIMx_CNT&gt;TIMx_CCRy else active / AsymmetricPwmMode1: OCyREF has the same behavior as in PWM mode 1. OCyREFC outputs OC1REF when the counter is counting up, OC2REF when it is counting down</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PwmMode2</name>
                  <description>Inversely to PwmMode1 / AsymmetricPwmMode2: Inversely to AsymmetricPwmMode1</description>
                  <value>7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>2</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>OC%sCE</name>
              <description>Output compare %s clear enable</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>OC1CE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>OCxRef is not affected by the ETRF signal</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>OCxRef is cleared as soon as a High level is detected on ETRF signal</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>2</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>OC%sM_3</name>
              <description>Output compare %s mode, bit 3</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>OC1M_3</name>
                <enumeratedValue>
                  <name>Normal</name>
                  <description>Normal output compare mode (modes 0-7)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Extended</name>
                  <description>Extended output compare mode (modes 7-15)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CCMR1_Input</name>
          <displayName>CCMR1_Input</displayName>
          <description>capture/compare mode register 1 (input
          mode)</description>
          <alternateRegister>CCMR1_Output</alternateRegister>
          <addressOffset>0x18</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>2</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>IC%sF</name>
              <description>Input capture %s filter</description>
              <bitOffset>4</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues>
                <name>ICFilter</name>
                <enumeratedValue>
                  <name>NoFilter</name>
                  <description>No filter, sampling is done at fDTS</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FCK_INT_N2</name>
                  <description>fSAMPLING=fCK_INT, N=2</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FCK_INT_N4</name>
                  <description>fSAMPLING=fCK_INT, N=4</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FCK_INT_N8</name>
                  <description>fSAMPLING=fCK_INT, N=8</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div2_N6</name>
                  <description>fSAMPLING=fDTS/2, N=6</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div2_N8</name>
                  <description>fSAMPLING=fDTS/2, N=8</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div4_N6</name>
                  <description>fSAMPLING=fDTS/4, N=6</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div4_N8</name>
                  <description>fSAMPLING=fDTS/4, N=8</description>
                  <value>7</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div8_N6</name>
                  <description>fSAMPLING=fDTS/8, N=6</description>
                  <value>8</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div8_N8</name>
                  <description>fSAMPLING=fDTS/8, N=8</description>
                  <value>9</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div16_N5</name>
                  <description>fSAMPLING=fDTS/16, N=5</description>
                  <value>10</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div16_N6</name>
                  <description>fSAMPLING=fDTS/16, N=6</description>
                  <value>11</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div16_N8</name>
                  <description>fSAMPLING=fDTS/16, N=8</description>
                  <value>12</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div32_N5</name>
                  <description>fSAMPLING=fDTS/32, N=5</description>
                  <value>13</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div32_N6</name>
                  <description>fSAMPLING=fDTS/32, N=6</description>
                  <value>14</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div32_N8</name>
                  <description>fSAMPLING=fDTS/32, N=8</description>
                  <value>15</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>2</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>IC%sPSC</name>
              <description>Input capture %s prescaler</description>
              <bitOffset>2</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>ICPrescaler</name>
                <enumeratedValue>
                  <name>NoPrescaler</name>
                  <description>No prescaler, capture is done each time an edge is detected on the capture input</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TwoEvents</name>
                  <description>Capture is done once every 2 events</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FourEvents</name>
                  <description>Capture is done once every 4 events</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>EightEvents</name>
                  <description>Capture is done once every 8 events</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CC2S</name>
              <description>Capture/Compare 2
              selection</description>
              <bitOffset>8</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>CC2S</name>
                <enumeratedValue>
                  <name>TI2</name>
                  <description>CC2 channel is configured as input, IC2 is mapped on TI2</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TI1</name>
                  <description>CC2 channel is configured as input, IC2 is mapped on TI1</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TRC</name>
                  <description>CC2 channel is configured as input, IC2 is mapped on TRC</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CC1S</name>
              <description>Capture/Compare 1
              selection</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>CC1S</name>
                <enumeratedValue>
                  <name>TI1</name>
                  <description>CC1 channel is configured as input, IC1 is mapped on TI1</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TI2</name>
                  <description>CC1 channel is configured as input, IC1 is mapped on TI2</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TRC</name>
                  <description>CC1 channel is configured as input, IC1 is mapped on TRC</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CCMR2_Output</name>
          <displayName>CCMR2_Output</displayName>
          <description>capture/compare mode register 2 (output
          mode)</description>
          <addressOffset>0x1C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field derivedFrom="TIM1.CCMR1_Output.CC%sS">
              <dim>2</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>3-4</dimIndex>
              <name>CC%sS</name>
              <description>Capture/Compare %s selection</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field derivedFrom="TIM1.CCMR1_Output.OC%sFE">
              <dim>2</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>3-4</dimIndex>
              <name>OC%sFE</name>
              <description>Output compare %s fast enable</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="TIM1.CCMR1_Output.OC%sPE">
              <dim>2</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>3-4</dimIndex>
              <name>OC%sPE</name>
              <description>Output compare %s preload enable</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="TIM1.CCMR1_Output.OC%sM">
              <dim>2</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>3-4</dimIndex>
              <name>OC%sM</name>
              <description>Output compare %s mode</description>
              <bitOffset>4</bitOffset>
              <bitWidth>3</bitWidth>
            </field>
            <field derivedFrom="TIM1.CCMR1_Output.OC%sCE">
              <dim>2</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>3-4</dimIndex>
              <name>OC%sCE</name>
              <description>Output compare %s clear enable</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="TIM1.CCMR1_Output.OC%sM_3">
              <dim>2</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>3-4</dimIndex>
              <name>OC%sM_3</name>
              <description>Output compare %s mode, bit 3</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CCMR2_Input</name>
          <displayName>CCMR2_Input</displayName>
          <description>capture/compare mode register 2 (input
          mode)</description>
          <alternateRegister>CCMR2_Output</alternateRegister>
          <addressOffset>0x1C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field derivedFrom="TIM1.CCMR1_Input.IC%sF">
              <dim>2</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>3-4</dimIndex>
              <name>IC%sF</name>
              <description>Input capture %s filter</description>
              <bitOffset>4</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field derivedFrom="TIM1.CCMR1_Input.IC%sPSC">
              <dim>2</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>3-4</dimIndex>
              <name>IC%sPSC</name>
              <description>Input capture %s prescaler</description>
              <bitOffset>2</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>CC4S</name>
              <description>Capture/Compare 4
              selection</description>
              <bitOffset>8</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>CC4S</name>
                <enumeratedValue>
                  <name>TI4</name>
                  <description>CC4 channel is configured as input, IC4 is mapped on TI4</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TI3</name>
                  <description>CC4 channel is configured as input, IC4 is mapped on TI3</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TRC</name>
                  <description>CC4 channel is configured as input, IC4 is mapped on TRC</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CC3S</name>
              <description>Capture/compare 3
              selection</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>CC3S</name>
                <enumeratedValue>
                  <name>TI3</name>
                  <description>CC3 channel is configured as input, IC3 is mapped on TI3</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TI4</name>
                  <description>CC3 channel is configured as input, IC3 is mapped on TI4</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TRC</name>
                  <description>CC3 channel is configured as input, IC3 is mapped on TRC</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CCER</name>
          <displayName>CCER</displayName>
          <description>capture/compare enable
          register</description>
          <addressOffset>0x20</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>6</dim>
              <dimIncrement>0x4</dimIncrement>
              <dimIndex>1-6</dimIndex>
              <name>CC%sE</name>
              <description>Capture/Compare %s output enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CC1E</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Capture disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Capture enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>6</dim>
              <dimIncrement>0x4</dimIncrement>
              <dimIndex>1-6</dimIndex>
              <name>CC%sP</name>
              <description>Capture/Compare %s output Polarity</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CC1P</name>
                <enumeratedValue>
                  <name>RisingEdge</name>
                  <description>Noninverted/rising edge</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FallingEdge</name>
                  <description>Inverted/falling edge</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>3</dim>
              <dimIncrement>0x4</dimIncrement>
              <dimIndex>1-3</dimIndex>
              <name>CC%sNE</name>
              <description>Capture/Compare %s complementary output enable</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CC1NE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Complementary output disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Complementary output enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>4</dim>
              <dimIncrement>0x4</dimIncrement>
              <dimIndex>1-4</dimIndex>
              <name>CC%sNP</name>
              <description>Capture/Compare %s output Polarity</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CC1NP</name>
                <enumeratedValue>
                  <name>ActiveHigh</name>
                  <description>OCxN active high</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ActiveLow</name>
                  <description>OCxN active low</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CNT</name>
          <displayName>CNT</displayName>
          <description>counter</description>
          <addressOffset>0x24</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CNT</name>
              <description>counter value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-write</access>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>UIFCPY</name>
              <description>UIF copy</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>CNT16</name>
          <displayName>CNT16</displayName>
          <description>16-bit counter register</description>
          <alternateRegister>CNT</alternateRegister>
          <addressOffset>0x24</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CNT</name>
              <description>counter value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-write</access>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>PSC</name>
          <displayName>PSC</displayName>
          <description>prescaler</description>
          <addressOffset>0x28</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>PSC</name>
              <description>Prescaler value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>ARR</name>
          <displayName>ARR</displayName>
          <description>auto-reload register</description>
          <addressOffset>0x2C</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x0000FFFF</resetValue>
          <fields>
            <field>
              <name>ARR</name>
              <description>Auto-reload value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <dim>4</dim>
          <dimIncrement>0x4</dimIncrement>
          <dimIndex>1-4</dimIndex>
          <name>CCR%s</name>
          <displayName>CCR%s</displayName>
          <description>capture/compare register</description>
          <addressOffset>0x34</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CCR</name>
              <description>Capture/Compare value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>DCR</name>
          <displayName>DCR</displayName>
          <description>DMA control register</description>
          <addressOffset>0x48</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DBL</name>
              <description>DMA burst length</description>
              <bitOffset>8</bitOffset>
              <bitWidth>5</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>18</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>DBA</name>
              <description>DMA base address</description>
              <bitOffset>0</bitOffset>
              <bitWidth>5</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>31</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>DMAR</name>
          <displayName>DMAR</displayName>
          <description>DMA address for full transfer</description>
          <addressOffset>0x4C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DMAB</name>
              <description>DMA register for burst
              accesses</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>RCR</name>
          <displayName>RCR</displayName>
          <description>repetition counter register</description>
          <addressOffset>0x30</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>REP</name>
              <description>Repetition counter value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>BDTR</name>
          <displayName>BDTR</displayName>
          <description>break and dead-time register</description>
          <addressOffset>0x44</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DTG</name>
              <description>Dead-time generator setup</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>LOCK</name>
              <description>Lock configuration</description>
              <bitOffset>8</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>LOCK</name>
                <enumeratedValue>
                  <name>Off</name>
                  <description>No bit is write protected</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Level1</name>
                  <description>Any bits except MOE, OSSR, OSSI and LOCK in TIMx_BDTR register, OISx and OISxN bits in TIMx_CR2 register can no longer be written</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Level2</name>
                  <description>LOCK Level 1 + CC Polarity bits (CCxP/CCxNP bits in TIMx_CCER register, as long as the related channel is configured in output through the CCxS bits) as well as OSSR and OSSI bits can no longer be written</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Level3</name>
                  <description>LOCK Level 2 + CC Control bits (OCxM and OCxPE bits in TIMx_CCMRx registers, as long as the related channel is configured in output through the CCxS bits) can no longer be written</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OSSI</name>
              <description>Off-state selection for Idle
              mode</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>OSSI</name>
                <enumeratedValue>
                  <name>HiZ</name>
                  <description>When inactive, OC/OCN outputs are disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>IdleLevel</name>
                  <description>When inactive, OC/OCN outputs are forced to idle level</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OSSR</name>
              <description>Off-state selection for Run
              mode</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>OSSR</name>
                <enumeratedValue>
                  <name>HiZ</name>
                  <description>When inactive, OC/OCN outputs are disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>IdleLevel</name>
                  <description>When inactive, OC/OCN outputs are enabled with their inactive level</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BKE</name>
              <description>Break enable</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>BKE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Break function x disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Break function x enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BKP</name>
              <description>Break polarity</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>BKP</name>
                <enumeratedValue>
                  <name>ActiveLow</name>
                  <description>Break input BRKx is active low</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ActiveHigh</name>
                  <description>Break input BRKx is active high</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>AOE</name>
              <description>Automatic output enable</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>AOE</name>
                <enumeratedValue>
                  <name>Manual</name>
                  <description>MOE can be set only by software</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Automatic</name>
                  <description>MOE can be set by software or automatically at the next update event (if none of the break inputs BRK and BRK2 is active)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MOE</name>
              <description>Main output enable</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>MOE</name>
                <enumeratedValue>
                  <name>DisabledIdle</name>
                  <description>OC/OCN are disabled or forced idle depending on OSSI</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>OC/OCN are enabled if CCxE/CCxNE are set</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BKF</name>
              <description>Break filter</description>
              <bitOffset>16</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>BK2F</name>
              <description>Break 2 filter</description>
              <bitOffset>20</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>BK2E</name>
              <description>Break 2 enable</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="BKE"/>
            </field>
            <field>
              <name>BK2P</name>
              <description>Break 2 polarity</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="BKP"/>
            </field>
          </fields>
        </register>
        <register>
          <name>CCMR3_Output</name>
          <displayName>CCMR3_Output</displayName>
          <description>capture/compare mode register 3 (output
          mode)</description>
          <addressOffset>0x54</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field derivedFrom="TIM1.CCMR1_Output.OC%sFE">
              <dim>2</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>5-6</dimIndex>
              <name>OC%sFE</name>
              <description>Output compare %s fast enable</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="TIM1.CCMR1_Output.OC%sPE">
              <dim>2</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>5-6</dimIndex>
              <name>OC%sPE</name>
              <description>Output compare %s preload enable</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="TIM1.CCMR1_Output.OC%sM">
              <dim>2</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>5-6</dimIndex>
              <name>OC%sM</name>
              <description>Output compare %s mode</description>
              <bitOffset>4</bitOffset>
              <bitWidth>3</bitWidth>
            </field>
            <field derivedFrom="TIM1.CCMR1_Output.OC%sCE">
              <dim>2</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>5-6</dimIndex>
              <name>OC%sCE</name>
              <description>Output compare %s clear enable</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="TIM1.CCMR1_Output.OC%sM_3">
              <dim>2</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>5-6</dimIndex>
              <name>OC%sM_3</name>
              <description>Output compare %s mode, bit 3</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CCR5</name>
          <displayName>CCR5</displayName>
          <description>capture/compare register</description>
          <addressOffset>0x58</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CCR</name>
              <description>Capture/Compare value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>GC5C1</name>
              <description>Group Channel 5 and Channel
              1</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>GC5C2</name>
              <description>Group Channel 5 and Channel
              2</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>GC5C3</name>
              <description>Group Channel 5 and Channel
              3</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CCR6</name>
          <displayName>CCR6</displayName>
          <description>capture/compare register</description>
          <addressOffset>0x5C</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CCR</name>
              <description>Capture/Compare value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>AF1</name>
          <displayName>AF1</displayName>
          <description>TIM1 alternate function option register
          1</description>
          <addressOffset>0x60</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>BKINE</name>
              <description>BRK BKIN input enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>BKCMP1E</name>
              <description>BRK COMP1 enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>BKCMP2E</name>
              <description>BRK COMP2 enable</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>BKDF1BK0E</name>
              <description>BRK dfsdm1_break[0] enable</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>BKINP</name>
              <description>BRK BKIN input polarity</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>BKCMP1P</name>
              <description>BRK COMP1 input polarity</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>BKCMP2P</name>
              <description>BRK COMP2 input polarity</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ETRSEL</name>
              <description>ETR source selection</description>
              <bitOffset>14</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>AF2</name>
          <displayName>AF2</displayName>
          <description>TIM1 Alternate function odfsdm1_breakster
          2</description>
          <addressOffset>0x64</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>BK2INE</name>
              <description>BRK2 BKIN input enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>BK2CMP1E</name>
              <description>BRK2 COMP1 enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>BK2CMP2E</name>
              <description>BRK2 COMP2 enable</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>BK2DF1BK1E</name>
              <description>BRK2 dfsdm1_break[1]
              enable</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>BK2INP</name>
              <description>BRK2 BKIN2 input polarity</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>BK2CMP1P</name>
              <description>BRK2 COMP1 input polarit</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>BK2CMP2P</name>
              <description>BRK2 COMP2 input polarity</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>TISEL</name>
          <displayName>TISEL</displayName>
          <description>TIM1 timer input selection
          register</description>
          <addressOffset>0x68</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TI1SEL</name>
              <description>selects TI1[0] to TI1[15]
              input</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>TI2SEL</name>
              <description>selects TI2[0] to TI2[15]
              input</description>
              <bitOffset>8</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>TI3SEL</name>
              <description>selects TI3[0] to TI3[15]
              input</description>
              <bitOffset>16</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>TI4SEL</name>
              <description>selects TI4[0] to TI4[15]
              input</description>
              <bitOffset>24</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral derivedFrom="TIM1">
      <name>TIM8</name>
      <groupName>TIM</groupName>
      <baseAddress>0x40010400</baseAddress>
      <interrupt>
        <name>TIM8_BRK_TIM12</name>
        <description>TIM8 and 12 break global</description>
        <value>43</value>
      </interrupt>
      <interrupt>
        <name>TIM8_UP_TIM13</name>
        <description>TIM8 and 13 update global</description>
        <value>44</value>
      </interrupt>
      <interrupt>
        <name>TIM8_TRG_COM_TIM14</name>
        <description>TIM8 and 14 trigger /commutation and
        global</description>
        <value>45</value>
      </interrupt>
      <interrupt>
        <name>TIM8_CC</name>
        <description>TIM8 capture / compare</description>
        <value>46</value>
      </interrupt>
    </peripheral>
    <peripheral>
      <name>FDCAN1</name>
      <description>FDCAN1</description>
      <groupName>FDCAN</groupName>
      <baseAddress>0x4000A000</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>FDCAN1_IT0</name>
        <description>FDCAN1 Interrupt 0</description>
        <value>19</value>
      </interrupt>
      <interrupt>
        <name>FDCAN1_IT1</name>
        <description>FDCAN1 Interrupt 1</description>
        <value>21</value>
      </interrupt>
      <registers>
        <register>
          <name>CREL</name>
          <displayName>CREL</displayName>
          <description>FDCAN Core Release Register</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>REL</name>
              <description>Core release</description>
              <bitOffset>28</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>STEP</name>
              <description>Step of Core release</description>
              <bitOffset>24</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>SUBSTEP</name>
              <description>Sub-step of Core release</description>
              <bitOffset>20</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>YEAR</name>
              <description>Timestamp Year</description>
              <bitOffset>16</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>MON</name>
              <description>Timestamp Month</description>
              <bitOffset>8</bitOffset>
              <bitWidth>8</bitWidth>
            </field>
            <field>
              <name>DAY</name>
              <description>Timestamp Day</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>ENDN</name>
          <displayName>ENDN</displayName>
          <description>FDCAN Core Release Register</description>
          <addressOffset>0x4</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>ETV</name>
              <description>Endiannes Test Value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DBTP</name>
          <displayName>DBTP</displayName>
          <description>FDCAN Data Bit Timing and Prescaler
          Register</description>
          <addressOffset>0xC</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DSJW</name>
              <description>Synchronization Jump Width</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>DTSEG2</name>
              <description>Data time segment after sample
              point</description>
              <bitOffset>4</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>DTSEG1</name>
              <description>Data time segment after sample
              point</description>
              <bitOffset>8</bitOffset>
              <bitWidth>5</bitWidth>
            </field>
            <field>
              <name>DBRP</name>
              <description>Data BIt Rate Prescaler</description>
              <bitOffset>16</bitOffset>
              <bitWidth>5</bitWidth>
            </field>
            <field>
              <name>TDC</name>
              <description>Transceiver Delay
              Compensation</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>TEST</name>
          <displayName>TEST</displayName>
          <description>FDCAN Test Register</description>
          <addressOffset>0x10</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>LBCK</name>
              <description>Loop Back mode</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TX</name>
              <description>Loop Back mode</description>
              <bitOffset>5</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>RX</name>
              <description>Control of Transmit Pin</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>RWD</name>
          <displayName>RWD</displayName>
          <description>FDCAN RAM Watchdog Register</description>
          <addressOffset>0x14</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>WDV</name>
              <description>Watchdog value</description>
              <bitOffset>8</bitOffset>
              <bitWidth>8</bitWidth>
            </field>
            <field>
              <name>WDC</name>
              <description>Watchdog configuration</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>CCCR</name>
          <displayName>CCCR</displayName>
          <description>FDCAN CC Control Register</description>
          <addressOffset>0x18</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>INIT</name>
              <description>Initialization</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CCE</name>
              <description>Configuration Change
              Enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ASM</name>
              <description>ASM Restricted Operation
              Mode</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CSA</name>
              <description>Clock Stop Acknowledge</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CSR</name>
              <description>Clock Stop Request</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>MON</name>
              <description>Bus Monitoring Mode</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DAR</name>
              <description>Disable Automatic
              Retransmission</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TEST</name>
              <description>Test Mode Enable</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>FDOE</name>
              <description>FD Operation Enable</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>BSE</name>
              <description>FDCAN Bit Rate Switching</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>PXHD</name>
              <description>Protocol Exception Handling
              Disable</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>EFBI</name>
              <description>Edge Filtering during Bus
              Integration</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TXP</name>
              <description>TXP</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>NISO</name>
              <description>Non ISO Operation</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>NBTP</name>
          <displayName>NBTP</displayName>
          <description>FDCAN Nominal Bit Timing and Prescaler
          Register</description>
          <addressOffset>0x1C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>NSJW</name>
              <description>NSJW: Nominal (Re)Synchronization Jump
              Width</description>
              <bitOffset>25</bitOffset>
              <bitWidth>7</bitWidth>
            </field>
            <field>
              <name>NBRP</name>
              <description>Bit Rate Prescaler</description>
              <bitOffset>16</bitOffset>
              <bitWidth>9</bitWidth>
            </field>
            <field>
              <name>NTSEG1</name>
              <description>Nominal Time segment before sample
              point</description>
              <bitOffset>8</bitOffset>
              <bitWidth>8</bitWidth>
            </field>
            <field>
              <name>NTSEG2</name>
              <description>Nominal Time segment after sample
              point</description>
              <bitOffset>0</bitOffset>
              <bitWidth>7</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>TSCC</name>
          <displayName>TSCC</displayName>
          <description>FDCAN Timestamp Counter Configuration
          Register</description>
          <addressOffset>0x20</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TCP</name>
              <description>Timestamp Counter
              Prescaler</description>
              <bitOffset>16</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>TSS</name>
              <description>Timestamp Select</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>TSCV</name>
          <displayName>TSCV</displayName>
          <description>FDCAN Timestamp Counter Value
          Register</description>
          <addressOffset>0x24</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TSC</name>
              <description>Timestamp Counter</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>TOCC</name>
          <displayName>TOCC</displayName>
          <description>FDCAN Timeout Counter Configuration
          Register</description>
          <addressOffset>0x28</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>ETOC</name>
              <description>Enable Timeout Counter</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TOS</name>
              <description>Timeout Select</description>
              <bitOffset>1</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>TOP</name>
              <description>Timeout Period</description>
              <bitOffset>16</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>TOCV</name>
          <displayName>TOCV</displayName>
          <description>FDCAN Timeout Counter Value
          Register</description>
          <addressOffset>0x2C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TOC</name>
              <description>Timeout Counter</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>ECR</name>
          <displayName>ECR</displayName>
          <description>FDCAN Error Counter Register</description>
          <addressOffset>0x40</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CEL</name>
              <description>AN Error Logging</description>
              <bitOffset>16</bitOffset>
              <bitWidth>8</bitWidth>
            </field>
            <field>
              <name>RP</name>
              <description>Receive Error Passive</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>REC</name>
              <description>Receive Error Counter</description>
              <bitOffset>8</bitOffset>
              <bitWidth>7</bitWidth>
            </field>
            <field>
              <name>TEC</name>
              <description>Transmit Error Counter</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>PSR</name>
          <displayName>PSR</displayName>
          <description>FDCAN Protocol Status Register</description>
          <addressOffset>0x44</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>LEC</name>
              <description>Last Error Code</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
            </field>
            <field>
              <name>ACT</name>
              <description>Activity</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>EP</name>
              <description>Error Passive</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>EW</name>
              <description>Warning Status</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>BO</name>
              <description>Bus_Off Status</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DLEC</name>
              <description>Data Last Error Code</description>
              <bitOffset>8</bitOffset>
              <bitWidth>3</bitWidth>
            </field>
            <field>
              <name>RESI</name>
              <description>ESI flag of last received FDCAN
              Message</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RBRS</name>
              <description>BRS flag of last received FDCAN
              Message</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>REDL</name>
              <description>Received FDCAN Message</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>PXE</name>
              <description>Protocol Exception Event</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TDCV</name>
              <description>Transmitter Delay Compensation
              Value</description>
              <bitOffset>16</bitOffset>
              <bitWidth>7</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>TDCR</name>
          <displayName>TDCR</displayName>
          <description>FDCAN Transmitter Delay Compensation
          Register</description>
          <addressOffset>0x48</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TDCF</name>
              <description>Transmitter Delay Compensation Filter
              Window Length</description>
              <bitOffset>0</bitOffset>
              <bitWidth>7</bitWidth>
            </field>
            <field>
              <name>TDCO</name>
              <description>Transmitter Delay Compensation
              Offset</description>
              <bitOffset>8</bitOffset>
              <bitWidth>7</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>IR</name>
          <displayName>IR</displayName>
          <description>FDCAN Interrupt Register</description>
          <addressOffset>0x50</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>RF0N</name>
              <description>Rx FIFO 0 New Message</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RF0W</name>
              <description>Rx FIFO 0 Full</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RF0F</name>
              <description>Rx FIFO 0 Full</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RF0L</name>
              <description>Rx FIFO 0 Message Lost</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RF1N</name>
              <description>Rx FIFO 1 New Message</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RF1W</name>
              <description>Rx FIFO 1 Watermark
              Reached</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RF1F</name>
              <description>Rx FIFO 1 Watermark
              Reached</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RF1L</name>
              <description>Rx FIFO 1 Message Lost</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>HPM</name>
              <description>High Priority Message</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TC</name>
              <description>Transmission Completed</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TCF</name>
              <description>Transmission Cancellation
              Finished</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TEF</name>
              <description>Tx FIFO Empty</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TEFN</name>
              <description>Tx Event FIFO New Entry</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TEFW</name>
              <description>Tx Event FIFO Watermark
              Reached</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TEFF</name>
              <description>Tx Event FIFO Full</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TEFL</name>
              <description>Tx Event FIFO Element Lost</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TSW</name>
              <description>Timestamp Wraparound</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>MRAF</name>
              <description>Message RAM Access Failure</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TOO</name>
              <description>Timeout Occurred</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DRX</name>
              <description>Message stored to Dedicated Rx
              Buffer</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ELO</name>
              <description>Error Logging Overflow</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>EP</name>
              <description>Error Passive</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>EW</name>
              <description>Warning Status</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>BO</name>
              <description>Bus_Off Status</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>WDI</name>
              <description>Watchdog Interrupt</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>PEA</name>
              <description>Protocol Error in Arbitration Phase
              (Nominal Bit Time is used)</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>PED</name>
              <description>Protocol Error in Data Phase (Data Bit
              Time is used)</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ARA</name>
              <description>Access to Reserved Address</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>IE</name>
          <displayName>IE</displayName>
          <description>FDCAN Interrupt Enable
          Register</description>
          <addressOffset>0x54</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>RF0NE</name>
              <description>Rx FIFO 0 New Message
              Enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RF0WE</name>
              <description>Rx FIFO 0 Full Enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RF0FE</name>
              <description>Rx FIFO 0 Full Enable</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RF0LE</name>
              <description>Rx FIFO 0 Message Lost
              Enable</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RF1NE</name>
              <description>Rx FIFO 1 New Message
              Enable</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RF1WE</name>
              <description>Rx FIFO 1 Watermark Reached
              Enable</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RF1FE</name>
              <description>Rx FIFO 1 Watermark Reached
              Enable</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RF1LE</name>
              <description>Rx FIFO 1 Message Lost
              Enable</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>HPME</name>
              <description>High Priority Message
              Enable</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TCE</name>
              <description>Transmission Completed
              Enable</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TCFE</name>
              <description>Transmission Cancellation Finished
              Enable</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TEFE</name>
              <description>Tx FIFO Empty Enable</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TEFNE</name>
              <description>Tx Event FIFO New Entry
              Enable</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TEFWE</name>
              <description>Tx Event FIFO Watermark Reached
              Enable</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TEFFE</name>
              <description>Tx Event FIFO Full Enable</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TEFLE</name>
              <description>Tx Event FIFO Element Lost
              Enable</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TSWE</name>
              <description>Timestamp Wraparound
              Enable</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>MRAFE</name>
              <description>Message RAM Access Failure
              Enable</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TOOE</name>
              <description>Timeout Occurred Enable</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DRXE</name>
              <description>Message stored to Dedicated Rx Buffer
              Enable</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>BECE</name>
              <description>Bit Error Corrected Interrupt
              Enable</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>BEUE</name>
              <description>Bit Error Uncorrected Interrupt
              Enable</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ELOE</name>
              <description>Error Logging Overflow
              Enable</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>EPE</name>
              <description>Error Passive Enable</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>EWE</name>
              <description>Warning Status Enable</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>BOE</name>
              <description>Bus_Off Status Enable</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>WDIE</name>
              <description>Watchdog Interrupt Enable</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>PEAE</name>
              <description>Protocol Error in Arbitration Phase
              Enable</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>PEDE</name>
              <description>Protocol Error in Data Phase
              Enable</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ARAE</name>
              <description>Access to Reserved Address
              Enable</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>ILS</name>
          <displayName>ILS</displayName>
          <description>FDCAN Interrupt Line Select
          Register</description>
          <addressOffset>0x58</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>RF0NL</name>
              <description>Rx FIFO 0 New Message Interrupt
              Line</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RF0WL</name>
              <description>Rx FIFO 0 Watermark Reached Interrupt
              Line</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RF0FL</name>
              <description>Rx FIFO 0 Full Interrupt
              Line</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RF0LL</name>
              <description>Rx FIFO 0 Message Lost Interrupt
              Line</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RF1NL</name>
              <description>Rx FIFO 1 New Message Interrupt
              Line</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RF1WL</name>
              <description>Rx FIFO 1 Watermark Reached Interrupt
              Line</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RF1FL</name>
              <description>Rx FIFO 1 Full Interrupt
              Line</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RF1LL</name>
              <description>Rx FIFO 1 Message Lost Interrupt
              Line</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>HPML</name>
              <description>High Priority Message Interrupt
              Line</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TCL</name>
              <description>Transmission Completed Interrupt
              Line</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TCFL</name>
              <description>Transmission Cancellation Finished
              Interrupt Line</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TEFL</name>
              <description>Tx FIFO Empty Interrupt
              Line</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TEFNL</name>
              <description>Tx Event FIFO New Entry Interrupt
              Line</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TEFWL</name>
              <description>Tx Event FIFO Watermark Reached
              Interrupt Line</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TEFFL</name>
              <description>Tx Event FIFO Full Interrupt
              Line</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TEFLL</name>
              <description>Tx Event FIFO Element Lost Interrupt
              Line</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TSWL</name>
              <description>Timestamp Wraparound Interrupt
              Line</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>MRAFL</name>
              <description>Message RAM Access Failure Interrupt
              Line</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TOOL</name>
              <description>Timeout Occurred Interrupt
              Line</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DRXL</name>
              <description>Message stored to Dedicated Rx Buffer
              Interrupt Line</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>BECL</name>
              <description>Bit Error Corrected Interrupt
              Line</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>BEUL</name>
              <description>Bit Error Uncorrected Interrupt
              Line</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ELOL</name>
              <description>Error Logging Overflow Interrupt
              Line</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>EPL</name>
              <description>Error Passive Interrupt
              Line</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>EWL</name>
              <description>Warning Status Interrupt
              Line</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>BOL</name>
              <description>Bus_Off Status</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>WDIL</name>
              <description>Watchdog Interrupt Line</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>PEAL</name>
              <description>Protocol Error in Arbitration Phase
              Line</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>PEDL</name>
              <description>Protocol Error in Data Phase
              Line</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ARAL</name>
              <description>Access to Reserved Address
              Line</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>ILE</name>
          <displayName>ILE</displayName>
          <description>FDCAN Interrupt Line Enable
          Register</description>
          <addressOffset>0x5C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>EINT0</name>
              <description>Enable Interrupt Line 0</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>EINT1</name>
              <description>Enable Interrupt Line 1</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>GFC</name>
          <displayName>GFC</displayName>
          <description>FDCAN Global Filter Configuration
          Register</description>
          <addressOffset>0x80</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>RRFE</name>
              <description>Reject Remote Frames
              Extended</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RRFS</name>
              <description>Reject Remote Frames
              Standard</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ANFE</name>
              <description>Accept Non-matching Frames
              Extended</description>
              <bitOffset>2</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>ANFS</name>
              <description>Accept Non-matching Frames
              Standard</description>
              <bitOffset>4</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>SIDFC</name>
          <displayName>SIDFC</displayName>
          <description>FDCAN Standard ID Filter Configuration
          Register</description>
          <addressOffset>0x84</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>FLSSA</name>
              <description>Filter List Standard Start
              Address</description>
              <bitOffset>2</bitOffset>
              <bitWidth>14</bitWidth>
            </field>
            <field>
              <name>LSS</name>
              <description>List Size Standard</description>
              <bitOffset>16</bitOffset>
              <bitWidth>8</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>XIDFC</name>
          <displayName>XIDFC</displayName>
          <description>FDCAN Extended ID Filter Configuration
          Register</description>
          <addressOffset>0x88</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>FLESA</name>
              <description>Filter List Standard Start
              Address</description>
              <bitOffset>2</bitOffset>
              <bitWidth>14</bitWidth>
            </field>
            <field>
              <name>LSE</name>
              <description>List Size Extended</description>
              <bitOffset>16</bitOffset>
              <bitWidth>8</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>XIDAM</name>
          <displayName>XIDAM</displayName>
          <description>FDCAN Extended ID and Mask
          Register</description>
          <addressOffset>0x90</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>EIDM</name>
              <description>Extended ID Mask</description>
              <bitOffset>0</bitOffset>
              <bitWidth>29</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>HPMS</name>
          <displayName>HPMS</displayName>
          <description>FDCAN High Priority Message Status
          Register</description>
          <addressOffset>0x94</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>BIDX</name>
              <description>Buffer Index</description>
              <bitOffset>0</bitOffset>
              <bitWidth>6</bitWidth>
            </field>
            <field>
              <name>MSI</name>
              <description>Message Storage Indicator</description>
              <bitOffset>6</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>FIDX</name>
              <description>Filter Index</description>
              <bitOffset>8</bitOffset>
              <bitWidth>7</bitWidth>
            </field>
            <field>
              <name>FLST</name>
              <description>Filter List</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>NDAT1</name>
          <displayName>NDAT1</displayName>
          <description>FDCAN New Data 1 Register</description>
          <addressOffset>0x98</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>ND0</name>
              <description>New data</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ND1</name>
              <description>New data</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ND2</name>
              <description>New data</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ND3</name>
              <description>New data</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ND4</name>
              <description>New data</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ND5</name>
              <description>New data</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ND6</name>
              <description>New data</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ND7</name>
              <description>New data</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ND8</name>
              <description>New data</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ND9</name>
              <description>New data</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ND10</name>
              <description>New data</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ND11</name>
              <description>New data</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ND12</name>
              <description>New data</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ND13</name>
              <description>New data</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ND14</name>
              <description>New data</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ND15</name>
              <description>New data</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ND16</name>
              <description>New data</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ND17</name>
              <description>New data</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ND18</name>
              <description>New data</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ND19</name>
              <description>New data</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ND20</name>
              <description>New data</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ND21</name>
              <description>New data</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ND22</name>
              <description>New data</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ND23</name>
              <description>New data</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ND24</name>
              <description>New data</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ND25</name>
              <description>New data</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ND26</name>
              <description>New data</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ND27</name>
              <description>New data</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ND28</name>
              <description>New data</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ND29</name>
              <description>New data</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ND30</name>
              <description>New data</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ND31</name>
              <description>New data</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>NDAT2</name>
          <displayName>NDAT2</displayName>
          <description>FDCAN New Data 2 Register</description>
          <addressOffset>0x9C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>ND32</name>
              <description>New data</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ND33</name>
              <description>New data</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ND34</name>
              <description>New data</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ND35</name>
              <description>New data</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ND36</name>
              <description>New data</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ND37</name>
              <description>New data</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ND38</name>
              <description>New data</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ND39</name>
              <description>New data</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ND40</name>
              <description>New data</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ND41</name>
              <description>New data</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ND42</name>
              <description>New data</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ND43</name>
              <description>New data</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ND44</name>
              <description>New data</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ND45</name>
              <description>New data</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ND46</name>
              <description>New data</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ND47</name>
              <description>New data</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ND48</name>
              <description>New data</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ND49</name>
              <description>New data</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ND50</name>
              <description>New data</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ND51</name>
              <description>New data</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ND52</name>
              <description>New data</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ND53</name>
              <description>New data</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ND54</name>
              <description>New data</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ND55</name>
              <description>New data</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ND56</name>
              <description>New data</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ND57</name>
              <description>New data</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ND58</name>
              <description>New data</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ND59</name>
              <description>New data</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ND60</name>
              <description>New data</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ND61</name>
              <description>New data</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ND62</name>
              <description>New data</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ND63</name>
              <description>New data</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>RXF0C</name>
          <displayName>RXF0C</displayName>
          <description>FDCAN Rx FIFO 0 Configuration
          Register</description>
          <addressOffset>0xA0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>F0SA</name>
              <description>Rx FIFO 0 Start Address</description>
              <bitOffset>2</bitOffset>
              <bitWidth>14</bitWidth>
            </field>
            <field>
              <name>F0S</name>
              <description>Rx FIFO 0 Size</description>
              <bitOffset>16</bitOffset>
              <bitWidth>7</bitWidth>
            </field>
            <field>
              <name>F0WM</name>
              <description>FIFO 0 Watermark</description>
              <bitOffset>24</bitOffset>
              <bitWidth>7</bitWidth>
            </field>
            <field>
              <name>F0OM</name>
              <description>FIFO 0 operation mode</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>RXF0S</name>
          <displayName>RXF0S</displayName>
          <description>FDCAN Rx FIFO 0 Status
          Register</description>
          <addressOffset>0xA4</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>F0FL</name>
              <description>Rx FIFO 0 Fill Level</description>
              <bitOffset>0</bitOffset>
              <bitWidth>7</bitWidth>
            </field>
            <field>
              <name>F0GI</name>
              <description>Rx FIFO 0 Get Index</description>
              <bitOffset>8</bitOffset>
              <bitWidth>6</bitWidth>
            </field>
            <field>
              <name>F0PI</name>
              <description>Rx FIFO 0 Put Index</description>
              <bitOffset>16</bitOffset>
              <bitWidth>6</bitWidth>
            </field>
            <field>
              <name>F0F</name>
              <description>Rx FIFO 0 Full</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RF0L</name>
              <description>Rx FIFO 0 Message Lost</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>RXF0A</name>
          <displayName>RXF0A</displayName>
          <description>CAN Rx FIFO 0 Acknowledge
          Register</description>
          <addressOffset>0xA8</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>F0AI</name>
              <description>Rx FIFO 0 Acknowledge
              Index</description>
              <bitOffset>0</bitOffset>
              <bitWidth>6</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>RXBC</name>
          <displayName>RXBC</displayName>
          <description>FDCAN Rx Buffer Configuration
          Register</description>
          <addressOffset>0xAC</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>RBSA</name>
              <description>Rx Buffer Start Address</description>
              <bitOffset>2</bitOffset>
              <bitWidth>14</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>RXF1C</name>
          <displayName>RXF1C</displayName>
          <description>FDCAN Rx FIFO 1 Configuration
          Register</description>
          <addressOffset>0xB0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>F1SA</name>
              <description>Rx FIFO 1 Start Address</description>
              <bitOffset>2</bitOffset>
              <bitWidth>14</bitWidth>
            </field>
            <field>
              <name>F1S</name>
              <description>Rx FIFO 1 Size</description>
              <bitOffset>16</bitOffset>
              <bitWidth>7</bitWidth>
            </field>
            <field>
              <name>F1WM</name>
              <description>Rx FIFO 1 Watermark</description>
              <bitOffset>24</bitOffset>
              <bitWidth>7</bitWidth>
            </field>
            <field>
              <name>F1OM</name>
              <description>FIFO 1 operation mode</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>RXF1S</name>
          <displayName>RXF1S</displayName>
          <description>FDCAN Rx FIFO 1 Status
          Register</description>
          <addressOffset>0xB4</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>F1FL</name>
              <description>Rx FIFO 1 Fill Level</description>
              <bitOffset>0</bitOffset>
              <bitWidth>7</bitWidth>
            </field>
            <field>
              <name>F1GI</name>
              <description>Rx FIFO 1 Get Index</description>
              <bitOffset>8</bitOffset>
              <bitWidth>7</bitWidth>
            </field>
            <field>
              <name>F1PI</name>
              <description>Rx FIFO 1 Put Index</description>
              <bitOffset>16</bitOffset>
              <bitWidth>7</bitWidth>
            </field>
            <field>
              <name>F1F</name>
              <description>Rx FIFO 1 Full</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RF1L</name>
              <description>Rx FIFO 1 Message Lost</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DMS</name>
              <description>Debug Message Status</description>
              <bitOffset>30</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>RXF1A</name>
          <displayName>RXF1A</displayName>
          <description>FDCAN Rx FIFO 1 Acknowledge
          Register</description>
          <addressOffset>0xB8</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>F1AI</name>
              <description>Rx FIFO 1 Acknowledge
              Index</description>
              <bitOffset>0</bitOffset>
              <bitWidth>6</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>RXESC</name>
          <displayName>RXESC</displayName>
          <description>FDCAN Rx Buffer Element Size Configuration
          Register</description>
          <addressOffset>0xBC</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>F0DS</name>
              <description>Rx FIFO 1 Data Field Size:</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
            </field>
            <field>
              <name>F1DS</name>
              <description>Rx FIFO 0 Data Field Size:</description>
              <bitOffset>4</bitOffset>
              <bitWidth>3</bitWidth>
            </field>
            <field>
              <name>RBDS</name>
              <description>Rx Buffer Data Field Size:</description>
              <bitOffset>8</bitOffset>
              <bitWidth>3</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>TXBC</name>
          <displayName>TXBC</displayName>
          <description>FDCAN Tx Buffer Configuration
          Register</description>
          <addressOffset>0xC0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TBSA</name>
              <description>Tx Buffers Start Address</description>
              <bitOffset>2</bitOffset>
              <bitWidth>14</bitWidth>
            </field>
            <field>
              <name>NDTB</name>
              <description>Number of Dedicated Transmit
              Buffers</description>
              <bitOffset>16</bitOffset>
              <bitWidth>6</bitWidth>
            </field>
            <field>
              <name>TFQS</name>
              <description>Transmit FIFO/Queue Size</description>
              <bitOffset>24</bitOffset>
              <bitWidth>6</bitWidth>
            </field>
            <field>
              <name>TFQM</name>
              <description>Tx FIFO/Queue Mode</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>TXFQS</name>
          <displayName>TXFQS</displayName>
          <description>FDCAN Tx FIFO/Queue Status
          Register</description>
          <addressOffset>0xC4</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TFFL</name>
              <description>Tx FIFO Free Level</description>
              <bitOffset>0</bitOffset>
              <bitWidth>6</bitWidth>
            </field>
            <field>
              <name>TFGI</name>
              <description>TFGI</description>
              <bitOffset>8</bitOffset>
              <bitWidth>5</bitWidth>
            </field>
            <field>
              <name>TFQPI</name>
              <description>Tx FIFO/Queue Put Index</description>
              <bitOffset>16</bitOffset>
              <bitWidth>5</bitWidth>
            </field>
            <field>
              <name>TFQF</name>
              <description>Tx FIFO/Queue Full</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>TXESC</name>
          <displayName>TXESC</displayName>
          <description>FDCAN Tx Buffer Element Size Configuration
          Register</description>
          <addressOffset>0xC8</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TBDS</name>
              <description>Tx Buffer Data Field Size:</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>TXBRP</name>
          <displayName>TXBRP</displayName>
          <description>FDCAN Tx Buffer Request Pending
          Register</description>
          <addressOffset>0xCC</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TRP</name>
              <description>Transmission Request
              Pending</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>TXBAR</name>
          <displayName>TXBAR</displayName>
          <description>FDCAN Tx Buffer Add Request
          Register</description>
          <addressOffset>0xD0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>AR</name>
              <description>Add Request</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>TXBCR</name>
          <displayName>TXBCR</displayName>
          <description>FDCAN Tx Buffer Cancellation Request
          Register</description>
          <addressOffset>0xD4</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CR</name>
              <description>Cancellation Request</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>TXBTO</name>
          <displayName>TXBTO</displayName>
          <description>FDCAN Tx Buffer Transmission Occurred
          Register</description>
          <addressOffset>0xD8</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TO</name>
              <description>Transmission Occurred.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>TXBCF</name>
          <displayName>TXBCF</displayName>
          <description>FDCAN Tx Buffer Cancellation Finished
          Register</description>
          <addressOffset>0xDC</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CF</name>
              <description>Cancellation Finished</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>TXBTIE</name>
          <displayName>TXBTIE</displayName>
          <description>FDCAN Tx Buffer Transmission Interrupt
          Enable Register</description>
          <addressOffset>0xE0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TIE</name>
              <description>Transmission Interrupt
              Enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>TXBCIE</name>
          <displayName>TXBCIE</displayName>
          <description>FDCAN Tx Buffer Cancellation Finished
          Interrupt Enable Register</description>
          <addressOffset>0xE4</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CF</name>
              <description>Cancellation Finished Interrupt
              Enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>TXEFC</name>
          <displayName>TXEFC</displayName>
          <description>FDCAN Tx Event FIFO Configuration
          Register</description>
          <addressOffset>0xF0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>EFSA</name>
              <description>Event FIFO Start Address</description>
              <bitOffset>2</bitOffset>
              <bitWidth>14</bitWidth>
            </field>
            <field>
              <name>EFS</name>
              <description>Event FIFO Size</description>
              <bitOffset>16</bitOffset>
              <bitWidth>6</bitWidth>
            </field>
            <field>
              <name>EFWM</name>
              <description>Event FIFO Watermark</description>
              <bitOffset>24</bitOffset>
              <bitWidth>6</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>TXEFS</name>
          <displayName>TXEFS</displayName>
          <description>FDCAN Tx Event FIFO Status
          Register</description>
          <addressOffset>0xF4</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>EFFL</name>
              <description>Event FIFO Fill Level</description>
              <bitOffset>0</bitOffset>
              <bitWidth>6</bitWidth>
            </field>
            <field>
              <name>EFGI</name>
              <description>Event FIFO Get Index.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>5</bitWidth>
            </field>
            <field>
              <name>EFPI</name>
              <description>Event FIFO put index.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>5</bitWidth>
            </field>
            <field>
              <name>EFF</name>
              <description>Event FIFO Full.</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TEFL</name>
              <description>Tx Event FIFO Element
              Lost.</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>TXEFA</name>
          <displayName>TXEFA</displayName>
          <description>FDCAN Tx Event FIFO Acknowledge
          Register</description>
          <addressOffset>0xF8</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>EFAI</name>
              <description>Event FIFO Acknowledge
              Index</description>
              <bitOffset>0</bitOffset>
              <bitWidth>5</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>TTTMC</name>
          <displayName>TTTMC</displayName>
          <description>FDCAN TT Trigger Memory Configuration
          Register</description>
          <addressOffset>0x100</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TMSA</name>
              <description>Trigger Memory Start
              Address</description>
              <bitOffset>2</bitOffset>
              <bitWidth>14</bitWidth>
            </field>
            <field>
              <name>TME</name>
              <description>Trigger Memory Elements</description>
              <bitOffset>16</bitOffset>
              <bitWidth>7</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>TTRMC</name>
          <displayName>TTRMC</displayName>
          <description>FDCAN TT Reference Message Configuration
          Register</description>
          <addressOffset>0x104</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>RID</name>
              <description>Reference Identifier.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>29</bitWidth>
            </field>
            <field>
              <name>XTD</name>
              <description>Extended Identifier</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RMPS</name>
              <description>Reference Message Payload
              Select</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>TTOCF</name>
          <displayName>TTOCF</displayName>
          <description>FDCAN TT Operation Configuration
          Register</description>
          <addressOffset>0x108</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>OM</name>
              <description>Operation Mode</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>GEN</name>
              <description>Gap Enable</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TM</name>
              <description>Time Master</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>LDSDL</name>
              <description>LD of Synchronization Deviation
              Limit</description>
              <bitOffset>5</bitOffset>
              <bitWidth>3</bitWidth>
            </field>
            <field>
              <name>IRTO</name>
              <description>Initial Reference Trigger
              Offset</description>
              <bitOffset>8</bitOffset>
              <bitWidth>7</bitWidth>
            </field>
            <field>
              <name>EECS</name>
              <description>Enable External Clock
              Synchronization</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>AWL</name>
              <description>Application Watchdog Limit</description>
              <bitOffset>16</bitOffset>
              <bitWidth>8</bitWidth>
            </field>
            <field>
              <name>EGTF</name>
              <description>Enable Global Time
              Filtering</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ECC</name>
              <description>Enable Clock Calibration</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>EVTP</name>
              <description>Event Trigger Polarity</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>TTMLM</name>
          <displayName>TTMLM</displayName>
          <description>FDCAN TT Matrix Limits
          Register</description>
          <addressOffset>0x10C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CCM</name>
              <description>Cycle Count Max</description>
              <bitOffset>0</bitOffset>
              <bitWidth>6</bitWidth>
            </field>
            <field>
              <name>CSS</name>
              <description>Cycle Start
              Synchronization</description>
              <bitOffset>6</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>TXEW</name>
              <description>Tx Enable Window</description>
              <bitOffset>8</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>ENTT</name>
              <description>Expected Number of Tx
              Triggers</description>
              <bitOffset>16</bitOffset>
              <bitWidth>12</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>TURCF</name>
          <displayName>TURCF</displayName>
          <description>FDCAN TUR Configuration
          Register</description>
          <addressOffset>0x110</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>NCL</name>
              <description>Numerator Configuration
              Low.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
            <field>
              <name>DC</name>
              <description>Denominator Configuration.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>14</bitWidth>
            </field>
            <field>
              <name>ELT</name>
              <description>Enable Local Time</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>TTOCN</name>
          <displayName>TTOCN</displayName>
          <description>FDCAN TT Operation Control
          Register</description>
          <addressOffset>0x114</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>SGT</name>
              <description>Set Global time</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ECS</name>
              <description>External Clock
              Synchronization</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SWP</name>
              <description>Stop Watch Polarity</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SWS</name>
              <description>Stop Watch Source.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>RTIE</name>
              <description>Register Time Mark Interrupt Pulse
              Enable</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TMC</name>
              <description>Register Time Mark Compare</description>
              <bitOffset>6</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>TTIE</name>
              <description>Trigger Time Mark Interrupt Pulse
              Enable</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>GCS</name>
              <description>Gap Control Select</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>FGP</name>
              <description>Finish Gap.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TMG</name>
              <description>Time Mark Gap</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>NIG</name>
              <description>Next is Gap</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ESCN</name>
              <description>External Synchronization
              Control</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>LCKC</name>
              <description>TT Operation Control Register
              Locked</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>TTGTP</name>
          <displayName>CAN_TTGTP</displayName>
          <description>FDCAN TT Global Time Preset
          Register</description>
          <addressOffset>0x118</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>NCL</name>
              <description>Time Preset</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
            <field>
              <name>CTP</name>
              <description>Cycle Time Target Phase</description>
              <bitOffset>16</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>TTTMK</name>
          <displayName>TTTMK</displayName>
          <description>FDCAN TT Time Mark Register</description>
          <addressOffset>0x11C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TM</name>
              <description>Time Mark</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
            <field>
              <name>TICC</name>
              <description>Time Mark Cycle Code</description>
              <bitOffset>16</bitOffset>
              <bitWidth>7</bitWidth>
            </field>
            <field>
              <name>LCKM</name>
              <description>TT Time Mark Register
              Locked</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>TTIR</name>
          <displayName>TTIR</displayName>
          <description>FDCAN TT Interrupt Register</description>
          <addressOffset>0x120</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>SBC</name>
              <description>Start of Basic Cycle</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SMC</name>
              <description>Start of Matrix Cycle</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CSM</name>
              <description>Change of Synchronization
              Mode</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SOG</name>
              <description>Start of Gap</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RTMI</name>
              <description>Register Time Mark
              Interrupt.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TTMI</name>
              <description>Trigger Time Mark Event
              Internal</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SWE</name>
              <description>Stop Watch Event</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>GTW</name>
              <description>Global Time Wrap</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>GTD</name>
              <description>Global Time Discontinuity</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>GTE</name>
              <description>Global Time Error</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TXU</name>
              <description>Tx Count Underflow</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TXO</name>
              <description>Tx Count Overflow</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SE1</name>
              <description>Scheduling Error 1</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SE2</name>
              <description>Scheduling Error 2</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ELC</name>
              <description>Error Level Changed.</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IWTG</name>
              <description>Initialization Watch
              Trigger</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>WT</name>
              <description>Watch Trigger</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>AW</name>
              <description>Application Watchdog</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CER</name>
              <description>Configuration Error</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>TTIE</name>
          <displayName>TTIE</displayName>
          <description>FDCAN TT Interrupt Enable
          Register</description>
          <addressOffset>0x124</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>SBCE</name>
              <description>Start of Basic Cycle Interrupt
              Enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SMCE</name>
              <description>Start of Matrix Cycle Interrupt
              Enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CSME</name>
              <description>Change of Synchronization Mode Interrupt
              Enable</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SOGE</name>
              <description>Start of Gap Interrupt
              Enable</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RTMIE</name>
              <description>Register Time Mark Interrupt
              Enable</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TTMIE</name>
              <description>Trigger Time Mark Event Internal
              Interrupt Enable</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SWEE</name>
              <description>Stop Watch Event Interrupt
              Enable</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>GTWE</name>
              <description>Global Time Wrap Interrupt
              Enable</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>GTDE</name>
              <description>Global Time Discontinuity Interrupt
              Enable</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>GTEE</name>
              <description>Global Time Error Interrupt
              Enable</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TXUE</name>
              <description>Tx Count Underflow Interrupt
              Enable</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TXOE</name>
              <description>Tx Count Overflow Interrupt
              Enable</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SE1E</name>
              <description>Scheduling Error 1 Interrupt
              Enable</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SE2E</name>
              <description>Scheduling Error 2 Interrupt
              Enable</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ELCE</name>
              <description>Change Error Level Interrupt
              Enable</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IWTGE</name>
              <description>Initialization Watch Trigger Interrupt
              Enable</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>WTE</name>
              <description>Watch Trigger Interrupt
              Enable</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>AWE</name>
              <description>Application Watchdog Interrupt
              Enable</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CERE</name>
              <description>Configuration Error Interrupt
              Enable</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>TTILS</name>
          <displayName>TTILS</displayName>
          <description>FDCAN TT Interrupt Line Select
          Register</description>
          <addressOffset>0x128</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>SBCL</name>
              <description>Start of Basic Cycle Interrupt
              Line</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SMCL</name>
              <description>Start of Matrix Cycle Interrupt
              Line</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CSML</name>
              <description>Change of Synchronization Mode Interrupt
              Line</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SOGL</name>
              <description>Start of Gap Interrupt
              Line</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RTMIL</name>
              <description>Register Time Mark Interrupt
              Line</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TTMIL</name>
              <description>Trigger Time Mark Event Internal
              Interrupt Line</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SWEL</name>
              <description>Stop Watch Event Interrupt
              Line</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>GTWL</name>
              <description>Global Time Wrap Interrupt
              Line</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>GTDL</name>
              <description>Global Time Discontinuity Interrupt
              Line</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>GTEL</name>
              <description>Global Time Error Interrupt
              Line</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TXUL</name>
              <description>Tx Count Underflow Interrupt
              Line</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TXOL</name>
              <description>Tx Count Overflow Interrupt
              Line</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SE1L</name>
              <description>Scheduling Error 1 Interrupt
              Line</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SE2L</name>
              <description>Scheduling Error 2 Interrupt
              Line</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ELCL</name>
              <description>Change Error Level Interrupt
              Line</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IWTGL</name>
              <description>Initialization Watch Trigger Interrupt
              Line</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>WTL</name>
              <description>Watch Trigger Interrupt
              Line</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>AWL</name>
              <description>Application Watchdog Interrupt
              Line</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CERL</name>
              <description>Configuration Error Interrupt
              Line</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>TTOST</name>
          <displayName>TTOST</displayName>
          <description>FDCAN TT Operation Status
          Register</description>
          <addressOffset>0x12C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>EL</name>
              <description>Error Level</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>MS</name>
              <description>Master State.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>SYS</name>
              <description>Synchronization State</description>
              <bitOffset>4</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>QGTP</name>
              <description>Quality of Global Time
              Phase</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>QCS</name>
              <description>Quality of Clock Speed</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RTO</name>
              <description>Reference Trigger Offset</description>
              <bitOffset>8</bitOffset>
              <bitWidth>8</bitWidth>
            </field>
            <field>
              <name>WGTD</name>
              <description>Wait for Global Time
              Discontinuity</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>GFI</name>
              <description>Gap Finished Indicator.</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TMP</name>
              <description>Time Master Priority</description>
              <bitOffset>24</bitOffset>
              <bitWidth>3</bitWidth>
            </field>
            <field>
              <name>GSI</name>
              <description>Gap Started Indicator.</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>WFE</name>
              <description>Wait for Event</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>AWE</name>
              <description>Application Watchdog Event</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>WECS</name>
              <description>Wait for External Clock
              Synchronization</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SPL</name>
              <description>Schedule Phase Lock</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>TURNA</name>
          <displayName>TURNA</displayName>
          <description>FDCAN TUR Numerator Actual
          Register</description>
          <addressOffset>0x130</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>NAV</name>
              <description>Numerator Actual Value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>18</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>TTLGT</name>
          <displayName>TTLGT</displayName>
          <description>FDCAN TT Local and Global Time
          Register</description>
          <addressOffset>0x134</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>LT</name>
              <description>Local Time</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
            <field>
              <name>GT</name>
              <description>Global Time</description>
              <bitOffset>16</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>TTCTC</name>
          <displayName>TTCTC</displayName>
          <description>FDCAN TT Cycle Time and Count
          Register</description>
          <addressOffset>0x138</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CT</name>
              <description>Cycle Time</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
            <field>
              <name>CC</name>
              <description>Cycle Count</description>
              <bitOffset>16</bitOffset>
              <bitWidth>6</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>TTCPT</name>
          <displayName>TTCPT</displayName>
          <description>FDCAN TT Capture Time Register</description>
          <addressOffset>0x13C</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CCV</name>
              <description>Cycle Count Value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>6</bitWidth>
            </field>
            <field>
              <name>SWV</name>
              <description>Stop Watch Value</description>
              <bitOffset>16</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>TTCSM</name>
          <displayName>TTCSM</displayName>
          <description>FDCAN TT Cycle Sync Mark
          Register</description>
          <addressOffset>0x140</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CSM</name>
              <description>Cycle Sync Mark</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>TTTS</name>
          <displayName>TTTS</displayName>
          <description>FDCAN TT Trigger Select
          Register</description>
          <addressOffset>0x300</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>SWTDEL</name>
              <description>Stop watch trigger input
              selection</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>EVTSEL</name>
              <description>Event trigger input
              selection</description>
              <bitOffset>4</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral derivedFrom="FDCAN1">
      <name>FDCAN2</name>
      <baseAddress>0x4000A400</baseAddress>
      <interrupt>
        <name>FDCAN2_IT0</name>
        <description>FDCAN2 Interrupt 0</description>
        <value>20</value>
      </interrupt>
      <interrupt>
        <name>FDCAN2_IT1</name>
        <description>FDCAN2 Interrupt 1</description>
        <value>22</value>
      </interrupt>
    </peripheral>
    <peripheral>
      <name>CAN_CCU</name>
      <description>CCU registers</description>
      <groupName>FDCAN</groupName>
      <baseAddress>0x4000A800</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <registers>
        <register>
          <name>CREL</name>
          <displayName>CREL</displayName>
          <description>Clock Calibration Unit Core Release
          Register</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DAY</name>
              <description>Time Stamp Day</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
            </field>
            <field>
              <name>MON</name>
              <description>Time Stamp Month</description>
              <bitOffset>8</bitOffset>
              <bitWidth>8</bitWidth>
            </field>
            <field>
              <name>YEAR</name>
              <description>Time Stamp Year</description>
              <bitOffset>16</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>SUBSTEP</name>
              <description>Sub-step of Core Release</description>
              <bitOffset>20</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>STEP</name>
              <description>Step of Core Release</description>
              <bitOffset>24</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>REL</name>
              <description>Core Release</description>
              <bitOffset>28</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CCFG</name>
          <displayName>CCFG</displayName>
          <description>Calibration Configuration
          Register</description>
          <addressOffset>0x4</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TQBT</name>
              <description>Time Quanta per Bit Time</description>
              <bitOffset>0</bitOffset>
              <bitWidth>5</bitWidth>
            </field>
            <field>
              <name>BCC</name>
              <description>Bypass Clock Calibration</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CFL</name>
              <description>Calibration Field Length</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>OCPM</name>
              <description>Oscillator Clock Periods
              Minimum</description>
              <bitOffset>8</bitOffset>
              <bitWidth>8</bitWidth>
            </field>
            <field>
              <name>CDIV</name>
              <description>Clock Divider</description>
              <bitOffset>16</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>SWR</name>
              <description>Software Reset</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CSTAT</name>
          <displayName>CSTAT</displayName>
          <description>Calibration Status Register</description>
          <addressOffset>0x8</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>OCPC</name>
              <description>Oscillator Clock Period
              Counter</description>
              <bitOffset>0</bitOffset>
              <bitWidth>18</bitWidth>
            </field>
            <field>
              <name>TQC</name>
              <description>Time Quanta Counter</description>
              <bitOffset>18</bitOffset>
              <bitWidth>11</bitWidth>
            </field>
            <field>
              <name>CALS</name>
              <description>Calibration State</description>
              <bitOffset>30</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CWD</name>
          <displayName>CWD</displayName>
          <description>Calibration Watchdog Register</description>
          <addressOffset>0xC</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>WDC</name>
              <description>WDC</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
            <field>
              <name>WDV</name>
              <description>WDV</description>
              <bitOffset>16</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>IR</name>
          <displayName>IR</displayName>
          <description>Clock Calibration Unit Interrupt
          Register</description>
          <addressOffset>0x10</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CWE</name>
              <description>Calibration Watchdog Event</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CSC</name>
              <description>Calibration State Changed</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>IE</name>
          <displayName>IE</displayName>
          <description>Clock Calibration Unit Interrupt Enable
          Register</description>
          <addressOffset>0x14</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CWEE</name>
              <description>Calibration Watchdog Event
              Enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CSCE</name>
              <description>Calibration State Changed
              Enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>MDIOS</name>
      <description>Management data input/output slave</description>
      <groupName>MDIOS</groupName>
      <baseAddress>0x40009400</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>MDIOS_WKUP</name>
        <description>MDIOS wakeup</description>
        <value>119</value>
      </interrupt>
      <interrupt>
        <name>MDIOS</name>
        <description>MDIOS global interrupt</description>
        <value>120</value>
      </interrupt>
      <registers>
        <register>
          <name>CR</name>
          <displayName>CR</displayName>
          <description>MDIOS configuration register</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>EN</name>
              <description>Peripheral enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>WRIE</name>
              <description>Register write interrupt
              enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RDIE</name>
              <description>Register Read Interrupt
              Enable</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>EIE</name>
              <description>Error interrupt enable</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DPC</name>
              <description>Disable Preamble Check</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>PORT_ADDRESS</name>
              <description>Slaves's address</description>
              <bitOffset>8</bitOffset>
              <bitWidth>5</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>WRFR</name>
          <displayName>WRFR</displayName>
          <description>MDIOS write flag register</description>
          <addressOffset>0x4</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>WRF</name>
              <description>Write flags for MDIO registers 0 to
              31</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CWRFR</name>
          <displayName>CWRFR</displayName>
          <description>MDIOS clear write flag
          register</description>
          <addressOffset>0x8</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CWRF</name>
              <description>Clear the write flag</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>RDFR</name>
          <displayName>RDFR</displayName>
          <description>MDIOS read flag register</description>
          <addressOffset>0xC</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>RDF</name>
              <description>Read flags for MDIO registers 0 to
              31</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CRDFR</name>
          <displayName>CRDFR</displayName>
          <description>MDIOS clear read flag register</description>
          <addressOffset>0x10</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CRDF</name>
              <description>Clear the read flag</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>SR</name>
          <displayName>SR</displayName>
          <description>MDIOS status register</description>
          <addressOffset>0x14</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>PERF</name>
              <description>Preamble error flag</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SERF</name>
              <description>Start error flag</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TERF</name>
              <description>Turnaround error flag</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CLRFR</name>
          <displayName>CLRFR</displayName>
          <description>MDIOS clear flag register</description>
          <addressOffset>0x18</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CPERF</name>
              <description>Clear the preamble error
              flag</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CSERF</name>
              <description>Clear the start error flag</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CTERF</name>
              <description>Clear the turnaround error
              flag</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DINR0</name>
          <displayName>DINR0</displayName>
          <description>MDIOS input data register 0</description>
          <addressOffset>0x1C</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DIN0</name>
              <description>Input data received from MDIO Master
              during write frames</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DINR1</name>
          <displayName>DINR1</displayName>
          <description>MDIOS input data register 1</description>
          <addressOffset>0x20</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DIN1</name>
              <description>Input data received from MDIO Master
              during write frames</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DINR2</name>
          <displayName>DINR2</displayName>
          <description>MDIOS input data register 2</description>
          <addressOffset>0x24</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DIN2</name>
              <description>Input data received from MDIO Master
              during write frames</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DINR3</name>
          <displayName>DINR3</displayName>
          <description>MDIOS input data register 3</description>
          <addressOffset>0x28</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DIN3</name>
              <description>Input data received from MDIO Master
              during write frames</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DINR4</name>
          <displayName>DINR4</displayName>
          <description>MDIOS input data register 4</description>
          <addressOffset>0x2C</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DIN4</name>
              <description>Input data received from MDIO Master
              during write frames</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DINR5</name>
          <displayName>DINR5</displayName>
          <description>MDIOS input data register 5</description>
          <addressOffset>0x30</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DIN5</name>
              <description>Input data received from MDIO Master
              during write frames</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DINR6</name>
          <displayName>DINR6</displayName>
          <description>MDIOS input data register 6</description>
          <addressOffset>0x34</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DIN6</name>
              <description>Input data received from MDIO Master
              during write frames</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DINR7</name>
          <displayName>DINR7</displayName>
          <description>MDIOS input data register 7</description>
          <addressOffset>0x38</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DIN7</name>
              <description>Input data received from MDIO Master
              during write frames</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DINR8</name>
          <displayName>DINR8</displayName>
          <description>MDIOS input data register 8</description>
          <addressOffset>0x3C</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DIN8</name>
              <description>Input data received from MDIO Master
              during write frames</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DINR9</name>
          <displayName>DINR9</displayName>
          <description>MDIOS input data register 9</description>
          <addressOffset>0x40</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DIN9</name>
              <description>Input data received from MDIO Master
              during write frames</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DINR10</name>
          <displayName>DINR10</displayName>
          <description>MDIOS input data register 10</description>
          <addressOffset>0x44</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DIN10</name>
              <description>Input data received from MDIO Master
              during write frames</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DINR11</name>
          <displayName>DINR11</displayName>
          <description>MDIOS input data register 11</description>
          <addressOffset>0x48</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DIN11</name>
              <description>Input data received from MDIO Master
              during write frames</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DINR12</name>
          <displayName>DINR12</displayName>
          <description>MDIOS input data register 12</description>
          <addressOffset>0x4C</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DIN12</name>
              <description>Input data received from MDIO Master
              during write frames</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DINR13</name>
          <displayName>DINR13</displayName>
          <description>MDIOS input data register 13</description>
          <addressOffset>0x50</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DIN13</name>
              <description>Input data received from MDIO Master
              during write frames</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DINR14</name>
          <displayName>DINR14</displayName>
          <description>MDIOS input data register 14</description>
          <addressOffset>0x54</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DIN14</name>
              <description>Input data received from MDIO Master
              during write frames</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DINR15</name>
          <displayName>DINR15</displayName>
          <description>MDIOS input data register 15</description>
          <addressOffset>0x58</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DIN15</name>
              <description>Input data received from MDIO Master
              during write frames</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DINR16</name>
          <displayName>DINR16</displayName>
          <description>MDIOS input data register 16</description>
          <addressOffset>0x5C</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DIN16</name>
              <description>Input data received from MDIO Master
              during write frames</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DINR17</name>
          <displayName>DINR17</displayName>
          <description>MDIOS input data register 17</description>
          <addressOffset>0x60</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DIN17</name>
              <description>Input data received from MDIO Master
              during write frames</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DINR18</name>
          <displayName>DINR18</displayName>
          <description>MDIOS input data register 18</description>
          <addressOffset>0x64</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DIN18</name>
              <description>Input data received from MDIO Master
              during write frames</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DINR19</name>
          <displayName>DINR19</displayName>
          <description>MDIOS input data register 19</description>
          <addressOffset>0x68</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DIN19</name>
              <description>Input data received from MDIO Master
              during write frames</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DINR20</name>
          <displayName>DINR20</displayName>
          <description>MDIOS input data register 20</description>
          <addressOffset>0x6C</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DIN20</name>
              <description>Input data received from MDIO Master
              during write frames</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DINR21</name>
          <displayName>DINR21</displayName>
          <description>MDIOS input data register 21</description>
          <addressOffset>0x70</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DIN21</name>
              <description>Input data received from MDIO Master
              during write frames</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DINR22</name>
          <displayName>DINR22</displayName>
          <description>MDIOS input data register 22</description>
          <addressOffset>0x74</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DIN22</name>
              <description>Input data received from MDIO Master
              during write frames</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DINR23</name>
          <displayName>DINR23</displayName>
          <description>MDIOS input data register 23</description>
          <addressOffset>0x78</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DIN23</name>
              <description>Input data received from MDIO Master
              during write frames</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DINR24</name>
          <displayName>DINR24</displayName>
          <description>MDIOS input data register 24</description>
          <addressOffset>0x7C</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DIN24</name>
              <description>Input data received from MDIO Master
              during write frames</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DINR25</name>
          <displayName>DINR25</displayName>
          <description>MDIOS input data register 25</description>
          <addressOffset>0x80</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DIN25</name>
              <description>Input data received from MDIO Master
              during write frames</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DINR26</name>
          <displayName>DINR26</displayName>
          <description>MDIOS input data register 26</description>
          <addressOffset>0x84</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DIN26</name>
              <description>Input data received from MDIO Master
              during write frames</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DINR27</name>
          <displayName>DINR27</displayName>
          <description>MDIOS input data register 27</description>
          <addressOffset>0x88</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DIN27</name>
              <description>Input data received from MDIO Master
              during write frames</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DINR28</name>
          <displayName>DINR28</displayName>
          <description>MDIOS input data register 28</description>
          <addressOffset>0x8C</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DIN28</name>
              <description>Input data received from MDIO Master
              during write frames</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DINR29</name>
          <displayName>DINR29</displayName>
          <description>MDIOS input data register 29</description>
          <addressOffset>0x90</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DIN29</name>
              <description>Input data received from MDIO Master
              during write frames</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DINR30</name>
          <displayName>DINR30</displayName>
          <description>MDIOS input data register 30</description>
          <addressOffset>0x94</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DIN30</name>
              <description>Input data received from MDIO Master
              during write frames</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DINR31</name>
          <displayName>DINR31</displayName>
          <description>MDIOS input data register 31</description>
          <addressOffset>0x98</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DIN31</name>
              <description>Input data received from MDIO Master
              during write frames</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DOUTR0</name>
          <displayName>DOUTR0</displayName>
          <description>MDIOS output data register 0</description>
          <addressOffset>0x9C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DOUT0</name>
              <description>Output data sent to MDIO Master during
              read frames</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DOUTR1</name>
          <displayName>DOUTR1</displayName>
          <description>MDIOS output data register 1</description>
          <addressOffset>0xA0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DOUT1</name>
              <description>Output data sent to MDIO Master during
              read frames</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DOUTR2</name>
          <displayName>DOUTR2</displayName>
          <description>MDIOS output data register 2</description>
          <addressOffset>0xA4</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DOUT2</name>
              <description>Output data sent to MDIO Master during
              read frames</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DOUTR3</name>
          <displayName>DOUTR3</displayName>
          <description>MDIOS output data register 3</description>
          <addressOffset>0xA8</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DOUT3</name>
              <description>Output data sent to MDIO Master during
              read frames</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DOUTR4</name>
          <displayName>DOUTR4</displayName>
          <description>MDIOS output data register 4</description>
          <addressOffset>0xAC</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DOUT4</name>
              <description>Output data sent to MDIO Master during
              read frames</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DOUTR5</name>
          <displayName>DOUTR5</displayName>
          <description>MDIOS output data register 5</description>
          <addressOffset>0xB0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DOUT5</name>
              <description>Output data sent to MDIO Master during
              read frames</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DOUTR6</name>
          <displayName>DOUTR6</displayName>
          <description>MDIOS output data register 6</description>
          <addressOffset>0xB4</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DOUT6</name>
              <description>Output data sent to MDIO Master during
              read frames</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DOUTR7</name>
          <displayName>DOUTR7</displayName>
          <description>MDIOS output data register 7</description>
          <addressOffset>0xB8</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DOUT7</name>
              <description>Output data sent to MDIO Master during
              read frames</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DOUTR8</name>
          <displayName>DOUTR8</displayName>
          <description>MDIOS output data register 8</description>
          <addressOffset>0xBC</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DOUT8</name>
              <description>Output data sent to MDIO Master during
              read frames</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DOUTR9</name>
          <displayName>DOUTR9</displayName>
          <description>MDIOS output data register 9</description>
          <addressOffset>0xC0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DOUT9</name>
              <description>Output data sent to MDIO Master during
              read frames</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DOUTR10</name>
          <displayName>DOUTR10</displayName>
          <description>MDIOS output data register 10</description>
          <addressOffset>0xC4</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DOUT10</name>
              <description>Output data sent to MDIO Master during
              read frames</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DOUTR11</name>
          <displayName>DOUTR11</displayName>
          <description>MDIOS output data register 11</description>
          <addressOffset>0xC8</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DOUT11</name>
              <description>Output data sent to MDIO Master during
              read frames</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DOUTR12</name>
          <displayName>DOUTR12</displayName>
          <description>MDIOS output data register 12</description>
          <addressOffset>0xCC</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DOUT12</name>
              <description>Output data sent to MDIO Master during
              read frames</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DOUTR13</name>
          <displayName>DOUTR13</displayName>
          <description>MDIOS output data register 13</description>
          <addressOffset>0xD0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DOUT13</name>
              <description>Output data sent to MDIO Master during
              read frames</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DOUTR14</name>
          <displayName>DOUTR14</displayName>
          <description>MDIOS output data register 14</description>
          <addressOffset>0xD4</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DOUT14</name>
              <description>Output data sent to MDIO Master during
              read frames</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DOUTR15</name>
          <displayName>DOUTR15</displayName>
          <description>MDIOS output data register 15</description>
          <addressOffset>0xD8</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DOUT15</name>
              <description>Output data sent to MDIO Master during
              read frames</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DOUTR16</name>
          <displayName>DOUTR16</displayName>
          <description>MDIOS output data register 16</description>
          <addressOffset>0xDC</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DOUT16</name>
              <description>Output data sent to MDIO Master during
              read frames</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DOUTR17</name>
          <displayName>DOUTR17</displayName>
          <description>MDIOS output data register 17</description>
          <addressOffset>0xE0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DOUT17</name>
              <description>Output data sent to MDIO Master during
              read frames</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DOUTR18</name>
          <displayName>DOUTR18</displayName>
          <description>MDIOS output data register 18</description>
          <addressOffset>0xE4</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DOUT18</name>
              <description>Output data sent to MDIO Master during
              read frames</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DOUTR19</name>
          <displayName>DOUTR19</displayName>
          <description>MDIOS output data register 19</description>
          <addressOffset>0xE8</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DOUT19</name>
              <description>Output data sent to MDIO Master during
              read frames</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DOUTR20</name>
          <displayName>DOUTR20</displayName>
          <description>MDIOS output data register 20</description>
          <addressOffset>0xEC</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DOUT20</name>
              <description>Output data sent to MDIO Master during
              read frames</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DOUTR21</name>
          <displayName>DOUTR21</displayName>
          <description>MDIOS output data register 21</description>
          <addressOffset>0xF0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DOUT21</name>
              <description>Output data sent to MDIO Master during
              read frames</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DOUTR22</name>
          <displayName>DOUTR22</displayName>
          <description>MDIOS output data register 22</description>
          <addressOffset>0xF4</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DOUT22</name>
              <description>Output data sent to MDIO Master during
              read frames</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DOUTR23</name>
          <displayName>DOUTR23</displayName>
          <description>MDIOS output data register 23</description>
          <addressOffset>0xF8</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DOUT23</name>
              <description>Output data sent to MDIO Master during
              read frames</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DOUTR24</name>
          <displayName>DOUTR24</displayName>
          <description>MDIOS output data register 24</description>
          <addressOffset>0xFC</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DOUT24</name>
              <description>Output data sent to MDIO Master during
              read frames</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DOUTR25</name>
          <displayName>DOUTR25</displayName>
          <description>MDIOS output data register 25</description>
          <addressOffset>0x100</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DOUT25</name>
              <description>Output data sent to MDIO Master during
              read frames</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DOUTR26</name>
          <displayName>DOUTR26</displayName>
          <description>MDIOS output data register 26</description>
          <addressOffset>0x104</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DOUT26</name>
              <description>Output data sent to MDIO Master during
              read frames</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DOUTR27</name>
          <displayName>DOUTR27</displayName>
          <description>MDIOS output data register 27</description>
          <addressOffset>0x108</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DOUT27</name>
              <description>Output data sent to MDIO Master during
              read frames</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DOUTR28</name>
          <displayName>DOUTR28</displayName>
          <description>MDIOS output data register 28</description>
          <addressOffset>0x10C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DOUT28</name>
              <description>Output data sent to MDIO Master during
              read frames</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DOUTR29</name>
          <displayName>DOUTR29</displayName>
          <description>MDIOS output data register 29</description>
          <addressOffset>0x110</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DOUT29</name>
              <description>Output data sent to MDIO Master during
              read frames</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DOUTR30</name>
          <displayName>DOUTR30</displayName>
          <description>MDIOS output data register 30</description>
          <addressOffset>0x114</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DOUT30</name>
              <description>Output data sent to MDIO Master during
              read frames</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DOUTR31</name>
          <displayName>DOUTR31</displayName>
          <description>MDIOS output data register 31</description>
          <addressOffset>0x118</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DOUT31</name>
              <description>Output data sent to MDIO Master during
              read frames</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>OPAMP</name>
      <description>Operational amplifiers</description>
      <groupName>OPAMP</groupName>
      <baseAddress>0x40009000</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <registers>
        <register>
          <name>OPAMP1_CSR</name>
          <displayName>OPAMP1_CSR</displayName>
          <description>OPAMP1 control/status register</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>OPAEN</name>
              <description>Operational amplifier
              Enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>FORCE_VP</name>
              <description>Force internal reference on VP (reserved
              for test</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>VP_SEL</name>
              <description>Operational amplifier PGA
              mode</description>
              <bitOffset>2</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>VM_SEL</name>
              <description>Inverting input selection</description>
              <bitOffset>5</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>OPAHSM</name>
              <description>Operational amplifier high-speed
              mode</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CALON</name>
              <description>Calibration mode enabled</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CALSEL</name>
              <description>Calibration selection</description>
              <bitOffset>12</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>PGA_GAIN</name>
              <description>allows to switch from AOP offset trimmed
              values to AOP offset</description>
              <bitOffset>14</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>USERTRIM</name>
              <description>User trimming enable</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TSTREF</name>
              <description>OPAMP calibration reference voltage
              output control (reserved for test)</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CALOUT</name>
              <description>Operational amplifier calibration
              output</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>OPAMP1_OTR</name>
          <displayName>OPAMP1_OTR</displayName>
          <description>OPAMP1 offset trimming register in normal
          mode</description>
          <addressOffset>0x4</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TRIMOFFSETN</name>
              <description>Trim for NMOS differential
              pairs</description>
              <bitOffset>0</bitOffset>
              <bitWidth>5</bitWidth>
            </field>
            <field>
              <name>TRIMOFFSETP</name>
              <description>Trim for PMOS differential
              pairs</description>
              <bitOffset>8</bitOffset>
              <bitWidth>5</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>OPAMP1_HSOTR</name>
          <displayName>OPAMP1_HSOTR</displayName>
          <description>OPAMP1 offset trimming register in low-power
          mode</description>
          <addressOffset>0x8</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TRIMLPOFFSETN</name>
              <description>Trim for NMOS differential
              pairs</description>
              <bitOffset>0</bitOffset>
              <bitWidth>5</bitWidth>
            </field>
            <field>
              <name>TRIMLPOFFSETP</name>
              <description>Trim for PMOS differential
              pairs</description>
              <bitOffset>8</bitOffset>
              <bitWidth>5</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>OPAMP2_CSR</name>
          <displayName>OPAMP2_CSR</displayName>
          <description>OPAMP2 control/status register</description>
          <addressOffset>0x10</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>OPAEN</name>
              <description>Operational amplifier
              Enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>FORCE_VP</name>
              <description>Force internal reference on VP (reserved
              for test)</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>VM_SEL</name>
              <description>Inverting input selection</description>
              <bitOffset>5</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>OPAHSM</name>
              <description>Operational amplifier high-speed
              mode</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CALON</name>
              <description>Calibration mode enabled</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CALSEL</name>
              <description>Calibration selection</description>
              <bitOffset>12</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>PGA_GAIN</name>
              <description>Operational amplifier Programmable
              amplifier gain value</description>
              <bitOffset>14</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>USERTRIM</name>
              <description>User trimming enable</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TSTREF</name>
              <description>OPAMP calibration reference voltage
              output control (reserved for test)</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CALOUT</name>
              <description>Operational amplifier calibration
              output</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>OPAMP2_OTR</name>
          <displayName>OPAMP2_OTR</displayName>
          <description>OPAMP2 offset trimming register in normal
          mode</description>
          <addressOffset>0x14</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TRIMOFFSETN</name>
              <description>Trim for NMOS differential
              pairs</description>
              <bitOffset>0</bitOffset>
              <bitWidth>5</bitWidth>
            </field>
            <field>
              <name>TRIMOFFSETP</name>
              <description>Trim for PMOS differential
              pairs</description>
              <bitOffset>8</bitOffset>
              <bitWidth>5</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>OPAMP2_HSOTR</name>
          <displayName>OPAMP2_HSOTR</displayName>
          <description>OPAMP2 offset trimming register in low-power
          mode</description>
          <addressOffset>0x18</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TRIMLPOFFSETN</name>
              <description>Trim for NMOS differential
              pairs</description>
              <bitOffset>0</bitOffset>
              <bitWidth>5</bitWidth>
            </field>
            <field>
              <name>TRIMLPOFFSETP</name>
              <description>Trim for PMOS differential
              pairs</description>
              <bitOffset>8</bitOffset>
              <bitWidth>5</bitWidth>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>SWPMI</name>
      <description>Single Wire Protocol Master
      Interface</description>
      <groupName>SWPMI</groupName>
      <baseAddress>0x40008800</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>SWPMI1</name>
        <description>SWPMI global interrupt</description>
        <value>115</value>
      </interrupt>
      <registers>
        <register>
          <name>CR</name>
          <displayName>CR</displayName>
          <description>SWPMI Configuration/Control
          register</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>RXDMA</name>
              <description>Reception DMA enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TXDMA</name>
              <description>Transmission DMA enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RXMODE</name>
              <description>Reception buffering mode</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TXMODE</name>
              <description>Transmission buffering
              mode</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>LPBK</name>
              <description>Loopback mode enable</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SWPACT</name>
              <description>Single wire protocol master interface
              activate</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DEACT</name>
              <description>Single wire protocol master interface
              deactivate</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SWPTEN</name>
              <description>Single wire protocol master transceiver
              enable</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>BRR</name>
          <displayName>BRR</displayName>
          <description>SWPMI Bitrate register</description>
          <addressOffset>0x4</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000001</resetValue>
          <fields>
            <field>
              <name>BR</name>
              <description>Bitrate prescaler</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>ISR</name>
          <displayName>ISR</displayName>
          <description>SWPMI Interrupt and Status
          register</description>
          <addressOffset>0xC</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x000002C2</resetValue>
          <fields>
            <field>
              <name>RXBFF</name>
              <description>Receive buffer full flag</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TXBEF</name>
              <description>Transmit buffer empty flag</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RXBERF</name>
              <description>Receive CRC error flag</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RXOVRF</name>
              <description>Receive overrun error flag</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TXUNRF</name>
              <description>Transmit underrun error
              flag</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RXNE</name>
              <description>Receive data register not
              empty</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TXE</name>
              <description>Transmit data register
              empty</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TCF</name>
              <description>Transfer complete flag</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SRF</name>
              <description>Slave resume flag</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SUSP</name>
              <description>SUSPEND flag</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DEACTF</name>
              <description>DEACTIVATED flag</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RDYF</name>
              <description>transceiver ready flag</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>ICR</name>
          <displayName>ICR</displayName>
          <description>SWPMI Interrupt Flag Clear
          register</description>
          <addressOffset>0x10</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CRXBFF</name>
              <description>Clear receive buffer full
              flag</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CTXBEF</name>
              <description>Clear transmit buffer empty
              flag</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CRXBERF</name>
              <description>Clear receive CRC error
              flag</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CRXOVRF</name>
              <description>Clear receive overrun error
              flag</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CTXUNRF</name>
              <description>Clear transmit underrun error
              flag</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CTCF</name>
              <description>Clear transfer complete
              flag</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CSRF</name>
              <description>Clear slave resume flag</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CRDYF</name>
              <description>Clear transceiver ready
              flag</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>IER</name>
          <displayName>IER</displayName>
          <description>SWPMI Interrupt Enable
          register</description>
          <addressOffset>0x14</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>RXBFIE</name>
              <description>Receive buffer full interrupt
              enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TXBEIE</name>
              <description>Transmit buffer empty interrupt
              enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RXBERIE</name>
              <description>Receive CRC error interrupt
              enable</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RXOVRIE</name>
              <description>Receive overrun error interrupt
              enable</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TXUNRIE</name>
              <description>Transmit underrun error interrupt
              enable</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RIE</name>
              <description>Receive interrupt enable</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TIE</name>
              <description>Transmit interrupt enable</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TCIE</name>
              <description>Transmit complete interrupt
              enable</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SRIE</name>
              <description>Slave resume interrupt
              enable</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RDYIE</name>
              <description>Transceiver ready interrupt
              enable</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>RFL</name>
          <displayName>RFL</displayName>
          <description>SWPMI Receive Frame Length
          register</description>
          <addressOffset>0x18</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>RFL</name>
              <description>Receive frame length</description>
              <bitOffset>0</bitOffset>
              <bitWidth>5</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>TDR</name>
          <displayName>TDR</displayName>
          <description>SWPMI Transmit data register</description>
          <addressOffset>0x1C</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TD</name>
              <description>Transmit data</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>RDR</name>
          <displayName>RDR</displayName>
          <description>SWPMI Receive data register</description>
          <addressOffset>0x20</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>RD</name>
              <description>received data</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>OR</name>
          <displayName>OR</displayName>
          <description>SWPMI Option register</description>
          <addressOffset>0x24</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>SWP_TBYP</name>
              <description>SWP transceiver bypass</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SWP_CLASS</name>
              <description>SWP class selection</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>TIM2</name>
      <description>General purpose timers</description>
      <groupName>TIM</groupName>
      <baseAddress>0x40000000</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>TIM2</name>
        <description>TIM2 global interrupt</description>
        <value>28</value>
      </interrupt>
      <registers>
        <register>
          <name>CR1</name>
          <displayName>CR1</displayName>
          <description>control register 1</description>
          <addressOffset>0x0</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>UIFREMAP</name>
              <description>UIF status bit remapping</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CKD</name>
              <description>Clock division</description>
              <bitOffset>8</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>CKD</name>
                <enumeratedValue>
                  <name>Div1</name>
                  <description>t_DTS = t_CK_INT</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div2</name>
                  <description>t_DTS = 2 × t_CK_INT</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div4</name>
                  <description>t_DTS = 4 × t_CK_INT</description>
                  <value>2</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ARPE</name>
              <description>Auto-reload preload enable</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ARPE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>TIMx_APRR register is not buffered</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>TIMx_APRR register is buffered</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CMS</name>
              <description>Center-aligned mode
              selection</description>
              <bitOffset>5</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>CMS</name>
                <enumeratedValue>
                  <name>EdgeAligned</name>
                  <description>The counter counts up or down depending on the direction bit</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CenterAligned1</name>
                  <description>The counter counts up and down alternatively. Output compare interrupt flags are set only when the counter is counting down.</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CenterAligned2</name>
                  <description>The counter counts up and down alternatively. Output compare interrupt flags are set only when the counter is counting up.</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CenterAligned3</name>
                  <description>The counter counts up and down alternatively. Output compare interrupt flags are set both when the counter is counting up or down.</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIR</name>
              <description>Direction</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DIR</name>
                <enumeratedValue>
                  <name>Up</name>
                  <description>Counter used as upcounter</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Down</name>
                  <description>Counter used as downcounter</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OPM</name>
              <description>One-pulse mode</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>OPM</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Counter is not stopped at update event</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Counter stops counting at the next update event (clearing the CEN bit)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>URS</name>
              <description>Update request source</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>URS</name>
                <enumeratedValue>
                  <name>AnyEvent</name>
                  <description>Any of counter overflow/underflow, setting UG, or update through slave mode, generates an update interrupt or DMA request</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CounterOnly</name>
                  <description>Only counter overflow/underflow generates an update interrupt or DMA request</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>UDIS</name>
              <description>Update disable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>UDIS</name>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Update event enabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Update event disabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CEN</name>
              <description>Counter enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Counter disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Counter enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CR2</name>
          <displayName>CR2</displayName>
          <description>control register 2</description>
          <addressOffset>0x4</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TI1S</name>
              <description>TI1 selection</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TI1S</name>
                <enumeratedValue>
                  <name>Normal</name>
                  <description>The TIMx_CH1 pin is connected to TI1 input</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>XOR</name>
                  <description>The TIMx_CH1, CH2, CH3 pins are connected to TI1 input</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MMS</name>
              <description>Master mode selection</description>
              <bitOffset>4</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>MMS</name>
                <enumeratedValue>
                  <name>Reset</name>
                  <description>The UG bit from the TIMx_EGR register is used as trigger output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enable</name>
                  <description>The counter enable signal, CNT_EN, is used as trigger output</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Update</name>
                  <description>The update event is selected as trigger output</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ComparePulse</name>
                  <description>The trigger output send a positive pulse when the CC1IF flag it to be set, as soon as a capture or a compare match occurred</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CompareOC1</name>
                  <description>OC1REF signal is used as trigger output</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CompareOC2</name>
                  <description>OC2REF signal is used as trigger output</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CompareOC3</name>
                  <description>OC3REF signal is used as trigger output</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CompareOC4</name>
                  <description>OC4REF signal is used as trigger output</description>
                  <value>7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CCDS</name>
              <description>Capture/compare DMA
              selection</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CCDS</name>
                <enumeratedValue>
                  <name>OnCompare</name>
                  <description>CCx DMA request sent when CCx event occurs</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OnUpdate</name>
                  <description>CCx DMA request sent when update event occurs</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>SMCR</name>
          <displayName>SMCR</displayName>
          <description>slave mode control register</description>
          <addressOffset>0x8</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TS2</name>
              <description>Trigger selection</description>
              <bitOffset>20</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>SMS_3</name>
              <description>Slave mode selection - bit
              3</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ETP</name>
              <description>External trigger polarity</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ETP</name>
                <enumeratedValue>
                  <name>NotInverted</name>
                  <description>ETR is noninverted, active at high level or rising edge</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Inverted</name>
                  <description>ETR is inverted, active at low level or falling edge</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ECE</name>
              <description>External clock enable</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ECE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>External clock mode 2 disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>External clock mode 2 enabled. The counter is clocked by any active edge on the ETRF signal.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ETPS</name>
              <description>External trigger prescaler</description>
              <bitOffset>12</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>ETPS</name>
                <enumeratedValue>
                  <name>Div1</name>
                  <description>Prescaler OFF</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div2</name>
                  <description>ETRP frequency divided by 2</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div4</name>
                  <description>ETRP frequency divided by 4</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div8</name>
                  <description>ETRP frequency divided by 8</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ETF</name>
              <description>External trigger filter</description>
              <bitOffset>8</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues>
                <name>ETF</name>
                <enumeratedValue>
                  <name>NoFilter</name>
                  <description>No filter, sampling is done at fDTS</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FCK_INT_N2</name>
                  <description>fSAMPLING=fCK_INT, N=2</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FCK_INT_N4</name>
                  <description>fSAMPLING=fCK_INT, N=4</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FCK_INT_N8</name>
                  <description>fSAMPLING=fCK_INT, N=8</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div2_N6</name>
                  <description>fSAMPLING=fDTS/2, N=6</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div2_N8</name>
                  <description>fSAMPLING=fDTS/2, N=8</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div4_N6</name>
                  <description>fSAMPLING=fDTS/4, N=6</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div4_N8</name>
                  <description>fSAMPLING=fDTS/4, N=8</description>
                  <value>7</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div8_N6</name>
                  <description>fSAMPLING=fDTS/8, N=6</description>
                  <value>8</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div8_N8</name>
                  <description>fSAMPLING=fDTS/8, N=8</description>
                  <value>9</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div16_N5</name>
                  <description>fSAMPLING=fDTS/16, N=5</description>
                  <value>10</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div16_N6</name>
                  <description>fSAMPLING=fDTS/16, N=6</description>
                  <value>11</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div16_N8</name>
                  <description>fSAMPLING=fDTS/16, N=8</description>
                  <value>12</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div32_N5</name>
                  <description>fSAMPLING=fDTS/32, N=5</description>
                  <value>13</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div32_N6</name>
                  <description>fSAMPLING=fDTS/32, N=6</description>
                  <value>14</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div32_N8</name>
                  <description>fSAMPLING=fDTS/32, N=8</description>
                  <value>15</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MSM</name>
              <description>Master/Slave mode</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>MSM</name>
                <enumeratedValue>
                  <name>NoSync</name>
                  <description>No action</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Sync</name>
                  <description>The effect of an event on the trigger input (TRGI) is delayed to allow a perfect synchronization between the current timer and its slaves (through TRGO). It is useful if we want to synchronize several timers on a single external event.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TS</name>
              <description>Trigger selection</description>
              <bitOffset>4</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>TS</name>
                <enumeratedValue>
                  <name>ITR0</name>
                  <description>Internal Trigger 0 (ITR0)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ITR1</name>
                  <description>Internal Trigger 1 (ITR1)</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ITR2</name>
                  <description>Internal Trigger 2 (ITR2)</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TI1F_ED</name>
                  <description>TI1 Edge Detector (TI1F_ED)</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TI1FP1</name>
                  <description>Filtered Timer Input 1 (TI1FP1)</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TI2FP2</name>
                  <description>Filtered Timer Input 2 (TI2FP2)</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ETRF</name>
                  <description>External Trigger input (ETRF)</description>
                  <value>7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SMS</name>
              <description>Slave mode selection</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>SMS</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Slave mode disabled - if CEN = ‘1 then the prescaler is clocked directly by the internal clock.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Encoder_Mode_1</name>
                  <description>Encoder mode 1 - Counter counts up/down on TI2FP1 edge depending on TI1FP2 level.</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Encoder_Mode_2</name>
                  <description>Encoder mode 2 - Counter counts up/down on TI1FP2 edge depending on TI2FP1 level.</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Encoder_Mode_3</name>
                  <description>Encoder mode 3 - Counter counts up/down on both TI1FP1 and TI2FP2 edges depending on the level of the other input.</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Reset_Mode</name>
                  <description>Reset Mode - Rising edge of the selected trigger input (TRGI) reinitializes the counter and generates an update of the registers.</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Gated_Mode</name>
                  <description>Gated Mode - The counter clock is enabled when the trigger input (TRGI) is high. The counter stops (but is not reset) as soon as the trigger becomes low. Both start and stop of the counter are controlled.</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Trigger_Mode</name>
                  <description>Trigger Mode - The counter starts at a rising edge of the trigger TRGI (but it is not reset). Only the start of the counter is controlled.</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Ext_Clock_Mode</name>
                  <description>External Clock Mode 1 - Rising edges of the selected trigger (TRGI) clock the counter.</description>
                  <value>7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>DIER</name>
          <displayName>DIER</displayName>
          <description>DMA/Interrupt enable register</description>
          <addressOffset>0xC</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TDE</name>
              <description>Trigger DMA request enable</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TDE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Trigger DMA request disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Trigger DMA request enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>4</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-4</dimIndex>
              <name>CC%sDE</name>
              <description>Capture/Compare %s DMA request enable</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CC1DE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>CCx DMA request disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>CCx DMA request enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>UDE</name>
              <description>Update DMA request enable</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>UDE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Update DMA request disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Update DMA request enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TIE</name>
              <description>Trigger interrupt enable</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Trigger interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Trigger interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>4</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-4</dimIndex>
              <name>CC%sIE</name>
              <description>Capture/Compare %s interrupt enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CC1IE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>CCx interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>CCx interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>UIE</name>
              <description>Update interrupt enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>UIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Update interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Update interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>SR</name>
          <displayName>SR</displayName>
          <description>status register</description>
          <addressOffset>0x10</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>4</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-4</dimIndex>
              <name>CC%sOF</name>
              <description>Capture/Compare %s overcapture flag</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>zeroToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>CC1OFR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoOvercapture</name>
                  <description>No overcapture has been detected</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Overcapture</name>
                  <description>The counter value has been captured in TIMx_CCRx register while CCxIF flag was already set</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>CC1OFW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear flag</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TIF</name>
              <description>Trigger interrupt flag</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>zeroToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>TIFR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoTrigger</name>
                  <description>No trigger event occurred</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Trigger</name>
                  <description>Trigger interrupt pending</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>TIFW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear flag</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>4</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-4</dimIndex>
              <name>CC%sIF</name>
              <description>Capture/compare %s interrupt flag</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>zeroToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>CC1IFR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoMatch</name>
                  <description>No campture/compare has been detected</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Match</name>
                  <description>If CC1 is an output: The content of the counter TIMx_CNT matches the content of the TIMx_CCR1 register. If CC1 is an input: The counter value has been captured in TIMx_CCR1 register.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>CC1IFW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear flag</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>UIF</name>
              <description>Update interrupt flag</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>zeroToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>UIFR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoUpdateOccurred</name>
                  <description>No update occurred</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>UpdatePending</name>
                  <description>Update interrupt pending</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>UIFW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear flag</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>EGR</name>
          <displayName>EGR</displayName>
          <description>event generation register</description>
          <addressOffset>0x14</addressOffset>
          <size>0x10</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TG</name>
              <description>Trigger generation</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TGW</name>
                <enumeratedValue>
                  <name>Trigger</name>
                  <description>The TIF flag is set in TIMx_SR register. Related interrupt or DMA transfer can occur if enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>4</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-4</dimIndex>
              <name>CC%sG</name>
              <description>Capture/compare %s generation</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CC1GW</name>
                <enumeratedValue>
                  <name>Trigger</name>
                  <description>If CC1 is an output: CC1IF flag is set, Corresponding interrupt or DMA request is sent if enabled. If CC1 is an input: The current value of the counter is captured in TIMx_CCR1 register.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>UG</name>
              <description>Update generation</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>UG</name>
                <enumeratedValue>
                  <name>Update</name>
                  <description>Re-initializes the timer counter and generates an update of the registers.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CCMR1_Output</name>
          <displayName>CCMR1_Output</displayName>
          <description>capture/compare mode register 1 (output
          mode)</description>
          <addressOffset>0x18</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>2</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>CC%sS</name>
              <description>Capture/Compare %s selection</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>CC1S</name>
                <enumeratedValue>
                  <name>Output</name>
                  <description>CCx channel is configured as output</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>2</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>OC%sFE</name>
              <description>Output compare %s fast enable</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>OC1FE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Fast output disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Fast output enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>2</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>OC%sPE</name>
              <description>Output compare %s preload enable</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>OC1PE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Preload register on CCRx disabled. New values written to CCRx are taken into account immediately</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Preload register on CCRx enabled. Preload value is loaded into active register on each update event</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>2</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>OC%sM</name>
              <description>Output compare %s mode</description>
              <bitOffset>4</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>OC1M</name>
                <enumeratedValue>
                  <name>Frozen</name>
                  <description>The comparison between the output compare register TIMx_CCRy and the counter TIMx_CNT has no effect on the outputs / OpmMode1: Retriggerable OPM mode 1 - In up-counting mode, the channel is active until a trigger event is detected (on TRGI signal). In down-counting mode, the channel is inactive</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ActiveOnMatch</name>
                  <description>Set channel to active level on match. OCyREF signal is forced high when the counter matches the capture/compare register / OpmMode2: Inversely to OpmMode1</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>InactiveOnMatch</name>
                  <description>Set channel to inactive level on match. OCyREF signal is forced low when the counter matches the capture/compare register / Reserved</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Toggle</name>
                  <description>OCyREF toggles when TIMx_CNT=TIMx_CCRy / Reserved</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ForceInactive</name>
                  <description>OCyREF is forced low / CombinedPwmMode1: OCyREF has the same behavior as in PWM mode 1. OCyREFC is the logical OR between OC1REF and OC2REF</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ForceActive</name>
                  <description>OCyREF is forced high / CombinedPwmMode2: OCyREF has the same behavior as in PWM mode 2. OCyREFC is the logical AND between OC1REF and OC2REF</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PwmMode1</name>
                  <description>In upcounting, channel is active as long as TIMx_CNT&lt;TIMx_CCRy else inactive. In downcounting, channel is inactive as long as TIMx_CNT&gt;TIMx_CCRy else active / AsymmetricPwmMode1: OCyREF has the same behavior as in PWM mode 1. OCyREFC outputs OC1REF when the counter is counting up, OC2REF when it is counting down</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PwmMode2</name>
                  <description>Inversely to PwmMode1 / AsymmetricPwmMode2: Inversely to AsymmetricPwmMode1</description>
                  <value>7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>2</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>OC%sCE</name>
              <description>Output compare %s clear enable</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>OC1CE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>OCxRef is not affected by the ETRF signal</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>OCxRef is cleared as soon as a High level is detected on ETRF signal</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>2</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>OC%sM_3</name>
              <description>Output compare %s mode, bit 3</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>OC1M_3</name>
                <enumeratedValue>
                  <name>Normal</name>
                  <description>Normal output compare mode (modes 0-7)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Extended</name>
                  <description>Extended output compare mode (modes 7-15)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CCMR1_Input</name>
          <displayName>CCMR1_Input</displayName>
          <description>capture/compare mode register 1 (input
          mode)</description>
          <alternateRegister>CCMR1_Output</alternateRegister>
          <addressOffset>0x18</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>2</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>IC%sF</name>
              <description>Input capture %s filter</description>
              <bitOffset>4</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues>
                <name>ICFilter</name>
                <enumeratedValue>
                  <name>NoFilter</name>
                  <description>No filter, sampling is done at fDTS</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FCK_INT_N2</name>
                  <description>fSAMPLING=fCK_INT, N=2</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FCK_INT_N4</name>
                  <description>fSAMPLING=fCK_INT, N=4</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FCK_INT_N8</name>
                  <description>fSAMPLING=fCK_INT, N=8</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div2_N6</name>
                  <description>fSAMPLING=fDTS/2, N=6</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div2_N8</name>
                  <description>fSAMPLING=fDTS/2, N=8</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div4_N6</name>
                  <description>fSAMPLING=fDTS/4, N=6</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div4_N8</name>
                  <description>fSAMPLING=fDTS/4, N=8</description>
                  <value>7</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div8_N6</name>
                  <description>fSAMPLING=fDTS/8, N=6</description>
                  <value>8</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div8_N8</name>
                  <description>fSAMPLING=fDTS/8, N=8</description>
                  <value>9</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div16_N5</name>
                  <description>fSAMPLING=fDTS/16, N=5</description>
                  <value>10</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div16_N6</name>
                  <description>fSAMPLING=fDTS/16, N=6</description>
                  <value>11</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div16_N8</name>
                  <description>fSAMPLING=fDTS/16, N=8</description>
                  <value>12</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div32_N5</name>
                  <description>fSAMPLING=fDTS/32, N=5</description>
                  <value>13</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div32_N6</name>
                  <description>fSAMPLING=fDTS/32, N=6</description>
                  <value>14</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div32_N8</name>
                  <description>fSAMPLING=fDTS/32, N=8</description>
                  <value>15</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>2</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>IC%sPSC</name>
              <description>Input capture %s prescaler</description>
              <bitOffset>2</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>ICPrescaler</name>
                <enumeratedValue>
                  <name>NoPrescaler</name>
                  <description>No prescaler, capture is done each time an edge is detected on the capture input</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TwoEvents</name>
                  <description>Capture is done once every 2 events</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FourEvents</name>
                  <description>Capture is done once every 4 events</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>EightEvents</name>
                  <description>Capture is done once every 8 events</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CC2S</name>
              <description>Capture/Compare 2
              selection</description>
              <bitOffset>8</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>CC2S</name>
                <enumeratedValue>
                  <name>TI2</name>
                  <description>CC2 channel is configured as input, IC2 is mapped on TI2</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TI1</name>
                  <description>CC2 channel is configured as input, IC2 is mapped on TI1</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TRC</name>
                  <description>CC2 channel is configured as input, IC2 is mapped on TRC</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CC1S</name>
              <description>Capture/Compare 1
              selection</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>CC1S</name>
                <enumeratedValue>
                  <name>TI1</name>
                  <description>CC1 channel is configured as input, IC1 is mapped on TI1</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TI2</name>
                  <description>CC1 channel is configured as input, IC1 is mapped on TI2</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TRC</name>
                  <description>CC1 channel is configured as input, IC1 is mapped on TRC</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CCMR2_Output</name>
          <displayName>CCMR2_Output</displayName>
          <description>capture/compare mode register 2 (output
          mode)</description>
          <addressOffset>0x1C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field derivedFrom="TIM2.CCMR1_Output.OC%sM_3">
              <dim>2</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>3-4</dimIndex>
              <name>OC%sM_3</name>
              <description>Output compare %s mode, bit 3</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="TIM2.CCMR1_Output.OC%sCE">
              <dim>2</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>3-4</dimIndex>
              <name>OC%sCE</name>
              <description>Output compare %s clear enable</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="TIM2.CCMR1_Output.OC%sM">
              <dim>2</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>3-4</dimIndex>
              <name>OC%sM</name>
              <description>Output compare %s mode</description>
              <bitOffset>4</bitOffset>
              <bitWidth>3</bitWidth>
            </field>
            <field derivedFrom="TIM2.CCMR1_Output.OC%sPE">
              <dim>2</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>3-4</dimIndex>
              <name>OC%sPE</name>
              <description>Output compare %s preload enable</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="TIM2.CCMR1_Output.OC%sFE">
              <dim>2</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>3-4</dimIndex>
              <name>OC%sFE</name>
              <description>Output compare %s fast enable</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="TIM2.CCMR1_Output.CC%sS">
              <dim>2</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>3-4</dimIndex>
              <name>CC%sS</name>
              <description>Capture/Compare %s selection</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CCMR2_Input</name>
          <displayName>CCMR2_Input</displayName>
          <description>capture/compare mode register 2 (input
          mode)</description>
          <alternateRegister>CCMR2_Output</alternateRegister>
          <addressOffset>0x1C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field derivedFrom="TIM2.CCMR1_Input.IC%sF">
              <dim>2</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>3-4</dimIndex>
              <name>IC%sF</name>
              <description>Input capture %s filter</description>
              <bitOffset>4</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field derivedFrom="TIM2.CCMR1_Input.IC%sPSC">
              <dim>2</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>3-4</dimIndex>
              <name>IC%sPSC</name>
              <description>Input capture %s prescaler</description>
              <bitOffset>2</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>CC4S</name>
              <description>Capture/Compare 4
              selection</description>
              <bitOffset>8</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>CC4S</name>
                <enumeratedValue>
                  <name>TI4</name>
                  <description>CC4 channel is configured as input, IC4 is mapped on TI4</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TI3</name>
                  <description>CC4 channel is configured as input, IC4 is mapped on TI3</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TRC</name>
                  <description>CC4 channel is configured as input, IC4 is mapped on TRC</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CC3S</name>
              <description>Capture/compare 3
              selection</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>CC3S</name>
                <enumeratedValue>
                  <name>TI3</name>
                  <description>CC3 channel is configured as input, IC3 is mapped on TI3</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TI4</name>
                  <description>CC3 channel is configured as input, IC3 is mapped on TI4</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TRC</name>
                  <description>CC3 channel is configured as input, IC3 is mapped on TRC</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CCER</name>
          <displayName>CCER</displayName>
          <description>capture/compare enable
          register</description>
          <addressOffset>0x20</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>4</dim>
              <dimIncrement>0x4</dimIncrement>
              <dimIndex>1-4</dimIndex>
              <name>CC%sNP</name>
              <description>Capture/Compare %s output Polarity</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <dim>4</dim>
              <dimIncrement>0x4</dimIncrement>
              <dimIndex>1-4</dimIndex>
              <name>CC%sP</name>
              <description>Capture/Compare %s output Polarity</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CC1P</name>
                <enumeratedValue>
                  <name>RisingEdge</name>
                  <description>Noninverted/rising edge</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FallingEdge</name>
                  <description>Inverted/falling edge</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>4</dim>
              <dimIncrement>0x4</dimIncrement>
              <dimIndex>1-4</dimIndex>
              <name>CC%sE</name>
              <description>Capture/Compare %s output enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CC1E</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Capture disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Capture enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CNT</name>
          <displayName>CNT</displayName>
          <description>counter</description>
          <addressOffset>0x24</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CNT</name>
              <description>low counter value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CNT32</name>
          <displayName>CNT32</displayName>
          <description>32-bit counter register</description>
          <alternateRegister>CNT</alternateRegister>
          <addressOffset>0x24</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CNT</name>
              <description>counter value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4294967295</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>PSC</name>
          <displayName>PSC</displayName>
          <description>prescaler</description>
          <addressOffset>0x28</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>PSC</name>
              <description>Prescaler value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>ARR</name>
          <displayName>ARR</displayName>
          <description>auto-reload register</description>
          <addressOffset>0x2C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>ARR</name>
              <description>Auto-reload value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4294967295</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <dim>4</dim>
          <dimIncrement>0x4</dimIncrement>
          <dimIndex>1-4</dimIndex>
          <name>CCR%s</name>
          <displayName>CCR%s</displayName>
          <description>capture/compare register</description>
          <addressOffset>0x34</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CCR</name>
              <description>Capture/Compare value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4294967295</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>DCR</name>
          <displayName>DCR</displayName>
          <description>DMA control register</description>
          <addressOffset>0x48</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DBL</name>
              <description>DMA burst length</description>
              <bitOffset>8</bitOffset>
              <bitWidth>5</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>18</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>DBA</name>
              <description>DMA base address</description>
              <bitOffset>0</bitOffset>
              <bitWidth>5</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>31</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>DMAR</name>
          <displayName>DMAR</displayName>
          <description>DMA address for full transfer</description>
          <addressOffset>0x4C</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DMAB</name>
              <description>DMA register for burst
              accesses</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>AF1</name>
          <displayName>AF1</displayName>
          <description>TIM alternate function option register
          1</description>
          <addressOffset>0x60</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>ETRSEL</name>
              <description>ETR source selection</description>
              <bitOffset>14</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>TISEL</name>
          <displayName>TISEL</displayName>
          <description>TIM timer input selection
          register</description>
          <addressOffset>0x68</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TI1SEL</name>
              <description>TI1[0] to TI1[15] input
              selection</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>TI2SEL</name>
              <description>TI2[0] to TI2[15] input
              selection</description>
              <bitOffset>8</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>TI3SEL</name>
              <description>TI3[0] to TI3[15] input
              selection</description>
              <bitOffset>16</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>TI4SEL</name>
              <description>TI4[0] to TI4[15] input
              selection</description>
              <bitOffset>24</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>TIM3</name>
      <description>General purpose timers</description>
      <groupName>TIM</groupName>
      <baseAddress>0x40000400</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>TIM3</name>
        <description>TIM3 global interrupt</description>
        <value>29</value>
      </interrupt>
      <registers>
        <register>
          <name>CR1</name>
          <displayName>CR1</displayName>
          <description>control register 1</description>
          <addressOffset>0x0</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>UIFREMAP</name>
              <description>UIF status bit remapping</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CKD</name>
              <description>Clock division</description>
              <bitOffset>8</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>CKD</name>
                <enumeratedValue>
                  <name>Div1</name>
                  <description>t_DTS = t_CK_INT</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div2</name>
                  <description>t_DTS = 2 × t_CK_INT</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div4</name>
                  <description>t_DTS = 4 × t_CK_INT</description>
                  <value>2</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ARPE</name>
              <description>Auto-reload preload enable</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ARPE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>TIMx_APRR register is not buffered</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>TIMx_APRR register is buffered</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CMS</name>
              <description>Center-aligned mode
              selection</description>
              <bitOffset>5</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>CMS</name>
                <enumeratedValue>
                  <name>EdgeAligned</name>
                  <description>The counter counts up or down depending on the direction bit</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CenterAligned1</name>
                  <description>The counter counts up and down alternatively. Output compare interrupt flags are set only when the counter is counting down.</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CenterAligned2</name>
                  <description>The counter counts up and down alternatively. Output compare interrupt flags are set only when the counter is counting up.</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CenterAligned3</name>
                  <description>The counter counts up and down alternatively. Output compare interrupt flags are set both when the counter is counting up or down.</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DIR</name>
              <description>Direction</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DIR</name>
                <enumeratedValue>
                  <name>Up</name>
                  <description>Counter used as upcounter</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Down</name>
                  <description>Counter used as downcounter</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OPM</name>
              <description>One-pulse mode</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>OPM</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Counter is not stopped at update event</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Counter stops counting at the next update event (clearing the CEN bit)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>URS</name>
              <description>Update request source</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>URS</name>
                <enumeratedValue>
                  <name>AnyEvent</name>
                  <description>Any of counter overflow/underflow, setting UG, or update through slave mode, generates an update interrupt or DMA request</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CounterOnly</name>
                  <description>Only counter overflow/underflow generates an update interrupt or DMA request</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>UDIS</name>
              <description>Update disable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>UDIS</name>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Update event enabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Update event disabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CEN</name>
              <description>Counter enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Counter disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Counter enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CR2</name>
          <displayName>CR2</displayName>
          <description>control register 2</description>
          <addressOffset>0x4</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TI1S</name>
              <description>TI1 selection</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TI1S</name>
                <enumeratedValue>
                  <name>Normal</name>
                  <description>The TIMx_CH1 pin is connected to TI1 input</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>XOR</name>
                  <description>The TIMx_CH1, CH2, CH3 pins are connected to TI1 input</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MMS</name>
              <description>Master mode selection</description>
              <bitOffset>4</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>MMS</name>
                <enumeratedValue>
                  <name>Reset</name>
                  <description>The UG bit from the TIMx_EGR register is used as trigger output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enable</name>
                  <description>The counter enable signal, CNT_EN, is used as trigger output</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Update</name>
                  <description>The update event is selected as trigger output</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ComparePulse</name>
                  <description>The trigger output send a positive pulse when the CC1IF flag it to be set, as soon as a capture or a compare match occurred</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CompareOC1</name>
                  <description>OC1REF signal is used as trigger output</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CompareOC2</name>
                  <description>OC2REF signal is used as trigger output</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CompareOC3</name>
                  <description>OC3REF signal is used as trigger output</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CompareOC4</name>
                  <description>OC4REF signal is used as trigger output</description>
                  <value>7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CCDS</name>
              <description>Capture/compare DMA
              selection</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CCDS</name>
                <enumeratedValue>
                  <name>OnCompare</name>
                  <description>CCx DMA request sent when CCx event occurs</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OnUpdate</name>
                  <description>CCx DMA request sent when update event occurs</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>SMCR</name>
          <displayName>SMCR</displayName>
          <description>slave mode control register</description>
          <addressOffset>0x8</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TS2</name>
              <description>Trigger selection</description>
              <bitOffset>20</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>SMS_3</name>
              <description>Slave mode selection - bit
              3</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ETP</name>
              <description>External trigger polarity</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ETP</name>
                <enumeratedValue>
                  <name>NotInverted</name>
                  <description>ETR is noninverted, active at high level or rising edge</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Inverted</name>
                  <description>ETR is inverted, active at low level or falling edge</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ECE</name>
              <description>External clock enable</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ECE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>External clock mode 2 disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>External clock mode 2 enabled. The counter is clocked by any active edge on the ETRF signal.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ETPS</name>
              <description>External trigger prescaler</description>
              <bitOffset>12</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>ETPS</name>
                <enumeratedValue>
                  <name>Div1</name>
                  <description>Prescaler OFF</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div2</name>
                  <description>ETRP frequency divided by 2</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div4</name>
                  <description>ETRP frequency divided by 4</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div8</name>
                  <description>ETRP frequency divided by 8</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ETF</name>
              <description>External trigger filter</description>
              <bitOffset>8</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues>
                <name>ETF</name>
                <enumeratedValue>
                  <name>NoFilter</name>
                  <description>No filter, sampling is done at fDTS</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FCK_INT_N2</name>
                  <description>fSAMPLING=fCK_INT, N=2</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FCK_INT_N4</name>
                  <description>fSAMPLING=fCK_INT, N=4</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FCK_INT_N8</name>
                  <description>fSAMPLING=fCK_INT, N=8</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div2_N6</name>
                  <description>fSAMPLING=fDTS/2, N=6</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div2_N8</name>
                  <description>fSAMPLING=fDTS/2, N=8</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div4_N6</name>
                  <description>fSAMPLING=fDTS/4, N=6</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div4_N8</name>
                  <description>fSAMPLING=fDTS/4, N=8</description>
                  <value>7</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div8_N6</name>
                  <description>fSAMPLING=fDTS/8, N=6</description>
                  <value>8</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div8_N8</name>
                  <description>fSAMPLING=fDTS/8, N=8</description>
                  <value>9</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div16_N5</name>
                  <description>fSAMPLING=fDTS/16, N=5</description>
                  <value>10</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div16_N6</name>
                  <description>fSAMPLING=fDTS/16, N=6</description>
                  <value>11</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div16_N8</name>
                  <description>fSAMPLING=fDTS/16, N=8</description>
                  <value>12</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div32_N5</name>
                  <description>fSAMPLING=fDTS/32, N=5</description>
                  <value>13</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div32_N6</name>
                  <description>fSAMPLING=fDTS/32, N=6</description>
                  <value>14</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div32_N8</name>
                  <description>fSAMPLING=fDTS/32, N=8</description>
                  <value>15</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MSM</name>
              <description>Master/Slave mode</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>MSM</name>
                <enumeratedValue>
                  <name>NoSync</name>
                  <description>No action</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Sync</name>
                  <description>The effect of an event on the trigger input (TRGI) is delayed to allow a perfect synchronization between the current timer and its slaves (through TRGO). It is useful if we want to synchronize several timers on a single external event.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TS</name>
              <description>Trigger selection</description>
              <bitOffset>4</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>TS</name>
                <enumeratedValue>
                  <name>ITR0</name>
                  <description>Internal Trigger 0 (ITR0)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ITR1</name>
                  <description>Internal Trigger 1 (ITR1)</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ITR2</name>
                  <description>Internal Trigger 2 (ITR2)</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TI1F_ED</name>
                  <description>TI1 Edge Detector (TI1F_ED)</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TI1FP1</name>
                  <description>Filtered Timer Input 1 (TI1FP1)</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TI2FP2</name>
                  <description>Filtered Timer Input 2 (TI2FP2)</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ETRF</name>
                  <description>External Trigger input (ETRF)</description>
                  <value>7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SMS</name>
              <description>Slave mode selection</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>SMS</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Slave mode disabled - if CEN = ‘1 then the prescaler is clocked directly by the internal clock.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Encoder_Mode_1</name>
                  <description>Encoder mode 1 - Counter counts up/down on TI2FP1 edge depending on TI1FP2 level.</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Encoder_Mode_2</name>
                  <description>Encoder mode 2 - Counter counts up/down on TI1FP2 edge depending on TI2FP1 level.</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Encoder_Mode_3</name>
                  <description>Encoder mode 3 - Counter counts up/down on both TI1FP1 and TI2FP2 edges depending on the level of the other input.</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Reset_Mode</name>
                  <description>Reset Mode - Rising edge of the selected trigger input (TRGI) reinitializes the counter and generates an update of the registers.</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Gated_Mode</name>
                  <description>Gated Mode - The counter clock is enabled when the trigger input (TRGI) is high. The counter stops (but is not reset) as soon as the trigger becomes low. Both start and stop of the counter are controlled.</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Trigger_Mode</name>
                  <description>Trigger Mode - The counter starts at a rising edge of the trigger TRGI (but it is not reset). Only the start of the counter is controlled.</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Ext_Clock_Mode</name>
                  <description>External Clock Mode 1 - Rising edges of the selected trigger (TRGI) clock the counter.</description>
                  <value>7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>DIER</name>
          <displayName>DIER</displayName>
          <description>DMA/Interrupt enable register</description>
          <addressOffset>0xC</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TDE</name>
              <description>Trigger DMA request enable</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TDE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Trigger DMA request disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Trigger DMA request enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>4</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-4</dimIndex>
              <name>CC%sDE</name>
              <description>Capture/Compare %s DMA request enable</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CC1DE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>CCx DMA request disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>CCx DMA request enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>UDE</name>
              <description>Update DMA request enable</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>UDE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Update DMA request disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Update DMA request enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TIE</name>
              <description>Trigger interrupt enable</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Trigger interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Trigger interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>4</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-4</dimIndex>
              <name>CC%sIE</name>
              <description>Capture/Compare %s interrupt enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CC1IE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>CCx interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>CCx interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>UIE</name>
              <description>Update interrupt enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>UIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Update interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Update interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>SR</name>
          <displayName>SR</displayName>
          <description>status register</description>
          <addressOffset>0x10</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>4</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-4</dimIndex>
              <name>CC%sOF</name>
              <description>Capture/Compare %s overcapture flag</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>zeroToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>CC1OFR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoOvercapture</name>
                  <description>No overcapture has been detected</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Overcapture</name>
                  <description>The counter value has been captured in TIMx_CCRx register while CCxIF flag was already set</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>CC1OFW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear flag</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TIF</name>
              <description>Trigger interrupt flag</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>zeroToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>TIFR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoTrigger</name>
                  <description>No trigger event occurred</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Trigger</name>
                  <description>Trigger interrupt pending</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>TIFW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear flag</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>4</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-4</dimIndex>
              <name>CC%sIF</name>
              <description>Capture/compare %s interrupt flag</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>zeroToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>CC1IFR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoMatch</name>
                  <description>No campture/compare has been detected</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Match</name>
                  <description>If CC1 is an output: The content of the counter TIMx_CNT matches the content of the TIMx_CCR1 register. If CC1 is an input: The counter value has been captured in TIMx_CCR1 register.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>CC1IFW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear flag</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>UIF</name>
              <description>Update interrupt flag</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>zeroToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>UIFR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoUpdateOccurred</name>
                  <description>No update occurred</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>UpdatePending</name>
                  <description>Update interrupt pending</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>UIFW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear flag</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>EGR</name>
          <displayName>EGR</displayName>
          <description>event generation register</description>
          <addressOffset>0x14</addressOffset>
          <size>0x10</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TG</name>
              <description>Trigger generation</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TGW</name>
                <enumeratedValue>
                  <name>Trigger</name>
                  <description>The TIF flag is set in TIMx_SR register. Related interrupt or DMA transfer can occur if enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>4</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-4</dimIndex>
              <name>CC%sG</name>
              <description>Capture/compare %s generation</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CC1GW</name>
                <enumeratedValue>
                  <name>Trigger</name>
                  <description>If CC1 is an output: CC1IF flag is set, Corresponding interrupt or DMA request is sent if enabled. If CC1 is an input: The current value of the counter is captured in TIMx_CCR1 register.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>UG</name>
              <description>Update generation</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>UG</name>
                <enumeratedValue>
                  <name>Update</name>
                  <description>Re-initializes the timer counter and generates an update of the registers.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CCMR1_Output</name>
          <displayName>CCMR1_Output</displayName>
          <description>capture/compare mode register 1 (output
          mode)</description>
          <addressOffset>0x18</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>2</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>CC%sS</name>
              <description>Capture/Compare %s selection</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>CC1S</name>
                <enumeratedValue>
                  <name>Output</name>
                  <description>CCx channel is configured as output</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>2</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>OC%sFE</name>
              <description>Output compare %s fast enable</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>OC1FE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Fast output disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Fast output enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>2</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>OC%sPE</name>
              <description>Output compare %s preload enable</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>OC1PE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Preload register on CCRx disabled. New values written to CCRx are taken into account immediately</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Preload register on CCRx enabled. Preload value is loaded into active register on each update event</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>2</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>OC%sM</name>
              <description>Output compare %s mode</description>
              <bitOffset>4</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>OC1M</name>
                <enumeratedValue>
                  <name>Frozen</name>
                  <description>The comparison between the output compare register TIMx_CCRy and the counter TIMx_CNT has no effect on the outputs / OpmMode1: Retriggerable OPM mode 1 - In up-counting mode, the channel is active until a trigger event is detected (on TRGI signal). In down-counting mode, the channel is inactive</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ActiveOnMatch</name>
                  <description>Set channel to active level on match. OCyREF signal is forced high when the counter matches the capture/compare register / OpmMode2: Inversely to OpmMode1</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>InactiveOnMatch</name>
                  <description>Set channel to inactive level on match. OCyREF signal is forced low when the counter matches the capture/compare register / Reserved</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Toggle</name>
                  <description>OCyREF toggles when TIMx_CNT=TIMx_CCRy / Reserved</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ForceInactive</name>
                  <description>OCyREF is forced low / CombinedPwmMode1: OCyREF has the same behavior as in PWM mode 1. OCyREFC is the logical OR between OC1REF and OC2REF</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ForceActive</name>
                  <description>OCyREF is forced high / CombinedPwmMode2: OCyREF has the same behavior as in PWM mode 2. OCyREFC is the logical AND between OC1REF and OC2REF</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PwmMode1</name>
                  <description>In upcounting, channel is active as long as TIMx_CNT&lt;TIMx_CCRy else inactive. In downcounting, channel is inactive as long as TIMx_CNT&gt;TIMx_CCRy else active / AsymmetricPwmMode1: OCyREF has the same behavior as in PWM mode 1. OCyREFC outputs OC1REF when the counter is counting up, OC2REF when it is counting down</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PwmMode2</name>
                  <description>Inversely to PwmMode1 / AsymmetricPwmMode2: Inversely to AsymmetricPwmMode1</description>
                  <value>7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>2</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>OC%sCE</name>
              <description>Output compare %s clear enable</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>OC1CE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>OCxRef is not affected by the ETRF signal</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>OCxRef is cleared as soon as a High level is detected on ETRF signal</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>2</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>OC%sM_3</name>
              <description>Output compare %s mode, bit 3</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>OC1M_3</name>
                <enumeratedValue>
                  <name>Normal</name>
                  <description>Normal output compare mode (modes 0-7)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Extended</name>
                  <description>Extended output compare mode (modes 7-15)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CCMR1_Input</name>
          <displayName>CCMR1_Input</displayName>
          <description>capture/compare mode register 1 (input
          mode)</description>
          <alternateRegister>CCMR1_Output</alternateRegister>
          <addressOffset>0x18</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>2</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>IC%sF</name>
              <description>Input capture %s filter</description>
              <bitOffset>4</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues>
                <name>ICFilter</name>
                <enumeratedValue>
                  <name>NoFilter</name>
                  <description>No filter, sampling is done at fDTS</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FCK_INT_N2</name>
                  <description>fSAMPLING=fCK_INT, N=2</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FCK_INT_N4</name>
                  <description>fSAMPLING=fCK_INT, N=4</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FCK_INT_N8</name>
                  <description>fSAMPLING=fCK_INT, N=8</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div2_N6</name>
                  <description>fSAMPLING=fDTS/2, N=6</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div2_N8</name>
                  <description>fSAMPLING=fDTS/2, N=8</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div4_N6</name>
                  <description>fSAMPLING=fDTS/4, N=6</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div4_N8</name>
                  <description>fSAMPLING=fDTS/4, N=8</description>
                  <value>7</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div8_N6</name>
                  <description>fSAMPLING=fDTS/8, N=6</description>
                  <value>8</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div8_N8</name>
                  <description>fSAMPLING=fDTS/8, N=8</description>
                  <value>9</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div16_N5</name>
                  <description>fSAMPLING=fDTS/16, N=5</description>
                  <value>10</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div16_N6</name>
                  <description>fSAMPLING=fDTS/16, N=6</description>
                  <value>11</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div16_N8</name>
                  <description>fSAMPLING=fDTS/16, N=8</description>
                  <value>12</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div32_N5</name>
                  <description>fSAMPLING=fDTS/32, N=5</description>
                  <value>13</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div32_N6</name>
                  <description>fSAMPLING=fDTS/32, N=6</description>
                  <value>14</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div32_N8</name>
                  <description>fSAMPLING=fDTS/32, N=8</description>
                  <value>15</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>2</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>IC%sPSC</name>
              <description>Input capture %s prescaler</description>
              <bitOffset>2</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>ICPrescaler</name>
                <enumeratedValue>
                  <name>NoPrescaler</name>
                  <description>No prescaler, capture is done each time an edge is detected on the capture input</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TwoEvents</name>
                  <description>Capture is done once every 2 events</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FourEvents</name>
                  <description>Capture is done once every 4 events</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>EightEvents</name>
                  <description>Capture is done once every 8 events</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CC2S</name>
              <description>Capture/Compare 2
              selection</description>
              <bitOffset>8</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>CC2S</name>
                <enumeratedValue>
                  <name>TI2</name>
                  <description>CC2 channel is configured as input, IC2 is mapped on TI2</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TI1</name>
                  <description>CC2 channel is configured as input, IC2 is mapped on TI1</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TRC</name>
                  <description>CC2 channel is configured as input, IC2 is mapped on TRC</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CC1S</name>
              <description>Capture/Compare 1
              selection</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>CC1S</name>
                <enumeratedValue>
                  <name>TI1</name>
                  <description>CC1 channel is configured as input, IC1 is mapped on TI1</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TI2</name>
                  <description>CC1 channel is configured as input, IC1 is mapped on TI2</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TRC</name>
                  <description>CC1 channel is configured as input, IC1 is mapped on TRC</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CCMR2_Output</name>
          <displayName>CCMR2_Output</displayName>
          <description>capture/compare mode register 2 (output
          mode)</description>
          <addressOffset>0x1C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field derivedFrom="TIM3.CCMR1_Output.OC%sM_3">
              <dim>2</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>3-4</dimIndex>
              <name>OC%sM_3</name>
              <description>Output compare %s mode, bit 3</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="TIM3.CCMR1_Output.OC%sCE">
              <dim>2</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>3-4</dimIndex>
              <name>OC%sCE</name>
              <description>Output compare %s clear enable</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="TIM3.CCMR1_Output.OC%sM">
              <dim>2</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>3-4</dimIndex>
              <name>OC%sM</name>
              <description>Output compare %s mode</description>
              <bitOffset>4</bitOffset>
              <bitWidth>3</bitWidth>
            </field>
            <field derivedFrom="TIM3.CCMR1_Output.OC%sPE">
              <dim>2</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>3-4</dimIndex>
              <name>OC%sPE</name>
              <description>Output compare %s preload enable</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="TIM3.CCMR1_Output.OC%sFE">
              <dim>2</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>3-4</dimIndex>
              <name>OC%sFE</name>
              <description>Output compare %s fast enable</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="TIM3.CCMR1_Output.CC%sS">
              <dim>2</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>3-4</dimIndex>
              <name>CC%sS</name>
              <description>Capture/Compare %s selection</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CCMR2_Input</name>
          <displayName>CCMR2_Input</displayName>
          <description>capture/compare mode register 2 (input
          mode)</description>
          <alternateRegister>CCMR2_Output</alternateRegister>
          <addressOffset>0x1C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field derivedFrom="TIM3.CCMR1_Input.IC%sF">
              <dim>2</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>3-4</dimIndex>
              <name>IC%sF</name>
              <description>Input capture %s filter</description>
              <bitOffset>4</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field derivedFrom="TIM3.CCMR1_Input.IC%sPSC">
              <dim>2</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>3-4</dimIndex>
              <name>IC%sPSC</name>
              <description>Input capture %s prescaler</description>
              <bitOffset>2</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>CC4S</name>
              <description>Capture/Compare 4
              selection</description>
              <bitOffset>8</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>CC4S</name>
                <enumeratedValue>
                  <name>TI4</name>
                  <description>CC4 channel is configured as input, IC4 is mapped on TI4</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TI3</name>
                  <description>CC4 channel is configured as input, IC4 is mapped on TI3</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TRC</name>
                  <description>CC4 channel is configured as input, IC4 is mapped on TRC</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CC3S</name>
              <description>Capture/compare 3
              selection</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>CC3S</name>
                <enumeratedValue>
                  <name>TI3</name>
                  <description>CC3 channel is configured as input, IC3 is mapped on TI3</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TI4</name>
                  <description>CC3 channel is configured as input, IC3 is mapped on TI4</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TRC</name>
                  <description>CC3 channel is configured as input, IC3 is mapped on TRC</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CCER</name>
          <displayName>CCER</displayName>
          <description>capture/compare enable
          register</description>
          <addressOffset>0x20</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>4</dim>
              <dimIncrement>0x4</dimIncrement>
              <dimIndex>1-4</dimIndex>
              <name>CC%sNP</name>
              <description>Capture/Compare %s output Polarity</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <dim>4</dim>
              <dimIncrement>0x4</dimIncrement>
              <dimIndex>1-4</dimIndex>
              <name>CC%sP</name>
              <description>Capture/Compare %s output Polarity</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CC1P</name>
                <enumeratedValue>
                  <name>RisingEdge</name>
                  <description>Noninverted/rising edge</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FallingEdge</name>
                  <description>Inverted/falling edge</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>4</dim>
              <dimIncrement>0x4</dimIncrement>
              <dimIndex>1-4</dimIndex>
              <name>CC%sE</name>
              <description>Capture/Compare %s output enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CC1E</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Capture disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Capture enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CNT</name>
          <displayName>CNT</displayName>
          <description>counter</description>
          <addressOffset>0x24</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CNT</name>
              <description>Counter value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>CNT16</name>
          <displayName>CNT16</displayName>
          <description>16-bit counter register</description>
          <alternateRegister>CNT</alternateRegister>
          <addressOffset>0x24</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CNT</name>
              <description>counter value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-write</access>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>PSC</name>
          <displayName>PSC</displayName>
          <description>prescaler</description>
          <addressOffset>0x28</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>PSC</name>
              <description>Prescaler value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>ARR</name>
          <displayName>ARR</displayName>
          <description>auto-reload register</description>
          <addressOffset>0x2C</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x0000FFFF</resetValue>
          <fields>
            <field>
              <name>ARR</name>
              <description>Auto-reload value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <dim>4</dim>
          <dimIncrement>0x4</dimIncrement>
          <dimIndex>1-4</dimIndex>
          <name>CCR%s</name>
          <displayName>CCR%s</displayName>
          <description>capture/compare register</description>
          <addressOffset>0x34</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CCR</name>
              <description>Capture/Compare value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>DCR</name>
          <displayName>DCR</displayName>
          <description>DMA control register</description>
          <addressOffset>0x48</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DBL</name>
              <description>DMA burst length</description>
              <bitOffset>8</bitOffset>
              <bitWidth>5</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>18</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>DBA</name>
              <description>DMA base address</description>
              <bitOffset>0</bitOffset>
              <bitWidth>5</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>31</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>DMAR</name>
          <displayName>DMAR</displayName>
          <description>DMA address for full transfer</description>
          <addressOffset>0x4C</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DMAB</name>
              <description>DMA register for burst
              accesses</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>AF1</name>
          <displayName>AF1</displayName>
          <description>TIM alternate function option register
          1</description>
          <addressOffset>0x60</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>ETRSEL</name>
              <description>ETR source selection</description>
              <bitOffset>14</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>TISEL</name>
          <displayName>TISEL</displayName>
          <description>TIM timer input selection
          register</description>
          <addressOffset>0x68</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TI1SEL</name>
              <description>TI1[0] to TI1[15] input
              selection</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>TI2SEL</name>
              <description>TI2[0] to TI2[15] input
              selection</description>
              <bitOffset>8</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>TI3SEL</name>
              <description>TI3[0] to TI3[15] input
              selection</description>
              <bitOffset>16</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>TI4SEL</name>
              <description>TI4[0] to TI4[15] input
              selection</description>
              <bitOffset>24</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral derivedFrom="TIM3">
      <name>TIM4</name>
      <groupName>TIM</groupName>
      <baseAddress>0x40000800</baseAddress>
      <interrupt>
        <name>TIM4</name>
        <description>TIM4 global interrupt</description>
        <value>30</value>
      </interrupt>
    </peripheral>
    <peripheral derivedFrom="TIM2">
      <name>TIM5</name>
      <groupName>TIM</groupName>
      <baseAddress>0x40000C00</baseAddress>
      <interrupt>
        <name>TIM5</name>
        <description>TIM5 global interrupt</description>
        <value>50</value>
      </interrupt>
    </peripheral>
    <peripheral>
      <name>TIM12</name>
      <description>General purpose timers</description>
      <groupName>TIM</groupName>
      <baseAddress>0x40001800</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <registers>
        <register>
          <name>CR1</name>
          <displayName>CR1</displayName>
          <description>control register 1</description>
          <addressOffset>0x0</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>UIFREMAP</name>
              <description>UIF status bit remapping</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CKD</name>
              <description>Clock division</description>
              <bitOffset>8</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>CKD</name>
                <enumeratedValue>
                  <name>Div1</name>
                  <description>t_DTS = t_CK_INT</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div2</name>
                  <description>t_DTS = 2 × t_CK_INT</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div4</name>
                  <description>t_DTS = 4 × t_CK_INT</description>
                  <value>2</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ARPE</name>
              <description>Auto-reload preload enable</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ARPE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>TIMx_APRR register is not buffered</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>TIMx_APRR register is buffered</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OPM</name>
              <description>One-pulse mode</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>OPM</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Counter is not stopped at update event</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Counter stops counting at the next update event (clearing the CEN bit)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>URS</name>
              <description>Update request source</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>URS</name>
                <enumeratedValue>
                  <name>AnyEvent</name>
                  <description>Any of counter overflow/underflow, setting UG, or update through slave mode, generates an update interrupt or DMA request</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CounterOnly</name>
                  <description>Only counter overflow/underflow generates an update interrupt or DMA request</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>UDIS</name>
              <description>Update disable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>UDIS</name>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Update event enabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Update event disabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CEN</name>
              <description>Counter enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Counter disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Counter enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CR2</name>
          <displayName>CR2</displayName>
          <description>control register 2</description>
          <addressOffset>0x4</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TI1S</name>
              <description>TI1 selection</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>MMS</name>
              <description>Master mode selection</description>
              <bitOffset>4</bitOffset>
              <bitWidth>3</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>SMCR</name>
          <displayName>SMCR</displayName>
          <description>slave mode control register</description>
          <addressOffset>0x8</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TS2</name>
              <description>Trigger selection</description>
              <bitOffset>20</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>SMS_3</name>
              <description>Slave mode selection - bit
              3</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>MSM</name>
              <description>Master/Slave mode</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TS</name>
              <description>Trigger selection</description>
              <bitOffset>4</bitOffset>
              <bitWidth>3</bitWidth>
            </field>
            <field>
              <name>SMS</name>
              <description>Slave mode selection</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DIER</name>
          <displayName>DIER</displayName>
          <description>DMA/Interrupt enable register</description>
          <addressOffset>0xC</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TIE</name>
              <description>Trigger interrupt enable</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Trigger interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Trigger interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>2</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>CC%sIE</name>
              <description>Capture/Compare %s interrupt enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CC1IE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>CCx interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>CCx interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>UIE</name>
              <description>Update interrupt enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>UIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Update interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Update interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>SR</name>
          <displayName>SR</displayName>
          <description>status register</description>
          <addressOffset>0x10</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>2</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>CC%sOF</name>
              <description>Capture/Compare %s overcapture flag</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>zeroToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>CC1OFR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoOvercapture</name>
                  <description>No overcapture has been detected</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Overcapture</name>
                  <description>The counter value has been captured in TIMx_CCRx register while CCxIF flag was already set</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>CC1OFW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear flag</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TIF</name>
              <description>Trigger interrupt flag</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>zeroToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>TIFR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoTrigger</name>
                  <description>No trigger event occurred</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Trigger</name>
                  <description>Trigger interrupt pending</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>TIFW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear flag</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>2</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>CC%sIF</name>
              <description>Capture/compare %s interrupt flag</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>zeroToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>CC1IFR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoMatch</name>
                  <description>No campture/compare has been detected</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Match</name>
                  <description>If CC1 is an output: The content of the counter TIMx_CNT matches the content of the TIMx_CCR1 register. If CC1 is an input: The counter value has been captured in TIMx_CCR1 register.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>CC1IFW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear flag</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>UIF</name>
              <description>Update interrupt flag</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>zeroToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>UIFR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoUpdateOccurred</name>
                  <description>No update occurred</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>UpdatePending</name>
                  <description>Update interrupt pending</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>UIFW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear flag</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>EGR</name>
          <displayName>EGR</displayName>
          <description>event generation register</description>
          <addressOffset>0x14</addressOffset>
          <size>0x10</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TG</name>
              <description>Trigger generation</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TGW</name>
                <enumeratedValue>
                  <name>Trigger</name>
                  <description>The TIF flag is set in TIMx_SR register. Related interrupt or DMA transfer can occur if enabled.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>2</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>CC%sG</name>
              <description>Capture/compare %s generation</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CC1GW</name>
                <enumeratedValue>
                  <name>Trigger</name>
                  <description>If CC1 is an output: CC1IF flag is set, Corresponding interrupt or DMA request is sent if enabled. If CC1 is an input: The current value of the counter is captured in TIMx_CCR1 register.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>UG</name>
              <description>Update generation</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>UG</name>
                <enumeratedValue>
                  <name>Update</name>
                  <description>Re-initializes the timer counter and generates an update of the registers.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CCMR1_Output</name>
          <displayName>CCMR1_Output</displayName>
          <description>capture/compare mode register 1 (output
          mode)</description>
          <addressOffset>0x18</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>2</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>CC%sS</name>
              <description>Capture/Compare %s selection</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>CC1S</name>
                <enumeratedValue>
                  <name>Output</name>
                  <description>CCx channel is configured as output</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>2</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>OC%sFE</name>
              <description>Output compare %s fast enable</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>OC1FE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Fast output disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Fast output enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>2</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>OC%sPE</name>
              <description>Output compare %s preload enable</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>OC1PE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Preload register on CCRx disabled. New values written to CCRx are taken into account immediately</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Preload register on CCRx enabled. Preload value is loaded into active register on each update event</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>2</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>OC%sM</name>
              <description>Output compare %s mode</description>
              <bitOffset>4</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>OC1M</name>
                <enumeratedValue>
                  <name>Frozen</name>
                  <description>The comparison between the output compare register TIMx_CCRy and the counter TIMx_CNT has no effect on the outputs / OpmMode1: Retriggerable OPM mode 1 - In up-counting mode, the channel is active until a trigger event is detected (on TRGI signal). In down-counting mode, the channel is inactive</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ActiveOnMatch</name>
                  <description>Set channel to active level on match. OCyREF signal is forced high when the counter matches the capture/compare register / OpmMode2: Inversely to OpmMode1</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>InactiveOnMatch</name>
                  <description>Set channel to inactive level on match. OCyREF signal is forced low when the counter matches the capture/compare register / Reserved</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Toggle</name>
                  <description>OCyREF toggles when TIMx_CNT=TIMx_CCRy / Reserved</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ForceInactive</name>
                  <description>OCyREF is forced low / CombinedPwmMode1: OCyREF has the same behavior as in PWM mode 1. OCyREFC is the logical OR between OC1REF and OC2REF</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ForceActive</name>
                  <description>OCyREF is forced high / CombinedPwmMode2: OCyREF has the same behavior as in PWM mode 2. OCyREFC is the logical AND between OC1REF and OC2REF</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PwmMode1</name>
                  <description>In upcounting, channel is active as long as TIMx_CNT&lt;TIMx_CCRy else inactive. In downcounting, channel is inactive as long as TIMx_CNT&gt;TIMx_CCRy else active / Reserved</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PwmMode2</name>
                  <description>Inversely to PwmMode1 / Reserved</description>
                  <value>7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>2</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>OC%sCE</name>
              <description>Output compare %s clear enable</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <dim>2</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>OC%sM_3</name>
              <description>Output compare %s mode, bit 3</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>OC1M_3</name>
                <enumeratedValue>
                  <name>Normal</name>
                  <description>Normal output compare mode (modes 0-7)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Extended</name>
                  <description>Extended output compare mode (modes 7-15)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CCMR1_Input</name>
          <displayName>CCMR1_Input</displayName>
          <description>capture/compare mode register 1 (input
          mode)</description>
          <alternateRegister>CCMR1_Output</alternateRegister>
          <addressOffset>0x18</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>2</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>IC%sF</name>
              <description>Input capture %s filter</description>
              <bitOffset>4</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues>
                <name>ICFilter</name>
                <enumeratedValue>
                  <name>NoFilter</name>
                  <description>No filter, sampling is done at fDTS</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FCK_INT_N2</name>
                  <description>fSAMPLING=fCK_INT, N=2</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FCK_INT_N4</name>
                  <description>fSAMPLING=fCK_INT, N=4</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FCK_INT_N8</name>
                  <description>fSAMPLING=fCK_INT, N=8</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div2_N6</name>
                  <description>fSAMPLING=fDTS/2, N=6</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div2_N8</name>
                  <description>fSAMPLING=fDTS/2, N=8</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div4_N6</name>
                  <description>fSAMPLING=fDTS/4, N=6</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div4_N8</name>
                  <description>fSAMPLING=fDTS/4, N=8</description>
                  <value>7</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div8_N6</name>
                  <description>fSAMPLING=fDTS/8, N=6</description>
                  <value>8</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div8_N8</name>
                  <description>fSAMPLING=fDTS/8, N=8</description>
                  <value>9</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div16_N5</name>
                  <description>fSAMPLING=fDTS/16, N=5</description>
                  <value>10</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div16_N6</name>
                  <description>fSAMPLING=fDTS/16, N=6</description>
                  <value>11</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div16_N8</name>
                  <description>fSAMPLING=fDTS/16, N=8</description>
                  <value>12</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div32_N5</name>
                  <description>fSAMPLING=fDTS/32, N=5</description>
                  <value>13</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div32_N6</name>
                  <description>fSAMPLING=fDTS/32, N=6</description>
                  <value>14</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div32_N8</name>
                  <description>fSAMPLING=fDTS/32, N=8</description>
                  <value>15</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>2</dim>
              <dimIncrement>0x8</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>IC%sPSC</name>
              <description>Input capture %s prescaler</description>
              <bitOffset>2</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>ICPrescaler</name>
                <enumeratedValue>
                  <name>NoPrescaler</name>
                  <description>No prescaler, capture is done each time an edge is detected on the capture input</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TwoEvents</name>
                  <description>Capture is done once every 2 events</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FourEvents</name>
                  <description>Capture is done once every 4 events</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>EightEvents</name>
                  <description>Capture is done once every 8 events</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CC2S</name>
              <description>Capture/Compare 2
              selection</description>
              <bitOffset>8</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>CC2S</name>
                <enumeratedValue>
                  <name>TI2</name>
                  <description>CC2 channel is configured as input, IC2 is mapped on TI2</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TI1</name>
                  <description>CC2 channel is configured as input, IC2 is mapped on TI1</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TRC</name>
                  <description>CC2 channel is configured as input, IC2 is mapped on TRC</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CC1S</name>
              <description>Capture/Compare 1
              selection</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>CC1S</name>
                <enumeratedValue>
                  <name>TI1</name>
                  <description>CC1 channel is configured as input, IC1 is mapped on TI1</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TI2</name>
                  <description>CC1 channel is configured as input, IC1 is mapped on TI2</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TRC</name>
                  <description>CC1 channel is configured as input, IC1 is mapped on TRC</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CCER</name>
          <displayName>CCER</displayName>
          <description>capture/compare enable
          register</description>
          <addressOffset>0x20</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>2</dim>
              <dimIncrement>0x4</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>CC%sNP</name>
              <description>Capture/Compare %s output Polarity</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <dim>2</dim>
              <dimIncrement>0x4</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>CC%sP</name>
              <description>Capture/Compare %s output Polarity</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CC1P</name>
                <enumeratedValue>
                  <name>RisingEdge</name>
                  <description>Noninverted/rising edge</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FallingEdge</name>
                  <description>Inverted/falling edge</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>2</dim>
              <dimIncrement>0x4</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>CC%sE</name>
              <description>Capture/Compare %s output enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CC1E</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Capture disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Capture enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CNT</name>
          <displayName>CNT</displayName>
          <description>counter</description>
          <addressOffset>0x24</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CNT</name>
              <description>Counter value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>CNT16</name>
          <displayName>CNT16</displayName>
          <description>16-bit counter register</description>
          <alternateRegister>CNT</alternateRegister>
          <addressOffset>0x24</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CNT</name>
              <description>counter value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-write</access>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>PSC</name>
          <displayName>PSC</displayName>
          <description>prescaler</description>
          <addressOffset>0x28</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>PSC</name>
              <description>Prescaler value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>ARR</name>
          <displayName>ARR</displayName>
          <description>auto-reload register</description>
          <addressOffset>0x2C</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x0000FFFF</resetValue>
          <fields>
            <field>
              <name>ARR</name>
              <description>Auto-reload value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <dim>2</dim>
          <dimIncrement>0x4</dimIncrement>
          <dimIndex>1-2</dimIndex>
          <name>CCR%s</name>
          <displayName>CCR%s</displayName>
          <description>capture/compare register</description>
          <addressOffset>0x34</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CCR</name>
              <description>Capture/Compare value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>TISEL</name>
          <displayName>TISEL</displayName>
          <description>TIM timer input selection
          register</description>
          <addressOffset>0x68</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TI1SEL</name>
              <description>TI1[0] to TI1[15] input
              selection</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>TI2SEL</name>
              <description>TI2[0] to TI2[15] input
              selection</description>
              <bitOffset>8</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>TIM13</name>
      <description>General purpose timers</description>
      <groupName>TIM</groupName>
      <baseAddress>0x40001C00</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <registers>
        <register>
          <name>CR1</name>
          <displayName>CR1</displayName>
          <description>control register 1</description>
          <addressOffset>0x0</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>UIFREMAP</name>
              <description>UIF status bit remapping</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CKD</name>
              <description>Clock division</description>
              <bitOffset>8</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>CKD</name>
                <enumeratedValue>
                  <name>Div1</name>
                  <description>t_DTS = t_CK_INT</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div2</name>
                  <description>t_DTS = 2 × t_CK_INT</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div4</name>
                  <description>t_DTS = 4 × t_CK_INT</description>
                  <value>2</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ARPE</name>
              <description>Auto-reload preload enable</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ARPE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>TIMx_APRR register is not buffered</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>TIMx_APRR register is buffered</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OPM</name>
              <description>One-pulse mode</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>OPM</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Counter is not stopped at update event</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Counter stops counting at the next update event (clearing the CEN bit)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>URS</name>
              <description>Update request source</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>URS</name>
                <enumeratedValue>
                  <name>AnyEvent</name>
                  <description>Any of counter overflow/underflow, setting UG, or update through slave mode, generates an update interrupt or DMA request</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CounterOnly</name>
                  <description>Only counter overflow/underflow generates an update interrupt or DMA request</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>UDIS</name>
              <description>Update disable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>UDIS</name>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Update event enabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Update event disabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CEN</name>
              <description>Counter enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Counter disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Counter enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>DIER</name>
          <displayName>DIER</displayName>
          <description>DMA/Interrupt enable register</description>
          <addressOffset>0xC</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>1</dim>
              <dimIncrement>0x0</dimIncrement>
              <dimIndex>1-1</dimIndex>
              <name>CC%sIE</name>
              <description>Capture/Compare %s interrupt enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CC1IE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>CCx interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>CCx interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>UIE</name>
              <description>Update interrupt enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>UIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Update interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Update interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>SR</name>
          <displayName>SR</displayName>
          <description>status register</description>
          <addressOffset>0x10</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>1</dim>
              <dimIncrement>0x0</dimIncrement>
              <dimIndex>1-1</dimIndex>
              <name>CC%sOF</name>
              <description>Capture/Compare %s overcapture flag</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>zeroToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>CC1OFR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoOvercapture</name>
                  <description>No overcapture has been detected</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Overcapture</name>
                  <description>The counter value has been captured in TIMx_CCRx register while CCxIF flag was already set</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>CC1OFW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear flag</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>1</dim>
              <dimIncrement>0x0</dimIncrement>
              <dimIndex>1-1</dimIndex>
              <name>CC%sIF</name>
              <description>Capture/compare %s interrupt flag</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>zeroToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>CC1IFR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoMatch</name>
                  <description>No campture/compare has been detected</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Match</name>
                  <description>If CC1 is an output: The content of the counter TIMx_CNT matches the content of the TIMx_CCR1 register. If CC1 is an input: The counter value has been captured in TIMx_CCR1 register.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>CC1IFW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear flag</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>UIF</name>
              <description>Update interrupt flag</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>zeroToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>UIFR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoUpdateOccurred</name>
                  <description>No update occurred</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>UpdatePending</name>
                  <description>Update interrupt pending</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>UIFW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear flag</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>EGR</name>
          <displayName>EGR</displayName>
          <description>event generation register</description>
          <addressOffset>0x14</addressOffset>
          <size>0x10</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>1</dim>
              <dimIncrement>0x0</dimIncrement>
              <dimIndex>1-1</dimIndex>
              <name>CC%sG</name>
              <description>Capture/compare %s generation</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CC1GW</name>
                <enumeratedValue>
                  <name>Trigger</name>
                  <description>If CC1 is an output: CC1IF flag is set, Corresponding interrupt or DMA request is sent if enabled. If CC1 is an input: The current value of the counter is captured in TIMx_CCR1 register.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>UG</name>
              <description>Update generation</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>UG</name>
                <enumeratedValue>
                  <name>Update</name>
                  <description>Re-initializes the timer counter and generates an update of the registers.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CCMR1_Output</name>
          <displayName>CCMR1_Output</displayName>
          <description>capture/compare mode register 1 (output
          mode)</description>
          <addressOffset>0x18</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>1</dim>
              <dimIncrement>0x0</dimIncrement>
              <dimIndex>1-1</dimIndex>
              <name>CC%sS</name>
              <description>Capture/Compare %s selection</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>CC1S</name>
                <enumeratedValue>
                  <name>Output</name>
                  <description>CCx channel is configured as output</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>1</dim>
              <dimIncrement>0x0</dimIncrement>
              <dimIndex>1-1</dimIndex>
              <name>OC%sFE</name>
              <description>Output compare %s fast enable</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>OC1FE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Fast output disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Fast output enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>1</dim>
              <dimIncrement>0x0</dimIncrement>
              <dimIndex>1-1</dimIndex>
              <name>OC%sPE</name>
              <description>Output compare %s preload enable</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>OC1PE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Preload register on CCRx disabled. New values written to CCRx are taken into account immediately</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Preload register on CCRx enabled. Preload value is loaded into active register on each update event</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>1</dim>
              <dimIncrement>0x0</dimIncrement>
              <dimIndex>1-1</dimIndex>
              <name>OC%sM</name>
              <description>Output compare %s mode</description>
              <bitOffset>4</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>OC1M</name>
                <enumeratedValue>
                  <name>Frozen</name>
                  <description>The comparison between the output compare register TIMx_CCRy and the counter TIMx_CNT has no effect on the outputs</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ActiveOnMatch</name>
                  <description>Set channel to active level on match. OCyREF signal is forced high when the counter matches the capture/compare register</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>InactiveOnMatch</name>
                  <description>Set channel to inactive level on match. OCyREF signal is forced low when the counter matches the capture/compare register</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Toggle</name>
                  <description>OCyREF toggles when TIMx_CNT=TIMx_CCRy</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ForceInactive</name>
                  <description>OCyREF is forced low</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ForceActive</name>
                  <description>OCyREF is forced high</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PwmMode1</name>
                  <description>In upcounting, channel is active as long as TIMx_CNT&lt;TIMx_CCRy else inactive. In downcounting, channel is inactive as long as TIMx_CNT&gt;TIMx_CCRy else active</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PwmMode2</name>
                  <description>Inversely to PwmMode1</description>
                  <value>7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>1</dim>
              <dimIncrement>0x0</dimIncrement>
              <dimIndex>1-1</dimIndex>
              <name>OC%sCE</name>
              <description>Output compare %s clear enable</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <dim>1</dim>
              <dimIncrement>0x0</dimIncrement>
              <dimIndex>1-1</dimIndex>
              <name>OC%sM_3</name>
              <description>Output compare %s mode, bit 3</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CCMR1_Input</name>
          <displayName>CCMR1_Input</displayName>
          <description>capture/compare mode register 1 (input
          mode)</description>
          <alternateRegister>CCMR1_Output</alternateRegister>
          <addressOffset>0x18</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>1</dim>
              <dimIncrement>0x0</dimIncrement>
              <dimIndex>1-1</dimIndex>
              <name>IC%sF</name>
              <description>Input capture %s filter</description>
              <bitOffset>4</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues>
                <name>ICFilter</name>
                <enumeratedValue>
                  <name>NoFilter</name>
                  <description>No filter, sampling is done at fDTS</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FCK_INT_N2</name>
                  <description>fSAMPLING=fCK_INT, N=2</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FCK_INT_N4</name>
                  <description>fSAMPLING=fCK_INT, N=4</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FCK_INT_N8</name>
                  <description>fSAMPLING=fCK_INT, N=8</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div2_N6</name>
                  <description>fSAMPLING=fDTS/2, N=6</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div2_N8</name>
                  <description>fSAMPLING=fDTS/2, N=8</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div4_N6</name>
                  <description>fSAMPLING=fDTS/4, N=6</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div4_N8</name>
                  <description>fSAMPLING=fDTS/4, N=8</description>
                  <value>7</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div8_N6</name>
                  <description>fSAMPLING=fDTS/8, N=6</description>
                  <value>8</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div8_N8</name>
                  <description>fSAMPLING=fDTS/8, N=8</description>
                  <value>9</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div16_N5</name>
                  <description>fSAMPLING=fDTS/16, N=5</description>
                  <value>10</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div16_N6</name>
                  <description>fSAMPLING=fDTS/16, N=6</description>
                  <value>11</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div16_N8</name>
                  <description>fSAMPLING=fDTS/16, N=8</description>
                  <value>12</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div32_N5</name>
                  <description>fSAMPLING=fDTS/32, N=5</description>
                  <value>13</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div32_N6</name>
                  <description>fSAMPLING=fDTS/32, N=6</description>
                  <value>14</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FDTS_Div32_N8</name>
                  <description>fSAMPLING=fDTS/32, N=8</description>
                  <value>15</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>1</dim>
              <dimIncrement>0x0</dimIncrement>
              <dimIndex>1-1</dimIndex>
              <name>IC%sPSC</name>
              <description>Input capture %s prescaler</description>
              <bitOffset>2</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>ICPrescaler</name>
                <enumeratedValue>
                  <name>NoPrescaler</name>
                  <description>No prescaler, capture is done each time an edge is detected on the capture input</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TwoEvents</name>
                  <description>Capture is done once every 2 events</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FourEvents</name>
                  <description>Capture is done once every 4 events</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>EightEvents</name>
                  <description>Capture is done once every 8 events</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CC1S</name>
              <description>Capture/Compare 1
              selection</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>CC1S</name>
                <enumeratedValue>
                  <name>TI1</name>
                  <description>CC1 channel is configured as input, IC1 is mapped on TI1</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CCER</name>
          <displayName>CCER</displayName>
          <description>capture/compare enable
          register</description>
          <addressOffset>0x20</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>1</dim>
              <dimIncrement>0x0</dimIncrement>
              <dimIndex>1-1</dimIndex>
              <name>CC%sNP</name>
              <description>Capture/Compare %s output Polarity</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <dim>1</dim>
              <dimIncrement>0x0</dimIncrement>
              <dimIndex>1-1</dimIndex>
              <name>CC%sP</name>
              <description>Capture/Compare %s output Polarity</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CC1P</name>
                <enumeratedValue>
                  <name>RisingEdge</name>
                  <description>Noninverted/rising edge</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FallingEdge</name>
                  <description>Inverted/falling edge</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>1</dim>
              <dimIncrement>0x0</dimIncrement>
              <dimIndex>1-1</dimIndex>
              <name>CC%sE</name>
              <description>Capture/Compare %s output enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CC1E</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Capture disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Capture enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CNT</name>
          <displayName>CNT</displayName>
          <description>counter</description>
          <addressOffset>0x24</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CNT</name>
              <description>Counter value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>CNT16</name>
          <displayName>CNT16</displayName>
          <description>16-bit counter register</description>
          <alternateRegister>CNT</alternateRegister>
          <addressOffset>0x24</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CNT</name>
              <description>counter value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-write</access>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>PSC</name>
          <displayName>PSC</displayName>
          <description>prescaler</description>
          <addressOffset>0x28</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>PSC</name>
              <description>Prescaler value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>ARR</name>
          <displayName>ARR</displayName>
          <description>auto-reload register</description>
          <addressOffset>0x2C</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x0000FFFF</resetValue>
          <fields>
            <field>
              <name>ARR</name>
              <description>Auto-reload value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <dim>1</dim>
          <dimIncrement>0x2</dimIncrement>
          <dimIndex>1-1</dimIndex>
          <name>CCR%s</name>
          <displayName>CCR%s</displayName>
          <description>capture/compare register</description>
          <addressOffset>0x34</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CCR</name>
              <description>Capture/Compare value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>TISEL</name>
          <displayName>TISEL</displayName>
          <description>TIM timer input selection
          register</description>
          <addressOffset>0x68</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TI1SEL</name>
              <description>TI1[0] to TI1[15] input
              selection</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral derivedFrom="TIM13">
      <name>TIM14</name>
      <groupName>TIM</groupName>
      <baseAddress>0x40002000</baseAddress>
    </peripheral>
    <peripheral>
      <name>TIM6</name>
      <description>Basic timers</description>
      <groupName>TIM</groupName>
      <baseAddress>0x40001000</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>TIM6_DAC</name>
        <description>TIM6 global interrupt</description>
        <value>54</value>
      </interrupt>
      <registers>
        <register>
          <name>CR1</name>
          <displayName>CR1</displayName>
          <description>control register 1</description>
          <addressOffset>0x0</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>UIFREMAP</name>
              <description>UIF status bit remapping</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ARPE</name>
              <description>Auto-reload preload enable</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ARPE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>TIMx_APRR register is not buffered</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>TIMx_APRR register is buffered</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OPM</name>
              <description>One-pulse mode</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>OPM</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Counter is not stopped at update event</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Counter stops counting at the next update event (clearing the CEN bit)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>URS</name>
              <description>Update request source</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>URS</name>
                <enumeratedValue>
                  <name>AnyEvent</name>
                  <description>Any of counter overflow/underflow, setting UG, or update through slave mode, generates an update interrupt or DMA request</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CounterOnly</name>
                  <description>Only counter overflow/underflow generates an update interrupt or DMA request</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>UDIS</name>
              <description>Update disable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>UDIS</name>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Update event enabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Update event disabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CEN</name>
              <description>Counter enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Counter disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Counter enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CR2</name>
          <displayName>CR2</displayName>
          <description>control register 2</description>
          <addressOffset>0x4</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>MMS</name>
              <description>Master mode selection</description>
              <bitOffset>4</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>MMS</name>
                <enumeratedValue>
                  <name>Reset</name>
                  <description>Use UG bit from TIMx_EGR register</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enable</name>
                  <description>Use CNT bit from TIMx_CEN register</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Update</name>
                  <description>Use the update event</description>
                  <value>2</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>DIER</name>
          <displayName>DIER</displayName>
          <description>DMA/Interrupt enable register</description>
          <addressOffset>0xC</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>UDE</name>
              <description>Update DMA request enable</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>UDE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Update DMA request disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Update DMA request enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>UIE</name>
              <description>Update interrupt enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>UIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Update interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Update interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>SR</name>
          <displayName>SR</displayName>
          <description>status register</description>
          <addressOffset>0x10</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>UIF</name>
              <description>Update interrupt flag</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>zeroToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>UIFR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoUpdateOccurred</name>
                  <description>No update occurred</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>UpdatePending</name>
                  <description>Update interrupt pending</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>UIFW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear flag</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>EGR</name>
          <displayName>EGR</displayName>
          <description>event generation register</description>
          <addressOffset>0x14</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>UG</name>
              <description>Update generation</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>UG</name>
                <enumeratedValue>
                  <name>Update</name>
                  <description>Re-initializes the timer counter and generates an update of the registers.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CNT</name>
          <displayName>CNT</displayName>
          <description>counter</description>
          <addressOffset>0x24</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CNT</name>
              <description>Low counter value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>UIFCPY</name>
              <description>UIF Copy</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CNT16</name>
          <displayName>CNT16</displayName>
          <description>16-bit counter register</description>
          <alternateRegister>CNT</alternateRegister>
          <addressOffset>0x24</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CNT</name>
              <description>counter value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>PSC</name>
          <displayName>PSC</displayName>
          <description>prescaler</description>
          <addressOffset>0x28</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>PSC</name>
              <description>Prescaler value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>ARR</name>
          <displayName>ARR</displayName>
          <description>auto-reload register</description>
          <addressOffset>0x2C</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x0000FFFF</resetValue>
          <fields>
            <field>
              <name>ARR</name>
              <description>Low Auto-reload value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral derivedFrom="TIM6">
      <name>TIM7</name>
      <groupName>TIM</groupName>
      <baseAddress>0x40001400</baseAddress>
      <interrupt>
        <name>TIM7</name>
        <description>TIM7 global interrupt</description>
        <value>55</value>
      </interrupt>
    </peripheral>
    <peripheral>
      <name>DBGMCU</name>
      <description>Microcontroller Debug Unit</description>
      <groupName>DBGMCU</groupName>
      <baseAddress>0x5C001000</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <registers>
        <register>
          <name>IDC</name>
          <displayName>IDC</displayName>
          <description>DBGMCU Identity Code Register</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x10006450</resetValue>
          <fields>
            <field>
              <name>DEV_ID</name>
              <description>Device ID</description>
              <bitOffset>0</bitOffset>
              <bitWidth>12</bitWidth>
            </field>
            <field>
              <name>REV_ID</name>
              <description>Revision</description>
              <bitOffset>16</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CR</name>
          <displayName>CR</displayName>
          <description>DBGMCU Configuration Register</description>
          <addressOffset>0x4</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DBGSLEEP_D1</name>
              <description>Allow D1 domain debug in Sleep mode</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DBGSTOP_D1</name>
              <description>Allow D1 domain debug in Stop mode</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DBGSTBY_D1</name>
              <description>Allow D1 domain debug in Standby mode</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TRACECLKEN</name>
              <description>Trace port clock enable</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>D1DBGCKEN</name>
              <description>D1 debug clock enable</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>D3DBGCKEN</name>
              <description>D3 debug clock enable</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TRGOEN</name>
              <description>External trigger output enable</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>APB3FZ1</name>
          <displayName>APB3FZ1</displayName>
          <description>DBGMCU APB3 peripheral freeze register</description>
          <addressOffset>0x34</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>WWDG1</name>
              <description>WWDG1 stop in debug</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>APB1LFZ1</name>
          <displayName>APB1LFZ1</displayName>
          <description>DBGMCU APB1L peripheral freeze register</description>
          <addressOffset>0x3C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DBG_TIM2</name>
              <description>TIM2 stop in debug</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DBG_TIM3</name>
              <description>TIM3 stop in debug</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DBG_TIM4</name>
              <description>TIM4 stop in debug</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DBG_TIM5</name>
              <description>TIM5 stop in debug</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DBG_TIM6</name>
              <description>TIM6 stop in debug</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DBG_TIM7</name>
              <description>TIM7 stop in debug</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DBG_TIM12</name>
              <description>TIM12 stop in debug</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DBG_TIM13</name>
              <description>TIM13 stop in debug</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DBG_TIM14</name>
              <description>TIM14 stop in debug</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DBG_LPTIM1</name>
              <description>LPTIM1 stop in debug</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DBG_I2C1</name>
              <description>I2C1 SMBUS timeout stop in debug</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DBG_I2C2</name>
              <description>I2C2 SMBUS timeout stop in debug</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DBG_I2C3</name>
              <description>I2C3 SMBUS timeout stop in debug</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>APB2FZ1</name>
          <displayName>APB2FZ1</displayName>
          <description>DBGMCU APB2 peripheral freeze register</description>
          <addressOffset>0x4C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DBG_TIM1</name>
              <description>TIM1 stop in debug</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DBG_TIM8</name>
              <description>TIM8 stop in debug</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DBG_TIM15</name>
              <description>TIM15 stop in debug</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DBG_TIM16</name>
              <description>TIM16 stop in debug</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DBG_TIM17</name>
              <description>TIM17 stop in debug</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DBG_HRTIM</name>
              <description>HRTIM stop in debug</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>APB4FZ1</name>
          <displayName>APB4FZ1</displayName>
          <description>DBGMCU APB4 peripheral freeze register</description>
          <addressOffset>0x54</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DBG_I2C4</name>
              <description>I2C4 SMBUS timeout stop in debug</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DBG_LPTIM2</name>
              <description>LPTIM2 stop in debug</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DBG_LPTIM3</name>
              <description>LPTIM2 stop in debug</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DBG_LPTIM4</name>
              <description>LPTIM4 stop in debug</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DBG_LPTIM5</name>
              <description>LPTIM5 stop in debug</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DBG_RTC</name>
              <description>RTC stop in debug</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DBG_WDGLSD1</name>
              <description>Independent watchdog for D1 stop in debug</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>GPIOB</name>
      <description>GPIO</description>
      <groupName>GPIO</groupName>
      <baseAddress>0x58020400</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <registers>
        <register>
          <name>MODER</name>
          <displayName>MODER</displayName>
          <description>GPIO port mode register</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0xFFFFFEBF</resetValue>
          <fields>
            <field derivedFrom="GPIOA.MODER.MODER%s">
              <dim>16</dim>
              <dimIncrement>0x2</dimIncrement>
              <dimIndex>0-15</dimIndex>
              <name>MODER%s</name>
              <description>Port x configuration pin %s</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
          </fields>
        </register>
        <register derivedFrom="GPIOA.OTYPER">
          <name>OTYPER</name>
          <displayName>OTYPER</displayName>
          <description>GPIO port output type register</description>
          <addressOffset>0x4</addressOffset>
        </register>
        <register>
          <name>OSPEEDR</name>
          <displayName>OSPEEDR</displayName>
          <description>GPIO port output speed
          register</description>
          <addressOffset>0x8</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x000000C0</resetValue>
          <fields>
            <field derivedFrom="GPIOA.OSPEEDR.OSPEEDR%s">
              <dim>16</dim>
              <dimIncrement>0x2</dimIncrement>
              <dimIndex>0-15</dimIndex>
              <name>OSPEEDR%s</name>
              <description>Port x configuration pin %s</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>PUPDR</name>
          <displayName>PUPDR</displayName>
          <description>GPIO port pull-up/pull-down
          register</description>
          <addressOffset>0xC</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000100</resetValue>
          <fields>
            <field derivedFrom="GPIOA.PUPDR.PUPDR%s">
              <dim>16</dim>
              <dimIncrement>0x2</dimIncrement>
              <dimIndex>0-15</dimIndex>
              <name>PUPDR%s</name>
              <description>Port x configuration pin %s</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
          </fields>
        </register>
        <register derivedFrom="GPIOA.IDR">
          <name>IDR</name>
          <displayName>IDR</displayName>
          <description>GPIO port input data register</description>
          <addressOffset>0x10</addressOffset>
        </register>
        <register derivedFrom="GPIOA.ODR">
          <name>ODR</name>
          <displayName>ODR</displayName>
          <description>GPIO port output data register</description>
          <addressOffset>0x14</addressOffset>
        </register>
        <register derivedFrom="GPIOA.BSRR">
          <name>BSRR</name>
          <displayName>BSRR</displayName>
          <description>GPIO port bit set/reset
          register</description>
          <addressOffset>0x18</addressOffset>
        </register>
        <register derivedFrom="GPIOA.LCKR">
          <name>LCKR</name>
          <displayName>LCKR</displayName>
          <description>This register is used to lock the
          configuration of the port bits when a correct write
          sequence is applied to bit 16 (LCKK). The value of bits
          [15:0] is used to lock the configuration of the GPIO.
          During the write sequence, the value of LCKR[15:0] must
          not change. When the LOCK sequence has been applied on a
          port bit, the value of this port bit can no longer be
          modified until the next MCU reset or peripheral reset.A
          specific write sequence is used to write to the
          GPIOx_LCKR register. Only word access (32-bit long) is
          allowed during this locking sequence.Each lock bit
          freezes a specific configuration register (control and
          alternate function registers).</description>
          <addressOffset>0x1C</addressOffset>
        </register>
        <register derivedFrom="GPIOA.AFRL">
          <name>AFRL</name>
          <displayName>AFRL</displayName>
          <description>GPIO alternate function low
          register</description>
          <addressOffset>0x20</addressOffset>
        </register>
        <register derivedFrom="GPIOA.AFRH">
          <name>AFRH</name>
          <displayName>AFRH</displayName>
          <description>GPIO alternate function high
          register</description>
          <addressOffset>0x24</addressOffset>
        </register>
      </registers>
    </peripheral>
  </peripherals>
</device>