<?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>STM32H753</name>
  <version>2.5</version>
  <description>STM32H753</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>SR</name>
          <displayName>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>ICFR</name>
          <displayName>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>OR</name>
          <displayName>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>CFGR1</name>
          <displayName>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>CFGR2</name>
          <displayName>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_CH7</name>
        <description>BDMA channel 7 interrupt</description>
        <value>136</value>
      </interrupt>
      <interrupt>
        <name>BDMA_CH6</name>
        <description>BDMA channel 6 interrupt</description>
        <value>135</value>
      </interrupt>
      <interrupt>
        <name>BDMA_CH5</name>
        <description>BDMA channel 5 interrupt</description>
        <value>134</value>
      </interrupt>
      <interrupt>
        <name>BDMA_CH4</name>
        <description>BDMA channel 4 interrupt</description>
        <value>133</value>
      </interrupt>
      <interrupt>
        <name>BDMA_CH3</name>
        <description>BDMA channel 3 interrupt</description>
        <value>132</value>
      </interrupt>
      <interrupt>
        <name>BDMA_CH2</name>
        <description>BDMA channel 2 interrupt</description>
        <value>131</value>
      </interrupt>
      <interrupt>
        <name>BDMA_CH1</name>
        <description>BDMA channel 1 interrupt</description>
        <value>130</value>
      </interrupt>
      <interrupt>
        <name>BDMA_CH0</name>
        <description>BDMA channel 0 interrupt</description>
        <value>129</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_ER</name>
        <description>I2C1 error interrupt</description>
        <value>32</value>
      </interrupt>
      <interrupt>
        <name>I2C1_EV</name>
        <description>I2C1 event interrupt</description>
        <value>31</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_ER</name>
        <description>I2C2 error interrupt</description>
        <value>34</value>
      </interrupt>
      <interrupt>
        <name>I2C2_EV</name>
        <description>I2C2 event interrupt</description>
        <value>33</value>
      </interrupt>
    </peripheral>
    <peripheral derivedFrom="I2C1">
      <name>I2C3</name>
      <baseAddress>0x40005C00</baseAddress>
      <interrupt>
        <name>I2C3_ER</name>
        <description>I2C3 error interrupt</description>
        <value>73</value>
      </interrupt>
      <interrupt>
        <name>I2C3_EV</name>
        <description>I2C3 event interrupt</description>
        <value>72</value>
      </interrupt>
    </peripheral>
    <peripheral derivedFrom="I2C1">
      <name>I2C4</name>
      <baseAddress>0x58001C00</baseAddress>
      <interrupt>
        <name>I2C4_ER</name>
        <description>I2C4 error interrupt</description>
        <value>96</value>
      </interrupt>
      <interrupt>
        <name>I2C4_EV</name>
        <description>I2C4 event interrupt</description>
        <value>95</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_ALARM</name>
        <description>RTC alarms (A and B)</description>
        <value>41</value>
      </interrupt>
      <interrupt>
        <name>RTC_WKUP</name>
        <description>RTC Wakeup interrupt</description>
        <value>3</value>
      </interrupt>
      <interrupt>
        <name>RTC_TAMP_STAMP_CSS_LSE</name>
        <description>RTC tamper, timestamp</description>
        <value>2</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>SDMMC</name>
        <description>SDMMC global interrupt</description>
        <value>124</value>
      </interrupt>
      <interrupt>
        <name>SDMMC1</name>
        <description>SDMMC global interrupt</description>
        <value>49</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_RST</name>
        <description>Window Watchdog interrupt</description>
        <value>143</value>
      </interrupt>
      <interrupt>
        <name>WWDG1</name>
        <description>Window Watchdog interrupt</description>
        <value>0</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>SCUEN</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>read-write</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_ER</name>
        <description>LCD-TFT error interrupt</description>
        <value>89</value>
      </interrupt>
      <interrupt>
        <name>LTDC</name>
        <description>LCD-TFT global interrupt</description>
        <value>88</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>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>
              <enumeratedValues>
                <name>BOOST</name>
                <enumeratedValue>
                  <name>Off</name>
                  <description>Boost mode off. Used when ADC clock &lt; 20MHz</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>On</name>
                  <description>Boost mode on. Used when ADC clock &gt; 20MHz</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </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>3</bitWidth>
              <enumeratedValues>
                <name>RES</name>
                <enumeratedValue>
                  <name>SixteenBit</name>
                  <description>16-bit resolution</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FourteenBit</name>
                  <description>14-bit resolution</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TwelveBit</name>
                  <description>12-bit resolution</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TenBit</name>
                  <description>10-bit resolution</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>EightBit</name>
                  <description>8-bit resolution</description>
                  <value>4</value>
                </enumeratedValue>
              </enumeratedValues>
            </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>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>0x100</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>
        <register>
          <name>CDR2</name>
          <displayName>CDR2</displayName>
          <description>ADC x common regular data register for
          32-bit dual mode</description>
          <addressOffset>0x10</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>RDATA_ALT</name>
              <description>Regular data of the master/slave
              alternated ADCs</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</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>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>USB2OTGLPEN</name>
              <description>USB2OTG peripheral clock enable during
              CSleep mode</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DMA1LPEN"/>
            </field>
            <field>
              <name>USB2OTGULPILPEN</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>USB2OTGULPILPEN</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>
      <interrupt>
        <name>ETH_WKUP</name>
        <description>Ethernet wakeup through EXTI</description>
        <value>62</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>BOOSTVDDSEL</name>
              <description>Analog switch supply voltage selection</description>
              <bitOffset>9</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>PWRCR</name>
          <displayName>PWRCR</displayName>
          <description>SYSCFG power control register</description>
          <addressOffset>0x2C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>ODEN</name>
              <description>Overdrive enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</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>FPU</name>
        <description>CPU FPU interrupt</description>
        <value>81</value>
      </interrupt>
      <interrupt>
        <name>EXTI15_10</name>
        <description>EXTI Line[15:10] interrupts</description>
        <value>40</value>
      </interrupt>
      <interrupt>
        <name>EXTI9_5</name>
        <description>EXTI Line[9:5] interrupts</description>
        <value>23</value>
      </interrupt>
      <interrupt>
        <name>EXTI4</name>
        <description>EXTI Line 4interrupt</description>
        <value>10</value>
      </interrupt>
      <interrupt>
        <name>EXTI3</name>
        <description>EXTI Line 3interrupt</description>
        <value>9</value>
      </interrupt>
      <interrupt>
        <name>EXTI2</name>
        <description>EXTI Line 2 interrupt</description>
        <value>8</value>
      </interrupt>
      <interrupt>
        <name>EXTI1</name>
        <description>EXTI Line 1 interrupt</description>
        <value>7</value>
      </interrupt>
      <interrupt>
        <name>EXTI0</name>
        <description>EXTI Line 0 interrupt</description>
        <value>6</value>
      </interrupt>
      <interrupt>
        <name>PVD_PVM</name>
        <description>PVD through EXTI line</description>
        <value>1</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>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>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>
      <interrupt>
        <name>WKUP</name>
        <description>WKUP1 to WKUP6 pins</description>
        <value>149</value>
      </interrupt>
      <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>K2</name>
              <description>K224</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</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>K</name>
              <description>K192</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</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>K1</name>
              <description>K160</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</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>K1</name>
              <description>K128</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</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>K</name>
              <description>K96</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</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>K</name>
              <description>K64</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</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>K</name>
              <description>K32</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</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>K</name>
              <description>K0</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</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>IV</name>
              <description>IV31</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</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>IV</name>
              <description>IV63</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</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>IV</name>
              <description>IV95</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</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>IV</name>
              <description>IV127</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</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>CSGCMCCM0</name>
              <description>CSGCMCCM0</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>CSGCMCCM1</name>
              <description>CSGCMCCM1</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>CSGCMCCM2</name>
              <description>CSGCMCCM2</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>CSGCMCCM3</name>
              <description>CSGCMCCM3</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>CSGCMCCM4</name>
              <description>CSGCMCCM4</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>CSGCMCCM5</name>
              <description>CSGCMCCM5</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>CSGCMCCM6</name>
              <description>CSGCMCCM6</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>CSGCMCCM7</name>
              <description>CSGCMCCM7</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>CSGCM0</name>
              <description>CSGCM0</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>CSGCM1</name>
              <description>CSGCM1</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>CSGCM2</name>
              <description>CSGCM2</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>CSGCM3</name>
              <description>CSGCM3</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>CSGCM4</name>
              <description>CSGCM4</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>CSGCM5</name>
              <description>CSGCM5</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>CSGCM6</name>
              <description>CSGCM6</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>CSGCM7</name>
              <description>CSGCM7</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</name>
        <description>OTG_HS global interrupt</description>
        <value>77</value>
      </interrupt>
      <interrupt>
        <name>OTG_HS_WKUP</name>
        <description>OTG_HS wakeup interrupt</description>
        <value>76</value>
      </interrupt>
      <interrupt>
        <name>OTG_HS_EP1_IN</name>
        <description>OTG_HS in global interrupt</description>
        <value>75</value>
      </interrupt>
      <interrupt>
        <name>OTG_HS_EP1_OUT</name>
        <description>OTG_HS out global interrupt</description>
        <value>74</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>
    </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>
      <interrupt>
        <name>OTG_FS</name>
        <description>OTG_FS global interrupt</description>
        <value>101</value>
      </interrupt>
      <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>Ethernet_DMA</name>
      <description>Ethernet: DMA mode register (DMA)</description>
      <groupName>Ethernet</groupName>
      <baseAddress>0x40029000</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <registers>
        <register>
          <name>DMAMR</name>
          <displayName>DMAMR</displayName>
          <description>DMA mode register</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>SWR</name>
              <description>Software Reset</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>DA</name>
              <description>DMA Tx or Rx Arbitration
              Scheme</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TXPR</name>
              <description>Transmit priority</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>PR</name>
              <description>Priority ratio</description>
              <bitOffset>12</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>INTM</name>
              <description>Interrupt Mode</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>0x4</addressOffset>
          <size>0x20</size>
          <resetValue>0x01010000</resetValue>
          <fields>
            <field>
              <name>FB</name>
              <description>Fixed Burst Length</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>AAL</name>
              <description>Address-Aligned Beats</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>MB</name>
              <description>Mixed Burst</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>RB</name>
              <description>Rebuild INCRx Burst</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>DMAISR</name>
          <displayName>DMAISR</displayName>
          <description>Interrupt status register</description>
          <addressOffset>0x8</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DC0IS</name>
              <description>DMA Channel Interrupt
              Status</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>MTLIS</name>
              <description>MTL Interrupt Status</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>MACIS</name>
              <description>MAC Interrupt Status</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DMADSR</name>
          <displayName>DMADSR</displayName>
          <description>Debug status register</description>
          <addressOffset>0xC</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>AXWHSTS</name>
              <description>AHB Master Write Channel</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RPS0</name>
              <description>DMA Channel Receive Process
              State</description>
              <bitOffset>8</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>TPS0</name>
              <description>DMA Channel Transmit Process
              State</description>
              <bitOffset>12</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DMACCR</name>
          <displayName>DMACCR</displayName>
          <description>Channel control register</description>
          <addressOffset>0x100</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>MSS</name>
              <description>Maximum Segment Size</description>
              <bitOffset>0</bitOffset>
              <bitWidth>14</bitWidth>
            </field>
            <field>
              <name>PBLX8</name>
              <description>8xPBL mode</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DSL</name>
              <description>Descriptor Skip Length</description>
              <bitOffset>18</bitOffset>
              <bitWidth>3</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DMACTxCR</name>
          <displayName>DMACTxCR</displayName>
          <description>Channel transmit control
          register</description>
          <addressOffset>0x104</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>ST</name>
              <description>Start or Stop Transmission
              Command</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>OSF</name>
              <description>Operate on Second Packet</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TSE</name>
              <description>TCP Segmentation Enabled</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TXPBL</name>
              <description>Transmit Programmable Burst
              Length</description>
              <bitOffset>16</bitOffset>
              <bitWidth>6</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DMACRxCR</name>
          <displayName>DMACRxCR</displayName>
          <description>Channel receive control
          register</description>
          <addressOffset>0x108</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>SR</name>
              <description>Start or Stop Receive
              Command</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RBSZ</name>
              <description>Receive Buffer size</description>
              <bitOffset>1</bitOffset>
              <bitWidth>14</bitWidth>
            </field>
            <field>
              <name>RXPBL</name>
              <description>RXPBL</description>
              <bitOffset>16</bitOffset>
              <bitWidth>6</bitWidth>
            </field>
            <field>
              <name>RPF</name>
              <description>DMA Rx Channel Packet
              Flush</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DMACTxDLAR</name>
          <displayName>DMACTxDLAR</displayName>
          <description>Channel Tx descriptor list address
          register</description>
          <addressOffset>0x114</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TDESLA</name>
              <description>Start of Transmit List</description>
              <bitOffset>2</bitOffset>
              <bitWidth>30</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DMACRxDLAR</name>
          <displayName>DMACRxDLAR</displayName>
          <description>Channel Rx descriptor list address
          register</description>
          <addressOffset>0x11C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>RDESLA</name>
              <description>Start of Receive List</description>
              <bitOffset>2</bitOffset>
              <bitWidth>30</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DMACTxDTPR</name>
          <displayName>DMACTxDTPR</displayName>
          <description>Channel Tx descriptor tail pointer
          register</description>
          <addressOffset>0x120</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TDT</name>
              <description>Transmit Descriptor Tail
              Pointer</description>
              <bitOffset>2</bitOffset>
              <bitWidth>30</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DMACRxDTPR</name>
          <displayName>DMACRxDTPR</displayName>
          <description>Channel Rx descriptor tail pointer
          register</description>
          <addressOffset>0x128</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>RDT</name>
              <description>Receive Descriptor Tail
              Pointer</description>
              <bitOffset>2</bitOffset>
              <bitWidth>30</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DMACTxRLR</name>
          <displayName>DMACTxRLR</displayName>
          <description>Channel Tx descriptor ring length
          register</description>
          <addressOffset>0x12C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TDRL</name>
              <description>Transmit Descriptor Ring
              Length</description>
              <bitOffset>0</bitOffset>
              <bitWidth>10</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DMACRxRLR</name>
          <displayName>DMACRxRLR</displayName>
          <description>Channel Rx descriptor ring length
          register</description>
          <addressOffset>0x130</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>RDRL</name>
              <description>Receive Descriptor Ring
              Length</description>
              <bitOffset>0</bitOffset>
              <bitWidth>10</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DMACIER</name>
          <displayName>DMACIER</displayName>
          <description>Channel interrupt enable
          register</description>
          <addressOffset>0x134</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TIE</name>
              <description>Transmit Interrupt Enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TXSE</name>
              <description>Transmit Stopped Enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TBUE</name>
              <description>Transmit Buffer Unavailable
              Enable</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RIE</name>
              <description>Receive Interrupt Enable</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RBUE</name>
              <description>Receive Buffer Unavailable
              Enable</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RSE</name>
              <description>Receive Stopped Enable</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RWTE</name>
              <description>Receive Watchdog Timeout
              Enable</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ETIE</name>
              <description>Early Transmit Interrupt
              Enable</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ERIE</name>
              <description>Early Receive Interrupt
              Enable</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>FBEE</name>
              <description>Fatal Bus Error Enable</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CDEE</name>
              <description>Context Descriptor Error
              Enable</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>AIE</name>
              <description>Abnormal Interrupt Summary
              Enable</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>NIE</name>
              <description>Normal Interrupt Summary
              Enable</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DMACRxIWTR</name>
          <displayName>DMACRxIWTR</displayName>
          <description>Channel Rx interrupt watchdog timer
          register</description>
          <addressOffset>0x138</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>RWT</name>
              <description>Receive Interrupt Watchdog Timer
              Count</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DMACCATxDR</name>
          <displayName>DMACCATxDR</displayName>
          <description>Channel current application transmit
          descriptor register</description>
          <addressOffset>0x144</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CURTDESAPTR</name>
              <description>Application Transmit Descriptor Address
              Pointer</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DMACCARxDR</name>
          <displayName>DMACCARxDR</displayName>
          <description>Channel current application receive
          descriptor register</description>
          <addressOffset>0x14C</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CURRDESAPTR</name>
              <description>Application Receive Descriptor Address
              Pointer</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DMACCATxBR</name>
          <displayName>DMACCATxBR</displayName>
          <description>Channel current application transmit buffer
          register</description>
          <addressOffset>0x154</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CURTBUFAPTR</name>
              <description>Application Transmit Buffer Address
              Pointer</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DMACCARxBR</name>
          <displayName>DMACCARxBR</displayName>
          <description>Channel current application receive buffer
          register</description>
          <addressOffset>0x15C</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CURRBUFAPTR</name>
              <description>Application Receive Buffer Address
              Pointer</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>DMACSR</name>
          <displayName>DMACSR</displayName>
          <description>Channel status register</description>
          <addressOffset>0x160</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TI</name>
              <description>Transmit Interrupt</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TPS</name>
              <description>Transmit Process Stopped</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TBU</name>
              <description>Transmit Buffer
              Unavailable</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>RI</name>
              <description>Receive Interrupt</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>RBU</name>
              <description>Receive Buffer Unavailable</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>RPS</name>
              <description>Receive Process Stopped</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>RWT</name>
              <description>Receive Watchdog Timeout</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ET</name>
              <description>Early Transmit Interrupt</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ER</name>
              <description>Early Receive Interrupt</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>FBE</name>
              <description>Fatal Bus Error</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CDE</name>
              <description>Context Descriptor Error</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>AIS</name>
              <description>Abnormal Interrupt Summary</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>NIS</name>
              <description>Normal Interrupt Summary</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TEB</name>
              <description>Tx DMA Error Bits</description>
              <bitOffset>16</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>REB</name>
              <description>Rx DMA Error Bits</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>0x16C</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>MFC</name>
              <description>Dropped Packet Counters</description>
              <bitOffset>0</bitOffset>
              <bitWidth>11</bitWidth>
            </field>
            <field>
              <name>MFCO</name>
              <description>Overflow status of the MFC
              Counter</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>Ethernet_MTL</name>
      <description>Ethernet: MTL mode register (MTL)</description>
      <groupName>Ethernet</groupName>
      <baseAddress>0x40028C00</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x200</size>
        <usage>registers</usage>
      </addressBlock>
      <registers>
        <register>
          <name>MTLOMR</name>
          <displayName>MTLOMR</displayName>
          <description>Operating mode Register</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DTXSTS</name>
              <description>Drop Transmit Status</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CNTPRST</name>
              <description>Counters Preset</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CNTCLR</name>
              <description>Counters Reset</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MTLISR</name>
          <displayName>MTLISR</displayName>
          <description>Interrupt status Register</description>
          <addressOffset>0x20</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>Q0IS</name>
              <description>Queue interrupt status</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MTLTxQOMR</name>
          <displayName>MTLTxQOMR</displayName>
          <description>Tx queue operating mode
          Register</description>
          <addressOffset>0x100</addressOffset>
          <size>0x20</size>
          <resetValue>0x00070008</resetValue>
          <fields>
            <field>
              <name>FTQ</name>
              <description>Flush Transmit Queue</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TSF</name>
              <description>Transmit Store and Forward</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TXQEN</name>
              <description>Transmit Queue Enable</description>
              <bitOffset>2</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>TTC</name>
              <description>Transmit Threshold Control</description>
              <bitOffset>4</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TQS</name>
              <description>Transmit Queue Size</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>0x104</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>UFFRMCNT</name>
              <description>Underflow Packet Counter</description>
              <bitOffset>0</bitOffset>
              <bitWidth>11</bitWidth>
            </field>
            <field>
              <name>UFCNTOVF</name>
              <description>Overflow Bit for Underflow Packet Counter</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MTLTxQDR</name>
          <displayName>MTLTxQDR</displayName>
          <description>Tx queue debug Register</description>
          <addressOffset>0x108</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TXQPAUSED</name>
              <description>Transmit Queue in Pause</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TRCSTS</name>
              <description>MTL Tx Queue Read Controller Status</description>
              <bitOffset>1</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>TWCSTS</name>
              <description>MTL Tx Queue Write Controller Status</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TXQSTS</name>
              <description>MTL Tx Queue Not Empty Status</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TXSTSFSTS</name>
              <description>MTL Tx Status FIFO Full Status</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>PTXQ</name>
              <description>Number of Packets in the Transmit Queue</description>
              <bitOffset>16</bitOffset>
              <bitWidth>3</bitWidth>
            </field>
            <field>
              <name>STXSTSF</name>
              <description>Number of Status Words in Tx Status FIFO of Queue</description>
              <bitOffset>20</bitOffset>
              <bitWidth>3</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MTLQICSR</name>
          <displayName>MTLQICSR</displayName>
          <description>Queue interrupt control status
          Register</description>
          <addressOffset>0x12C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TXUNFIS</name>
              <description>Transmit Queue Underflow Interrupt Status</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TXUIE</name>
              <description>Transmit Queue Underflow Interrupt Enable</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RXOVFIS</name>
              <description>Receive Queue Overflow Interrupt Status</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RXOIE</name>
              <description>Receive Queue Overflow Interrupt Enable</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MTLRxQOMR</name>
          <displayName>MTLRxQOMR</displayName>
          <description>Rx queue operating mode
          register</description>
          <addressOffset>0x130</addressOffset>
          <size>0x20</size>
          <resetValue>0x00700000</resetValue>
          <fields>
            <field>
              <name>RTC</name>
              <description>Receive Queue Threshold Control</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>FUP</name>
              <description>Forward Undersized Good Packets</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>FEP</name>
              <description>Forward Error Packets</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>RSF</name>
              <description>Receive Queue Store and Forward</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</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>EHFC</name>
              <description>Enable Hardware Flow Control</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>RFA</name>
              <description>Threshold for Activating Flow Control (in half-duplex and full-duplex modes)</description>
              <bitOffset>8</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>RFD</name>
              <description>Threshold for Deactivating Flow Control (in half-duplex and full-duplex modes)</description>
              <bitOffset>14</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>RQS</name>
              <description>Receive Queue Size</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>0x134</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>OVFPKTCNT</name>
              <description>Overflow Packet Counter</description>
              <bitOffset>0</bitOffset>
              <bitWidth>11</bitWidth>
            </field>
            <field>
              <name>OVFCNTOVF</name>
              <description>Overflow Counter Overflow Bit</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>MISPKTCNT</name>
              <description>Missed Packet Counter</description>
              <bitOffset>16</bitOffset>
              <bitWidth>11</bitWidth>
            </field>
            <field>
              <name>MISCNTOVF</name>
              <description>Missed Packet Counter Overflow Bit</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MTLRxQDR</name>
          <displayName>MTLRxQDR</displayName>
          <description>Rx queue debug register</description>
          <addressOffset>0x138</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>RWCSTS</name>
              <description>MTL Rx Queue Write Controller Active Status</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RRCSTS</name>
              <description>MTL Rx Queue Read Controller State</description>
              <bitOffset>1</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>RXQSTS</name>
              <description>MTL Rx Queue Fill-Level Status</description>
              <bitOffset>4</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>PRXQ</name>
              <description>Number of Packets in Receive Queue</description>
              <bitOffset>16</bitOffset>
              <bitWidth>14</bitWidth>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>Ethernet_MAC</name>
      <description>Ethernet: media access control (MAC)</description>
      <groupName>Ethernet</groupName>
      <baseAddress>0x40028000</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0xBDF</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>ETH</name>
        <description>Ethernet global interrupt</description>
        <value>61</value>
      </interrupt>
      <registers>
        <register>
          <name>MACCR</name>
          <displayName>MACCR</displayName>
          <description>Operating mode configuration
          register</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>RE</name>
              <description>Receiver Enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TE</name>
              <description>Transmitter Enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>PRELEN</name>
              <description>Preamble Length for Transmit Packets</description>
              <bitOffset>2</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>DC</name>
              <description>Deferral Check</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>BL</name>
              <description>Back-Off Limit</description>
              <bitOffset>5</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>DR</name>
              <description>Disable Retry</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DCRS</name>
              <description>Disable Carrier Sense During Transmission</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DO</name>
              <description>Disable Receive Own</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ECRSFD</name>
              <description>Enable Carrier Sense Before Transmission in Full-Duplex Mode</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>LM</name>
              <description>Loopback Mode</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DM</name>
              <description>Duplex Mode</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>FES</name>
              <description>MAC Speed</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>JE</name>
              <description>Jumbo Packet Enable</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>JD</name>
              <description>Jabber Disable</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>WD</name>
              <description>Watchdog Disable</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ACS</name>
              <description>Automatic Pad or CRC Stripping</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CST</name>
              <description>CRC stripping for Type packets</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>S2KP</name>
              <description>IEEE 802.3as Support for 2K Packets</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>GPSLCE</name>
              <description>Giant Packet Size Limit Control Enable</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IPG</name>
              <description>Inter-Packet Gap</description>
              <bitOffset>24</bitOffset>
              <bitWidth>3</bitWidth>
            </field>
            <field>
              <name>IPC</name>
              <description>Checksum Offload</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SARC</name>
              <description>Source Address Insertion or Replacement Control</description>
              <bitOffset>28</bitOffset>
              <bitWidth>3</bitWidth>
            </field>
            <field>
              <name>ARPEN</name>
              <description>ARP Offload Enable</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MACECR</name>
          <displayName>MACECR</displayName>
          <description>Extended operating mode configuration
          register</description>
          <addressOffset>0x4</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>GPSL</name>
              <description>Giant Packet Size Limit</description>
              <bitOffset>0</bitOffset>
              <bitWidth>14</bitWidth>
            </field>
            <field>
              <name>DCRCC</name>
              <description>Disable CRC Checking for Received Packets</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SPEN</name>
              <description>Slow Protocol Detection Enable</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>USP</name>
              <description>Unicast Slow Protocol Packet Detect</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>EIPGEN</name>
              <description>Extended Inter-Packet Gap Enable</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>EIPG</name>
              <description>Extended Inter-Packet Gap</description>
              <bitOffset>25</bitOffset>
              <bitWidth>5</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MACPFR</name>
          <displayName>MACPFR</displayName>
          <description>Packet filtering control
          register</description>
          <addressOffset>0x8</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>PR</name>
              <description>Promiscuous Mode</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>HUC</name>
              <description>Hash Unicast</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>HMC</name>
              <description>Hash Multicast</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DAIF</name>
              <description>DA Inverse Filtering</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>PM</name>
              <description>Pass All Multicast</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DBF</name>
              <description>Disable Broadcast Packets</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>PCF</name>
              <description>Pass Control Packets</description>
              <bitOffset>6</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>SAIF</name>
              <description>SA Inverse Filtering</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SAF</name>
              <description>Source Address Filter Enable</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>HPF</name>
              <description>Hash or Perfect Filter</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>VTFE</name>
              <description>VLAN Tag Filter Enable</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IPFE</name>
              <description>Layer 3 and Layer 4 Filter Enable</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DNTU</name>
              <description>Drop Non-TCP/UDP over IP Packets</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RA</name>
              <description>Receive All</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MACWTR</name>
          <displayName>MACWTR</displayName>
          <description>Watchdog timeout register</description>
          <addressOffset>0xC</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>WTO</name>
              <description>Watchdog Timeout</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>PWE</name>
              <description>Programmable Watchdog Enable</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MACHT0R</name>
          <displayName>MACHT0R</displayName>
          <description>Hash Table 0 register</description>
          <addressOffset>0x10</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>HT31T0</name>
              <description>MAC Hash Table First 32 Bits</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MACHT1R</name>
          <displayName>MACHT1R</displayName>
          <description>Hash Table 1 register</description>
          <addressOffset>0x14</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>HT63T32</name>
              <description>MAC Hash Table Second 32 Bits</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MACVTR</name>
          <displayName>MACVTR</displayName>
          <description>VLAN tag register</description>
          <addressOffset>0x50</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>VL</name>
              <description>VLAN Tag Identifier for Receive Packets</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
            <field>
              <name>ETV</name>
              <description>Enable 12-Bit VLAN Tag Comparison</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>VTIM</name>
              <description>VLAN Tag Inverse Match Enable</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ESVL</name>
              <description>Enable S-VLAN</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ERSVLM</name>
              <description>Enable Receive S-VLAN Match</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DOVLTC</name>
              <description>Disable VLAN Type Check</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>EVLS</name>
              <description>Enable VLAN Tag Stripping on Receive</description>
              <bitOffset>21</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>EVLRXS</name>
              <description>Enable VLAN Tag in Rx status</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>VTHM</name>
              <description>VLAN Tag Hash Table Match Enable</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>EDVLP</name>
              <description>Enable Double VLAN Processing</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ERIVLT</name>
              <description>Enable Inner VLAN Tag</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>EIVLS</name>
              <description>Enable Inner VLAN Tag Stripping on Receive</description>
              <bitOffset>28</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>EIVLRXS</name>
              <description>Enable Inner VLAN Tag in Rx Status</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MACVHTR</name>
          <displayName>MACVHTR</displayName>
          <description>VLAN Hash table register</description>
          <addressOffset>0x58</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>VLHT</name>
              <description>VLAN Hash Table</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MACVIR</name>
          <displayName>MACVIR</displayName>
          <description>VLAN inclusion register</description>
          <addressOffset>0x60</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>VLT</name>
              <description>VLAN Tag for Transmit Packets</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
            <field>
              <name>VLC</name>
              <description>VLAN Tag Control in Transmit Packets</description>
              <bitOffset>16</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>VLP</name>
              <description>VLAN Priority Control</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CSVL</name>
              <description>C-VLAN or S-VLAN</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>VLTI</name>
              <description>VLAN Tag Input</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MACIVIR</name>
          <displayName>MACIVIR</displayName>
          <description>Inner VLAN inclusion register</description>
          <addressOffset>0x64</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>VLT</name>
              <description>VLAN Tag for Transmit Packets</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
            <field>
              <name>VLC</name>
              <description>VLAN Tag Control in Transmit Packets</description>
              <bitOffset>16</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>VLP</name>
              <description>VLAN Priority Control</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CSVL</name>
              <description>C-VLAN or S-VLAN</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>VLTI</name>
              <description>VLAN Tag Input</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MACQTxFCR</name>
          <displayName>MACQTxFCR</displayName>
          <description>Tx Queue flow control register</description>
          <addressOffset>0x70</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>FCB_BPA</name>
              <description>Flow Control Busy or Backpressure Activate</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TFE</name>
              <description>Transmit Flow Control Enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>PLT</name>
              <description>Pause Low Threshold</description>
              <bitOffset>4</bitOffset>
              <bitWidth>3</bitWidth>
            </field>
            <field>
              <name>DZPQ</name>
              <description>Disable Zero-Quanta Pause</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>PT</name>
              <description>Pause Time</description>
              <bitOffset>16</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MACRxFCR</name>
          <displayName>MACRxFCR</displayName>
          <description>Rx flow control register</description>
          <addressOffset>0x90</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>RFE</name>
              <description>Receive Flow Control Enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>UP</name>
              <description>Unicast Pause Packet Detect</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MACISR</name>
          <displayName>MACISR</displayName>
          <description>Interrupt status register</description>
          <addressOffset>0xB0</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>PHYIS</name>
              <description>PHY Interrupt</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>PMTIS</name>
              <description>PMT Interrupt Status</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>LPIIS</name>
              <description>LPI Interrupt Status</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>MMCIS</name>
              <description>MMC Interrupt Status</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>MMCRXIS</name>
              <description>MMC Receive Interrupt Status</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>MMCTXIS</name>
              <description>MMC Transmit Interrupt Status</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TSIS</name>
              <description>Timestamp Interrupt Status</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TXSTSIS</name>
              <description>Transmit Status Interrupt</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RXSTSIS</name>
              <description>Receive Status Interrupt</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MACIER</name>
          <displayName>MACIER</displayName>
          <description>Interrupt enable register</description>
          <addressOffset>0xB4</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>PHYIE</name>
              <description>PHY Interrupt Enable</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>PMTIE</name>
              <description>PMT Interrupt Enable</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>LPIIE</name>
              <description>LPI Interrupt Enable</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TSIE</name>
              <description>Timestamp Interrupt Enable</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TXSTSIE</name>
              <description>Transmit Status Interrupt Enable</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RXSTSIE</name>
              <description>Receive Status Interrupt Enable</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MACRxTxSR</name>
          <displayName>MACRxTxSR</displayName>
          <description>Rx Tx status register</description>
          <addressOffset>0xB8</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TJT</name>
              <description>Transmit Jabber Timeout</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>NCARR</name>
              <description>No Carrier</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>LCARR</name>
              <description>Loss of Carrier</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>EXDEF</name>
              <description>Excessive Deferral</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>LCOL</name>
              <description>Late Collision</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>EXCOL</name>
              <description>Excessive Collisions</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RWT</name>
              <description>Receive Watchdog Timeout</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MACPCSR</name>
          <displayName>MACPCSR</displayName>
          <description>PMT control status register</description>
          <addressOffset>0xC0</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>PWRDWN</name>
              <description>Power Down</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>MGKPKTEN</name>
              <description>Magic Packet Enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>RWKPKTEN</name>
              <description>Remote wakeup Packet Enable</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>MGKPRCVD</name>
              <description>Magic Packet Received</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>RWKPRCVD</name>
              <description>Remote wakeup Packet Received</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>GLBLUCAST</name>
              <description>Global Unicast</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>RWKPFE</name>
              <description>Remote wakeup Packet Forwarding Enable</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>RWKPTR</name>
              <description>Remote wakeup FIFO Pointer</description>
              <bitOffset>24</bitOffset>
              <bitWidth>5</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>RWKFILTRST</name>
              <description>Remote wakeup Packet Filter Register Pointer Reset</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACRWKPFR</name>
          <displayName>MACRWKPFR</displayName>
          <description>Remove wakeup packet filter
          register</description>
          <addressOffset>0xC4</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>MACRWKPFR</name>
              <description>Remote wakeup packet filter</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MACLCSR</name>
          <displayName>MACLCSR</displayName>
          <description>LPI control status register</description>
          <addressOffset>0xD0</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TLPIEN</name>
              <description>Transmit LPI Entry</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>TLPIEX</name>
              <description>Transmit LPI Exit</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>RLPIEN</name>
              <description>Receive LPI Entry</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>RLPIEX</name>
              <description>Receive LPI Exit</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>TLPIST</name>
              <description>Transmit LPI State</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>RLPIST</name>
              <description>Receive LPI State</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>LPIEN</name>
              <description>LPI Enable</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>PLS</name>
              <description>PHY Link Status</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>PLSEN</name>
              <description>PHY Link Status Enable</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>LPITXA</name>
              <description>LPI Tx Automate</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>LPITE</name>
              <description>LPI Timer Enable</description>
              <bitOffset>20</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>
          <access>read-write</access>
          <resetValue>0x03E80000</resetValue>
          <fields>
            <field>
              <name>TWT</name>
              <description>LPI TW Timer</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
            <field>
              <name>LST</name>
              <description>LPI LS Timer</description>
              <bitOffset>16</bitOffset>
              <bitWidth>10</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MACLETR</name>
          <displayName>MACLETR</displayName>
          <description>LPI entry timer register</description>
          <addressOffset>0xD8</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>LPIET</name>
              <description>LPI Entry Timer</description>
              <bitOffset>3</bitOffset>
              <bitWidth>17</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MAC1USTCR</name>
          <displayName>MAC1USTCR</displayName>
          <description>1-microsecond-tick counter
          register</description>
          <addressOffset>0xDC</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TIC_1US_CNTR</name>
              <description>1 µs tick Counter</description>
              <bitOffset>0</bitOffset>
              <bitWidth>12</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MACVR</name>
          <displayName>MACVR</displayName>
          <description>Version register</description>
          <addressOffset>0x110</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00003041</resetValue>
          <fields>
            <field>
              <name>SNPSVER</name>
              <description>IP version</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
            </field>
            <field>
              <name>USERVER</name>
              <description>ST-defined version</description>
              <bitOffset>8</bitOffset>
              <bitWidth>8</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MACDR</name>
          <displayName>MACDR</displayName>
          <description>Debug register</description>
          <addressOffset>0x114</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>RPESTS</name>
              <description>MAC MII Receive Protocol Engine Status</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RFCFCSTS</name>
              <description>MAC Receive Packet Controller FIFO Status</description>
              <bitOffset>1</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>TPESTS</name>
              <description>MAC MII Transmit Protocol Engine Status</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TFCSTS</name>
              <description>MAC Transmit Packet Controller Status</description>
              <bitOffset>17</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MACHWF1R</name>
          <displayName>MACHWF1R</displayName>
          <description>HW feature 1 register</description>
          <addressOffset>0x120</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x11841904</resetValue>
          <fields>
            <field>
              <name>RXFIFOSIZE</name>
              <description>MTL Receive FIFO Size</description>
              <bitOffset>0</bitOffset>
              <bitWidth>5</bitWidth>
            </field>
            <field>
              <name>TXFIFOSIZE</name>
              <description>MTL Transmit FIFO Size</description>
              <bitOffset>6</bitOffset>
              <bitWidth>5</bitWidth>
            </field>
            <field>
              <name>OSTEN</name>
              <description>One-Step Timestamping Enable</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>PTOEN</name>
              <description>PTP Offload Enable</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ADVTHWORD</name>
              <description>IEEE 1588 High Word Register Enable</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ADDR64</name>
              <description>Address width</description>
              <bitOffset>14</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>DCBEN</name>
              <description>DCB Feature Enable</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SPHEN</name>
              <description>Split Header Feature Enable</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TSOEN</name>
              <description>TCP Segmentation Offload Enable</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DBGMEMA</name>
              <description>DMA Debug Registers Enable</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>AVSEL</name>
              <description>AV Feature Enable</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>HASHTBLSZ</name>
              <description>Hash Table Size</description>
              <bitOffset>24</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>L3L4FNUM</name>
              <description>Total number of L3 or L4 Filters</description>
              <bitOffset>27</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MACHWF2R</name>
          <displayName>MACHWF2R</displayName>
          <description>HW feature 2 register</description>
          <addressOffset>0x124</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x41000000</resetValue>
          <fields>
            <field>
              <name>RXQCNT</name>
              <description>Number of MTL Receive Queues</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>TXQCNT</name>
              <description>Number of MTL Transmit Queues</description>
              <bitOffset>6</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>RXCHCNT</name>
              <description>Number of DMA Receive Channels</description>
              <bitOffset>12</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>TXCHCNT</name>
              <description>Number of DMA Transmit Channels</description>
              <bitOffset>18</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>PPSOUTNUM</name>
              <description>Number of PPS Outputs</description>
              <bitOffset>24</bitOffset>
              <bitWidth>3</bitWidth>
            </field>
            <field>
              <name>AUXSNAPNUM</name>
              <description>Number of Auxiliary Snapshot Inputs</description>
              <bitOffset>28</bitOffset>
              <bitWidth>3</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MACMDIOAR</name>
          <displayName>MACMDIOAR</displayName>
          <description>MDIO address register</description>
          <addressOffset>0x200</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>MB</name>
              <description>MII Busy</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>C45E</name>
              <description>Clause 45 PHY Enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>GOC</name>
              <description>MII Operation Command</description>
              <bitOffset>2</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>SKAP</name>
              <description>Skip Address Packet</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CR</name>
              <description>CSR Clock Range</description>
              <bitOffset>8</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>NTC</name>
              <description>Number of Training Clocks</description>
              <bitOffset>12</bitOffset>
              <bitWidth>3</bitWidth>
            </field>
            <field>
              <name>RDA</name>
              <description>Register/Device Address</description>
              <bitOffset>16</bitOffset>
              <bitWidth>5</bitWidth>
            </field>
            <field>
              <name>PA</name>
              <description>Physical Layer Address</description>
              <bitOffset>21</bitOffset>
              <bitWidth>5</bitWidth>
            </field>
            <field>
              <name>BTB</name>
              <description>Back to Back transactions</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>PSE</name>
              <description>Preamble Suppression Enable</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MACMDIODR</name>
          <displayName>MACMDIODR</displayName>
          <description>MDIO data register</description>
          <addressOffset>0x204</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>MD</name>
              <description>MII Data</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
            <field>
              <name>RA</name>
              <description>Register Address</description>
              <bitOffset>16</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MACARPAR</name>
          <displayName>MACARPAR</displayName>
          <description>ARP address register</description>
          <addressOffset>0xAE0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>ARPPA</name>
              <description>ARP Protocol Address</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MACA0HR</name>
          <displayName>MACA0HR</displayName>
          <description>Address 0 high register</description>
          <addressOffset>0x300</addressOffset>
          <size>0x20</size>
          <resetValue>0x8000FFFF</resetValue>
          <fields>
            <field>
              <name>ADDRHI</name>
              <description>MAC Address0[47:32]</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>AE</name>
              <description>Address Enable</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MACA0LR</name>
          <displayName>MACA0LR</displayName>
          <description>Address 0 low register</description>
          <addressOffset>0x304</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0xFFFFFFFF</resetValue>
          <fields>
            <field>
              <name>ADDRLO</name>
              <description>MAC Address 0 [31:0]</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MACA1LR</name>
          <displayName>MACA1LR</displayName>
          <description>Address 1 low register</description>
          <addressOffset>0x30C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0xFFFFFFFF</resetValue>
          <fields>
            <field>
              <name>ADDRLO</name>
              <description>MAC Address 1 [31:0]</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MACA2LR</name>
          <displayName>MACA2LR</displayName>
          <description>Address 2 low register</description>
          <addressOffset>0x314</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0xFFFFFFFF</resetValue>
          <fields>
            <field>
              <name>ADDRLO</name>
              <description>MAC Address 2 [31:0]</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MACA1HR</name>
          <displayName>MACA1HR</displayName>
          <description>Address 1 high register</description>
          <addressOffset>0x308</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x0000FFFF</resetValue>
          <fields>
            <field>
              <name>ADDRHI</name>
              <description>MAC Address1 [47:32]</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
            <field>
              <name>MBC</name>
              <description>Mask Byte Control</description>
              <bitOffset>24</bitOffset>
              <bitWidth>6</bitWidth>
            </field>
            <field>
              <name>SA</name>
              <description>Source Address</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>AE</name>
              <description>Address Enable</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MACA2HR</name>
          <displayName>MACA2HR</displayName>
          <description>Address 2 high register</description>
          <addressOffset>0x310</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x0000FFFF</resetValue>
          <fields>
            <field>
              <name>ADDRHI</name>
              <description>MAC Address2 [47:32]</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
            <field>
              <name>MBC</name>
              <description>Mask Byte Control</description>
              <bitOffset>24</bitOffset>
              <bitWidth>6</bitWidth>
            </field>
            <field>
              <name>SA</name>
              <description>Source Address</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>AE</name>
              <description>Address Enable</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MACA3HR</name>
          <displayName>MACA3HR</displayName>
          <description>Address 3 high register</description>
          <addressOffset>0x318</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x0000FFFF</resetValue>
          <fields>
            <field>
              <name>ADDRHI</name>
              <description>MAC Address3 [47:32]</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
            <field>
              <name>MBC</name>
              <description>Mask Byte Control</description>
              <bitOffset>24</bitOffset>
              <bitWidth>6</bitWidth>
            </field>
            <field>
              <name>SA</name>
              <description>Source Address</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>AE</name>
              <description>Address Enable</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MACA3LR</name>
          <displayName>MACA3LR</displayName>
          <description>Address 3 low register</description>
          <addressOffset>0x31C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0xFFFFFFFF</resetValue>
          <fields>
            <field>
              <name>ADDRLO</name>
              <description>MAC Address 3 [31:0]</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MMC_CONTROL</name>
          <displayName>MMC_CONTROL</displayName>
          <description>MMC control register</description>
          <addressOffset>0x700</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CNTRST</name>
              <description>Counters Reset</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CNTSTOPRO</name>
              <description>Counter Stop Rollover</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RSTONRD</name>
              <description>Reset on Read</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CNTFREEZ</name>
              <description>MMC Counter Freeze</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CNTPRST</name>
              <description>Counters Preset</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CNTPRSTLVL</name>
              <description>Full-Half Preset</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>UCDBC</name>
              <description>Update MMC Counters for Dropped Broadcast Packets</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </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>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>RXCRCERPIS</name>
              <description>MMC Receive CRC Error Packet Counter Interrupt Status</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RXALGNERPIS</name>
              <description>MMC Receive Alignment Error Packet Counter Interrupt Status</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RXUCGPIS</name>
              <description>MMC Receive Unicast Good Packet Counter Interrupt Status</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RXLPIUSCIS</name>
              <description>MMC Receive LPI microsecond counter interrupt status</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RXLPITRCIS</name>
              <description>MMC Receive LPI transition counter interrupt status</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
            </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>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TXSCOLGPIS</name>
              <description>MMC Transmit Single Collision Good Packet Counter Interrupt Status</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TXMCOLGPIS</name>
              <description>MMC Transmit Multiple Collision Good Packet Counter Interrupt Status</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TXGPKTIS</name>
              <description>MMC Transmit Good Packet Counter Interrupt Status</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TXLPIUSCIS</name>
              <description>MMC Transmit LPI microsecond counter interrupt status</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TXLPITRCIS</name>
              <description>MMC Transmit LPI transition counter interrupt status</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
            </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>
          <fields>
            <field>
              <name>RXCRCERPIM</name>
              <description>MMC Receive CRC Error Packet Counter Interrupt Mask</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</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</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>RXLPIUSCIM</name>
              <description>MMC Receive LPI microsecond counter interrupt Mask</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>RXLPITRCIM</name>
              <description>MMC Receive LPI transition counter interrupt Mask</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>
          <fields>
            <field>
              <name>TXSCOLGPIM</name>
              <description>MMC Transmit Single Collision Good Packet Counter Interrupt Mask</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</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TXGPKTIM</name>
              <description>MMC Transmit Good Packet Counter Interrupt Mask</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TXLPIUSCIM</name>
              <description>MMC Transmit LPI microsecond counter interrupt Mask</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TXLPITRCIM</name>
              <description>MMC Transmit LPI transition counter interrupt Mask</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>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TXSNGLCOLG</name>
              <description>Tx Single Collision Good Packets</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </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>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TXMULTCOLG</name>
              <description>Tx Multiple Collision Good Packets</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </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>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TXPKTG</name>
              <description>Tx Packet Count Good</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </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>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>RXCRCERR</name>
              <description>Rx CRC Error Packets</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </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>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>RXALGNERR</name>
              <description>Rx Alignment Error Packets</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </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>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>RXUCASTG</name>
              <description>Rx Unicast Packets Good</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </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>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TXLPIUSC</name>
              <description>Tx LPI Microseconds Counter</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </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>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TXLPITRC</name>
              <description>Tx LPI Transition counter</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </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>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>RXLPIUSC</name>
              <description>Rx LPI Microseconds Counter</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </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>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>RXLPITRC</name>
              <description>Rx LPI Transition counter</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MACL3L4C0R</name>
          <displayName>MACL3L4C0R</displayName>
          <description>L3 and L4 control 0 register</description>
          <addressOffset>0x900</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>L3PEN0</name>
              <description>Layer 3 Protocol Enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>L3SAM0</name>
              <description>Layer 3 IP SA Match Enable</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>L3SAIM0</name>
              <description>Layer 3 IP SA Inverse Match Enable</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>L3DAM0</name>
              <description>Layer 3 IP DA Match Enable</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>L3DAIM0</name>
              <description>Layer 3 IP DA Inverse Match Enable</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>L3HSBM0</name>
              <description>Layer 3 IP SA Higher Bits Match</description>
              <bitOffset>6</bitOffset>
              <bitWidth>5</bitWidth>
            </field>
            <field>
              <name>L3HDBM0</name>
              <description>Layer 3 IP DA Higher Bits Match</description>
              <bitOffset>11</bitOffset>
              <bitWidth>5</bitWidth>
            </field>
            <field>
              <name>L4PEN0</name>
              <description>Layer 4 Protocol Enable</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>L4SPM0</name>
              <description>Layer 4 Source Port Match Enable</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>L4SPIM0</name>
              <description>Layer 4 Source Port Inverse Match Enable</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>L4DPM0</name>
              <description>Layer 4 Destination Port Match Enable</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>L4DPIM0</name>
              <description>Layer 4 Destination Port Inverse Match Enable</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MACL4A0R</name>
          <displayName>MACL4A0R</displayName>
          <description>Layer4 address filter 0
          register</description>
          <addressOffset>0x904</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>L4SP0</name>
              <description>Layer 4 Source Port Number Field</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
            <field>
              <name>L4DP0</name>
              <description>Layer 4 Destination Port Number Field</description>
              <bitOffset>16</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MACL3A00R</name>
          <displayName>MACL3A00R</displayName>
          <description>MACL3A00R</description>
          <addressOffset>0x910</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>L3A00</name>
              <description>Layer 3 Address 0 Field</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MACL3A10R</name>
          <displayName>MACL3A10R</displayName>
          <description>Layer3 address 1 filter 0
          register</description>
          <addressOffset>0x914</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>L3A10</name>
              <description>Layer 3 Address 1 Field</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MACL3A20</name>
          <displayName>MACL3A20</displayName>
          <description>Layer3 Address 2 filter 0
          register</description>
          <addressOffset>0x918</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>L3A20</name>
              <description>Layer 3 Address 2 Field</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MACL3A30</name>
          <displayName>MACL3A30</displayName>
          <description>Layer3 Address 3 filter 0
          register</description>
          <addressOffset>0x91C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>L3A30</name>
              <description>Layer 3 Address 3 Field</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MACL3L4C1R</name>
          <displayName>MACL3L4C1R</displayName>
          <description>L3 and L4 control 1 register</description>
          <addressOffset>0x930</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>L3PEN1</name>
              <description>Layer 3 Protocol Enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>L3SAM1</name>
              <description>Layer 3 IP SA Match Enable</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>L3SAIM1</name>
              <description>Layer 3 IP SA Inverse Match Enable</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>L3DAM1</name>
              <description>Layer 3 IP DA Match Enable</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>L3DAIM1</name>
              <description>Layer 3 IP DA Inverse Match Enable</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>L3HSBM1</name>
              <description>Layer 3 IP SA Higher Bits Match</description>
              <bitOffset>6</bitOffset>
              <bitWidth>5</bitWidth>
            </field>
            <field>
              <name>L3HDBM1</name>
              <description>Layer 3 IP DA Higher Bits Match</description>
              <bitOffset>11</bitOffset>
              <bitWidth>5</bitWidth>
            </field>
            <field>
              <name>L4PEN1</name>
              <description>Layer 4 Protocol Enable</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>L4SPM1</name>
              <description>Layer 4 Source Port Match Enable</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>L4SPIM1</name>
              <description>Layer 4 Source Port Inverse Match Enable</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>L4DPM1</name>
              <description>Layer 4 Destination Port Match Enable</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>L4DPIM1</name>
              <description>Layer 4 Destination Port Inverse Match Enable</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MACL4A1R</name>
          <displayName>MACL4A1R</displayName>
          <description>Layer 4 address filter 1
          register</description>
          <addressOffset>0x934</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>L4SP1</name>
              <description>Layer 4 Source Port Number Field</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
            <field>
              <name>L4DP1</name>
              <description>Layer 4 Destination Port Number Field</description>
              <bitOffset>16</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MACL3A01R</name>
          <displayName>MACL3A01R</displayName>
          <description>Layer3 address 0 filter 1
          Register</description>
          <addressOffset>0x940</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>L3A01</name>
              <description>Layer 3 Address 0 Field</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MACL3A11R</name>
          <displayName>MACL3A11R</displayName>
          <description>Layer3 address 1 filter 1
          register</description>
          <addressOffset>0x944</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>L3A11</name>
              <description>Layer 3 Address 1 Field</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MACL3A21R</name>
          <displayName>MACL3A21R</displayName>
          <description>Layer3 address 2 filter 1
          Register</description>
          <addressOffset>0x948</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>L3A21</name>
              <description>Layer 3 Address 2 Field</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MACL3A31R</name>
          <displayName>MACL3A31R</displayName>
          <description>Layer3 address 3 filter 1
          register</description>
          <addressOffset>0x94C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>L3A31</name>
              <description>Layer 3 Address 3 Field</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MACTSCR</name>
          <displayName>MACTSCR</displayName>
          <description>Timestamp control Register</description>
          <addressOffset>0xB00</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000200</resetValue>
          <fields>
            <field>
              <name>TSENA</name>
              <description>Enable Timestamp</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TSCFUPDT</name>
              <description>Fine or Coarse Timestamp Update</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TSINIT</name>
              <description>Initialize Timestamp</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TSUPDT</name>
              <description>Update Timestamp</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TSADDREG</name>
              <description>Update Addend Register</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TSENALL</name>
              <description>Enable Timestamp for All Packets</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TSCTRLSSR</name>
              <description>Timestamp Digital or Binary Rollover Control</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</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TSIPENA</name>
              <description>Enable Processing of 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</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</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TSEVNTENA</name>
              <description>Enable Timestamp Snapshot for Event Messages</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TSMSTRENA</name>
              <description>Enable Snapshot for Messages Relevant to Master</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>SNAPTYPSEL</name>
              <description>Select PTP packets for Taking Snapshots</description>
              <bitOffset>16</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TSENMACADDR</name>
              <description>Enable MAC Address for PTP Packet Filtering</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CSC</name>
              <description>Enable checksum correction during OST for PTP over UDP/IPv4 packets</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>TXTSSTSM</name>
              <description>Transmit Timestamp Status Mode</description>
              <bitOffset>24</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>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>SNSINC</name>
              <description>Sub-nanosecond Increment Value</description>
              <bitOffset>8</bitOffset>
              <bitWidth>8</bitWidth>
            </field>
            <field>
              <name>SSINC</name>
              <description>Sub-second Increment Value</description>
              <bitOffset>16</bitOffset>
              <bitWidth>8</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MACSTSR</name>
          <displayName>MACSTSR</displayName>
          <description>System time seconds register</description>
          <addressOffset>0xB08</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TSS</name>
              <description>Timestamp Second</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MACSTNR</name>
          <displayName>MACSTNR</displayName>
          <description>System time nanoseconds
          register</description>
          <addressOffset>0xB0C</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TSSS</name>
              <description>Timestamp Sub-seconds</description>
              <bitOffset>0</bitOffset>
              <bitWidth>31</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MACSTSUR</name>
          <displayName>MACSTSUR</displayName>
          <description>System time seconds update
          register</description>
          <addressOffset>0xB10</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TSS</name>
              <description>Timestamp Seconds</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MACSTNUR</name>
          <displayName>MACSTNUR</displayName>
          <description>System time nanoseconds update
          register</description>
          <addressOffset>0xB14</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TSSS</name>
              <description>Timestamp Sub-seconds</description>
              <bitOffset>0</bitOffset>
              <bitWidth>31</bitWidth>
            </field>
            <field>
              <name>ADDSUB</name>
              <description>Add or Subtract Time</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MACTSAR</name>
          <displayName>MACTSAR</displayName>
          <description>Timestamp addend register</description>
          <addressOffset>0xB18</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TSAR</name>
              <description>Timestamp Addend Register</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MACTSSR</name>
          <displayName>MACTSSR</displayName>
          <description>Timestamp status register</description>
          <addressOffset>0xB20</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TSSOVF</name>
              <description>Timestamp Seconds Overflow</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TSTARGT0</name>
              <description>Timestamp Target Time Reached</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>AUXTSTRIG</name>
              <description>Auxiliary Timestamp Trigger Snapshot</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TSTRGTERR0</name>
              <description>Timestamp Target Time Error</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TXTSSIS</name>
              <description>Tx Timestamp Status Interrupt Status</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ATSSTN</name>
              <description>Auxiliary Timestamp Snapshot Trigger Identifier</description>
              <bitOffset>16</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>ATSSTM</name>
              <description>Auxiliary Timestamp Snapshot Trigger Missed</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ATSNS</name>
              <description>Number of Auxiliary Timestamp Snapshots</description>
              <bitOffset>25</bitOffset>
              <bitWidth>5</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MACTxTSSNR</name>
          <displayName>MACTxTSSNR</displayName>
          <description>Tx timestamp status nanoseconds
          register</description>
          <addressOffset>0xB30</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TXTSSLO</name>
              <description>Transmit Timestamp Status Low</description>
              <bitOffset>0</bitOffset>
              <bitWidth>31</bitWidth>
            </field>
            <field>
              <name>TXTSSMIS</name>
              <description>Transmit Timestamp Status Missed</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MACTxTSSSR</name>
          <displayName>MACTxTSSSR</displayName>
          <description>Tx timestamp status seconds
          register</description>
          <addressOffset>0xB34</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TXTSSHI</name>
              <description>Transmit Timestamp Status High</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MACACR</name>
          <displayName>MACACR</displayName>
          <description>Auxiliary control register</description>
          <addressOffset>0xB40</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>ATSFC</name>
              <description>Auxiliary Snapshot FIFO Clear</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ATSEN0</name>
              <description>Auxiliary Snapshot 0 Enable</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ATSEN1</name>
              <description>Auxiliary Snapshot 1 Enable</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ATSEN2</name>
              <description>Auxiliary Snapshot 2 Enable</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ATSEN3</name>
              <description>Auxiliary Snapshot 3 Enable</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MACATSNR</name>
          <displayName>MACATSNR</displayName>
          <description>Auxiliary timestamp nanoseconds
          register</description>
          <addressOffset>0xB48</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>AUXTSLO</name>
              <description>Auxiliary Timestamp</description>
              <bitOffset>0</bitOffset>
              <bitWidth>31</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MACATSSR</name>
          <displayName>MACATSSR</displayName>
          <description>Auxiliary timestamp seconds
          register</description>
          <addressOffset>0xB4C</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>AUXTSHI</name>
              <description>Auxiliary Timestamp</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MACTSIACR</name>
          <displayName>MACTSIACR</displayName>
          <description>Timestamp Ingress asymmetric correction
          register</description>
          <addressOffset>0xB50</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>OSTIAC</name>
              <description>One-Step Timestamp Ingress Asymmetry Correction</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MACTSEACR</name>
          <displayName>MACTSEACR</displayName>
          <description>Timestamp Egress asymmetric correction
          register</description>
          <addressOffset>0xB54</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>OSTEAC</name>
              <description>One-Step Timestamp Egress Asymmetry Correction</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MACTSICNR</name>
          <displayName>MACTSICNR</displayName>
          <description>Timestamp Ingress correction nanosecond
          register</description>
          <addressOffset>0xB58</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TSIC</name>
              <description>Timestamp Ingress Correction</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MACTSECNR</name>
          <displayName>MACTSECNR</displayName>
          <description>Timestamp Egress correction nanosecond
          register</description>
          <addressOffset>0xB5C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TSEC</name>
              <description>Timestamp Egress Correction</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MACPPSCR</name>
          <displayName>MACPPSCR</displayName>
          <description>PPS control register</description>
          <addressOffset>0xB70</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>PPSCTRL</name>
              <description>Flexible PPS Output (ptp_pps_o[0]) Control or PPSCTRL PPS Output Frequency Control if PPSEN0 is cleared</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>PPSEN0</name>
              <description>Flexible PPS Output Mode Enable</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TRGTMODSEL0</name>
              <description>Target Time Register Mode for PPS Output</description>
              <bitOffset>5</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MACPPSTTSR</name>
          <displayName>MACPPSTTSR</displayName>
          <description>PPS target time seconds
          register</description>
          <addressOffset>0xB80</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TSTRH0</name>
              <description>PPS Target Time Seconds Register</description>
              <bitOffset>0</bitOffset>
              <bitWidth>31</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MACPPSTTNR</name>
          <displayName>MACPPSTTNR</displayName>
          <description>PPS target time nanoseconds
          register</description>
          <addressOffset>0xB84</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TTSL0</name>
              <description>Target Time Low for PPS Register</description>
              <bitOffset>0</bitOffset>
              <bitWidth>31</bitWidth>
            </field>
            <field>
              <name>TRGTBUSY0</name>
              <description>PPS Target Time Register Busy</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MACPPSIR</name>
          <displayName>MACPPSIR</displayName>
          <description>PPS interval register</description>
          <addressOffset>0xB88</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>PPSINT0</name>
              <description>PPS Output Signal Interval</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MACPPSWR</name>
          <displayName>MACPPSWR</displayName>
          <description>PPS width register</description>
          <addressOffset>0xB8C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>PPSWIDTH0</name>
              <description>PPS Output Signal Width</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MACPOCR</name>
          <displayName>MACPOCR</displayName>
          <description>PTP Offload control register</description>
          <addressOffset>0xBC0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>PTOEN</name>
              <description>PTP Offload Enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ASYNCEN</name>
              <description>Automatic PTP SYNC message Enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>APDREQEN</name>
              <description>Automatic PTP Pdelay_Req message Enable</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ASYNCTRIG</name>
              <description>Automatic PTP SYNC message Trigger</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>APDREQTRIG</name>
              <description>Automatic PTP Pdelay_Req message Trigger</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DRRDIS</name>
              <description>Disable PTO Delay Request/Response response generation</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DN</name>
              <description>Domain Number</description>
              <bitOffset>8</bitOffset>
              <bitWidth>8</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MACSPI0R</name>
          <displayName>MACSPI0R</displayName>
          <description>PTP Source Port Identity 0
          Register</description>
          <addressOffset>0xBC4</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>SPI0</name>
              <description>Source Port Identity 0</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MACSPI1R</name>
          <displayName>MACSPI1R</displayName>
          <description>PTP Source port identity 1
          register</description>
          <addressOffset>0xBC8</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>SPI1</name>
              <description>Source Port Identity 1</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MACSPI2R</name>
          <displayName>MACSPI2R</displayName>
          <description>PTP Source port identity 2
          register</description>
          <addressOffset>0xBCC</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>SPI2</name>
              <description>Source Port Identity 2</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MACLMIR</name>
          <displayName>MACLMIR</displayName>
          <description>Log message interval register</description>
          <addressOffset>0xBD0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>LSI</name>
              <description>Log Sync Interval</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
            </field>
            <field>
              <name>DRSYNCR</name>
              <description>Delay_Req to SYNC Ratio</description>
              <bitOffset>8</bitOffset>
              <bitWidth>3</bitWidth>
            </field>
            <field>
              <name>LMPDRI</name>
              <description>Log Min Pdelay_Req Interval</description>
              <bitOffset>24</bitOffset>
              <bitWidth>8</bitWidth>
            </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>DMA1_STR7</name>
        <description>DMA1 Stream7</description>
        <value>47</value>
      </interrupt>
      <interrupt>
        <name>DMA_STR1</name>
        <description>DMA1 Stream1</description>
        <value>12</value>
      </interrupt>
      <interrupt>
        <name>DMA_STR0</name>
        <description>DMA1 Stream0</description>
        <value>11</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_STR7</name>
        <description>DMA2 Stream7 interrupt</description>
        <value>70</value>
      </interrupt>
      <interrupt>
        <name>DMA2_STR6</name>
        <description>DMA2 Stream6 interrupt</description>
        <value>69</value>
      </interrupt>
      <interrupt>
        <name>DMA2_STR5</name>
        <description>DMA2 Stream5 interrupt</description>
        <value>68</value>
      </interrupt>
      <interrupt>
        <name>DMA2_STR4</name>
        <description>DMA2 Stream4 interrupt</description>
        <value>60</value>
      </interrupt>
      <interrupt>
        <name>DMA2_STR3</name>
        <description>DMA2 Stream3 interrupt</description>
        <value>59</value>
      </interrupt>
      <interrupt>
        <name>DMA2_STR2</name>
        <description>DMA2 Stream2 interrupt</description>
        <value>58</value>
      </interrupt>
      <interrupt>
        <name>DMA2_STR1</name>
        <description>DMA2 Stream1 interrupt</description>
        <value>57</value>
      </interrupt>
      <interrupt>
        <name>DMA2_STR0</name>
        <description>DMA2 Stream0 interrupt</description>
        <value>56</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>
    </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>
      <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_FLT</name>
        <description>HRTIM1 fault interrupt</description>
        <value>109</value>
      </interrupt>
      <interrupt>
        <name>HRTIM1_MST</name>
        <description>HRTIM1 master timer interrupt</description>
        <value>103</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>HRTIM1_TIMA</name>
        <description>HRTIM1 timer A interrupt</description>
        <value>104</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>HRTIM_TIMB</name>
        <description>HRTIM1 timer B interrupt</description>
        <value>105</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_TIMC</name>
        <description>HRTIM1 timer C interrupt</description>
        <value>106</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>HRTIM1_TIMD</name>
        <description>HRTIM1 timer D interrupt</description>
        <value>107</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>HRTIM_TIME</name>
        <description>HRTIM1 timer E interrupt</description>
        <value>108</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_FLT3</name>
        <description>DFSDM1 filter 3 interrupt</description>
        <value>113</value>
      </interrupt>
      <interrupt>
        <name>DFSDM1_FLT2</name>
        <description>DFSDM1 filter 2 interrupt</description>
        <value>112</value>
      </interrupt>
      <interrupt>
        <name>DFSDM1_FLT1</name>
        <description>DFSDM1 filter 1 interrupt</description>
        <value>111</value>
      </interrupt>
      <interrupt>
        <name>DFSDM1_FLT0</name>
        <description>DFSDM1 filter 0 interrupt</description>
        <value>110</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>TIM_CC</name>
        <description>TIM1 capture / compare</description>
        <value>27</value>
      </interrupt>
      <interrupt>
        <name>TIM1_TRG_COM</name>
        <description>TIM1 trigger and commutation</description>
        <value>26</value>
      </interrupt>
      <interrupt>
        <name>TIM1_UP</name>
        <description>TIM1 update interrupt</description>
        <value>25</value>
      </interrupt>
      <interrupt>
        <name>TIM1_BRK</name>
        <description>TIM1 break interrupt</description>
        <value>24</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_TRG_COM_TIM14</name>
        <description>TIM8 and 14 trigger /commutation and
        global</description>
        <value>45</value>
      </interrupt>
      <interrupt>
        <name>TIM8_UP_TIM13</name>
        <description>TIM8 and 13 update global</description>
        <value>44</value>
      </interrupt>
      <interrupt>
        <name>TIM8_BRK_TIM12</name>
        <description>TIM8 and 12 break global</description>
        <value>43</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>FDCAN_CAL</name>
        <description>CAN2TX interrupts</description>
        <value>63</value>
      </interrupt>
      <interrupt>
        <name>FDCAN1_IT1</name>
        <description>FDCAN1 Interrupt 1</description>
        <value>21</value>
      </interrupt>
      <interrupt>
        <name>FDCAN1_IT0</name>
        <description>FDCAN1 Interrupt 0</description>
        <value>19</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_IT1</name>
        <description>FDCAN2 Interrupt 1</description>
        <value>22</value>
      </interrupt>
      <interrupt>
        <name>FDCAN2_IT0</name>
        <description>FDCAN2 Interrupt 0</description>
        <value>20</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</name>
        <description>MDIOS global interrupt</description>
        <value>120</value>
      </interrupt>
      <interrupt>
        <name>MDIOS_WKUP</name>
        <description>MDIOS wakeup</description>
        <value>119</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>