<?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>STM32H7B3</name>
  <version>3.3</version>
  <description>STM32H7B3</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>ADC1</name>
      <description>Analog to Digital Converter</description>
      <groupName>ADC</groupName>
      <baseAddress>0x40022000</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x100</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>ADC1_2</name>
        <description>ADC1 and ADC2 global interrupt</description>
        <value>18</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>0x20000000</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>2</bitWidth>
              <enumeratedValues>
                <name>BOOST</name>
                <enumeratedValue>
                  <name>LT6_25</name>
                  <description>Boost mode used when ADC clock ≤ 6.25 MHz</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LT12_5</name>
                  <description>Boost mode used when 6.25 MHz &lt; ADC clock ≤ 12.5 MHz</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LT25</name>
                  <description>Boost mode used when 12.5 MHz &lt; ADC clock ≤ 25.0 MHz</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LT50</name>
                  <description>Boost mode used when 25.0 MHz &lt; ADC clock ≤ 50.0 MHz</description>
                  <value>3</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>0x80000000</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 in legacy mode (not optimized power consumption)</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TwelveBit</name>
                  <description>12-bit resolution in legacy mode (not optimized power consumption)</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TenBit</name>
                  <description>10-bit resolution</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FourteenBitV</name>
                  <description>14-bit resolution</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TwelveBitV</name>
                  <description>12-bit resolution</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>EightBit</name>
                  <description>8-bit resolution</description>
                  <value>7</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>
              <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="ADC1.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>0x00000000</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>0x03FFFFFF</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="ADC1.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="ADC1.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="ADC1.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>32</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>0x03FFFFFF</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>0x03FFFFFF</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="ADC1">
      <name>ADC2</name>
      <description>Analog to Digital Converter</description>
      <groupName>ADC</groupName>
      <baseAddress>0x40022100</baseAddress>
    </peripheral>
    <peripheral>
      <name>ADC12_Common</name>
      <description>Analog-to-Digital Converter</description>
      <groupName>ADC</groupName>
      <baseAddress>0x40022300</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>
      </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>BDMA1</name>
      <description>Basic direct memory access controller</description>
      <groupName>BDMA</groupName>
      <baseAddress>0x48022C00</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>BDMA1</name>
        <description>BDMA1</description>
        <value>154</value>
      </interrupt>
      <interrupt>
        <name>BDMA1_CH7</name>
        <description>BDMA1 global interrupt</description>
        <value>136</value>
      </interrupt>
      <interrupt>
        <name>BDMA_CH6</name>
        <description>BDMA channel 6 interrupt</description>
        <value>135</value>
      </interrupt>
      <registers>
        <register>
          <name>ISR</name>
          <displayName>ISR</displayName>
          <description>DMA interrupt status register</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>8</dim>
              <dimIncrement>0x4</dimIncrement>
              <dimIndex>1-8</dimIndex>
              <name>GIF%s</name>
              <description>Channel %s Global interrupt flag</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>GIF1</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>1-8</dimIndex>
              <name>TCIF%s</name>
              <description>Channel %s Transfer Complete flag</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TCIF1</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>1-8</dimIndex>
              <name>HTIF%s</name>
              <description>Channel %s Half Transfer Complete flag</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>HTIF1</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>1-8</dimIndex>
              <name>TEIF%s</name>
              <description>Channel %s Transfer Error flag</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TEIF1</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>DMA interrupt flag clear
          register</description>
          <addressOffset>0x4</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>8</dim>
              <dimIncrement>0x4</dimIncrement>
              <dimIndex>1-8</dimIndex>
              <name>CGIF%s</name>
              <description>Channel %s Global interrupt clear</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CGIF1</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>1-8</dimIndex>
              <name>CTCIF%s</name>
              <description>Channel %s Transfer Complete clear</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CTCIF1</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>1-8</dimIndex>
              <name>CHTIF%s</name>
              <description>Channel %s Half Transfer clear</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CHTIF1</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>1-8</dimIndex>
              <name>CTEIF%s</name>
              <description>Channel %s Transfer Error clear</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CTEIF1</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>DMA channel x configuration
          register</description>
            <addressOffset>0x0</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>EN</name>
                <description>Channel enable This bit is set and
              cleared by software.</description>
                <bitOffset>0</bitOffset>
                <bitWidth>1</bitWidth>
                <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 This
              bit is set and cleared by software.</description>
                <bitOffset>1</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 This bit
              is set and cleared by software.</description>
                <bitOffset>2</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 This bit
              is set and cleared by software.</description>
                <bitOffset>3</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>DIR</name>
                <description>Data transfer direction This bit is set
              and cleared by software.</description>
                <bitOffset>4</bitOffset>
                <bitWidth>1</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>
                </enumeratedValues>
              </field>
              <field>
                <name>CIRC</name>
                <description>Circular mode This bit is set and
              cleared by software.</description>
                <bitOffset>5</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>PINC</name>
                <description>Peripheral increment mode This bit is
              set and cleared by software.</description>
                <bitOffset>6</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 This bit is set
              and cleared by software.</description>
                <bitOffset>7</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues derivedFrom="PINC"/>
              </field>
              <field>
                <name>PSIZE</name>
                <description>Peripheral size These bits are set and
              cleared by software.</description>
                <bitOffset>8</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 size These bits are set and
              cleared by software.</description>
                <bitOffset>10</bitOffset>
                <bitWidth>2</bitWidth>
                <enumeratedValues derivedFrom="PSIZE"/>
              </field>
              <field>
                <name>PL</name>
                <description>Channel priority level These bits are
              set and cleared by software.</description>
                <bitOffset>12</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>MEM2MEM</name>
                <description>Memory to memory mode This bit is set
              and cleared by software.</description>
                <bitOffset>14</bitOffset>
                <bitWidth>1</bitWidth>
                <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</description>
                <bitOffset>15</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>CT</name>
                <description>current target memory of DMA transfer in double-buffer mode.</description>
                <bitOffset>16</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>
            </fields>
          </register>
          <register>
            <name>NDTR</name>
            <displayName>CNDTR0</displayName>
            <description>DMA channel 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 to transfer Number of
              data to be transferred (0 up to 65535). This register
              can only be written when the channel is disabled.
              Once the channel is enabled, this register is
              read-only, indicating the remaining bytes to be
              transmitted. This register decrements after each DMA
              transfer. Once the transfer is completed, this
              register can either stay at zero or be reloaded
              automatically by the value previously programmed if
              the channel is configured in auto-reload mode. If
              this register is zero, no transaction can be served
              whether the channel is enabled or not.</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>CPAR0</displayName>
            <description>This register must not be written when the
          channel is enabled.</description>
            <addressOffset>0x8</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>PA</name>
                <description>Peripheral address Base address of the
              peripheral data register from/to which the data will
              be read/written. When PSIZE is 01 (16-bit), the PA[0]
              bit is ignored. Access is automatically aligned to a
              half-word address. When PSIZE is 10 (32-bit), PA[1:0]
              are ignored. Access is automatically aligned to a
              word address.</description>
                <bitOffset>0</bitOffset>
                <bitWidth>32</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>M0AR</name>
            <displayName>CM0AR0</displayName>
            <description>This register must not be written when the
          channel is enabled.</description>
            <addressOffset>0xC</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>MA</name>
                <description>Memory address Base address of the
              memory area from/to which the data will be
              read/written. When MSIZE is 01 (16-bit), the MA[0]
              bit is ignored. Access is automatically aligned to a
              half-word address. When MSIZE is 10 (32-bit), MA[1:0]
              are ignored. Access is automatically aligned to a
              word address.</description>
                <bitOffset>0</bitOffset>
                <bitWidth>32</bitWidth>
              </field>
            </fields>
          </register>
          <register>
            <name>M1AR</name>
            <displayName>CM1AR0</displayName>
            <description>This register must not be written when the
          channel is enabled</description>
            <addressOffset>0x10</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>MA</name>
                <description>Memory address</description>
                <bitOffset>0</bitOffset>
                <bitWidth>32</bitWidth>
              </field>
            </fields>
          </register>
        </cluster>
      </registers>
    </peripheral>
    <peripheral derivedFrom="BDMA1">
      <name>BDMA2</name>
      <baseAddress>0x58025400</baseAddress>
      <interrupt>
        <name>BDMA2_CH5</name>
        <description>BDMA2 channel 5 interrupt</description>
        <value>134</value>
      </interrupt>
      <interrupt>
        <name>BDMA2_CH4</name>
        <description>BDMA2 channel 4 interrupt</description>
        <value>133</value>
      </interrupt>
      <interrupt>
        <name>BDMA2_CH3</name>
        <description>BDMA2 channel 3 interrupt</description>
        <value>132</value>
      </interrupt>
      <interrupt>
        <name>BDMA2_CH2</name>
        <description>BDMA2 channel 2 interrupt</description>
        <value>131</value>
      </interrupt>
      <interrupt>
        <name>BDMA2_CH1</name>
        <description>BDMA2 channel 1 interrupt</description>
        <value>130</value>
      </interrupt>
      <interrupt>
        <name>BDMA2_CH0</name>
        <description>BDMA2 channel 0 interrupt</description>
        <value>129</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>0x11141218</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>0x00000004</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>0x0203FFFF</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>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>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>CRC</name>
      <description>Cryptographic processor</description>
      <groupName>CRC</groupName>
      <baseAddress>0x40023000</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>0x00000000</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>0x00000000</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>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>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>b2</name>
              <description>b224</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>b</name>
              <description>b192</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>b1</name>
              <description>b160</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>b1</name>
              <description>b128</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>b</name>
              <description>b96</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>b</name>
              <description>b64</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>b</name>
              <description>b32</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>b</name>
              <description>b0</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>CSGCMCCM0R</name>
              <description>CSGCMCCM0R</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CSGCMCCM1R</name>
          <displayName>CSGCMCCM1R</displayName>
          <description>context swap register</description>
          <addressOffset>0x54</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CSGCMCCM1R</name>
              <description>CSGCMCCM1R</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CSGCMCCM2R</name>
          <displayName>CSGCMCCM2R</displayName>
          <description>context swap register</description>
          <addressOffset>0x58</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CSGCMCCM2R</name>
              <description>CSGCMCCM2R</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CSGCMCCM3R</name>
          <displayName>CSGCMCCM3R</displayName>
          <description>context swap register</description>
          <addressOffset>0x5C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CSGCMCCM3R</name>
              <description>CSGCMCCM3R</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CSGCMCCM4R</name>
          <displayName>CSGCMCCM4R</displayName>
          <description>context swap register</description>
          <addressOffset>0x60</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CSGCMCCM4R</name>
              <description>CSGCMCCM4R</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CSGCMCCM5R</name>
          <displayName>CSGCMCCM5R</displayName>
          <description>context swap register</description>
          <addressOffset>0x64</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CSGCMCCM5R</name>
              <description>CSGCMCCM5R</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CSGCMCCM6R</name>
          <displayName>CSGCMCCM6R</displayName>
          <description>context swap register</description>
          <addressOffset>0x68</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CSGCMCCM6R</name>
              <description>CSGCMCCM6R</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CSGCMCCM7R</name>
          <displayName>CSGCMCCM7R</displayName>
          <description>context swap register</description>
          <addressOffset>0x6C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CSGCMCCM7R</name>
              <description>CSGCMCCM7R</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CSGCM0R</name>
          <displayName>CSGCM0R</displayName>
          <description>context swap register</description>
          <addressOffset>0x70</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CSGCM0R</name>
              <description>CSGCM0R</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CSGCM1R</name>
          <displayName>CSGCM1R</displayName>
          <description>context swap register</description>
          <addressOffset>0x74</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CSGCM1R</name>
              <description>CSGCM1R</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CSGCM2R</name>
          <displayName>CSGCM2R</displayName>
          <description>context swap register</description>
          <addressOffset>0x78</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CSGCM2R</name>
              <description>CSGCM2R</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CSGCM3R</name>
          <displayName>CSGCM3R</displayName>
          <description>context swap register</description>
          <addressOffset>0x7C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CSGCM3R</name>
              <description>CSGCM3R</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CSGCM4R</name>
          <displayName>CSGCM4R</displayName>
          <description>context swap register</description>
          <addressOffset>0x80</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CSGCM4R</name>
              <description>CSGCM4R</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CSGCM5R</name>
          <displayName>CSGCM5R</displayName>
          <description>context swap register</description>
          <addressOffset>0x84</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CSGCM5R</name>
              <description>CSGCM5R</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CSGCM6R</name>
          <displayName>CSGCM6R</displayName>
          <description>context swap register</description>
          <addressOffset>0x88</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CSGCM6R</name>
              <description>CSGCM6R</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CSGCM7R</name>
          <displayName>CSGCM7R</displayName>
          <description>context swap register</description>
          <addressOffset>0x8C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CSGCM7R</name>
              <description>CSGCM7R</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>DAC1</name>
      <description>Digital-to-analog converter</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>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>
                <enumeratedValue>
                  <name>Lptim2or3Out</name>
                  <description>LPTIM2 (DAC1)/ LPTIM3 (DAC2) OUT event</description>
                  <value>14</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 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 derivedFrom="DAC1">
      <name>DAC2</name>
      <baseAddress>0x58003400</baseAddress>
      <interrupt>
        <name>DAC2</name>
        <description>DAC2 underrun interrupt</description>
        <value>127</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>0x10006480</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_CD</name>
              <description>Allow D1 domain debug in Sleep mode</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DBGSTOP_CD</name>
              <description>Allow D1 domain debug in Stop mode</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DBGSTBY_CD</name>
              <description>Allow D1 domain debug in Standby mode</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DBGSTOP_SRD</name>
              <description>debug in SmartRun domain Stop mode</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DBGSTBY_SRD</name>
              <description>debug in SmartRun domain Standby mode</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TRACECLKEN</name>
              <description>Trace port clock enable</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CDDBGCKEN</name>
              <description>CPU domain debug clock enable</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SRDDBGCKEN</name>
              <description>SmartRun domain 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>WWDG</name>
              <description>WWDG 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>TIM2</name>
              <description>TIM2 stop in debug</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TIM3</name>
              <description>TIM3 stop in debug</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TIM4</name>
              <description>TIM4 stop in debug</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TIM5</name>
              <description>TIM5 stop in debug</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TIM6</name>
              <description>TIM6 stop in debug</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TIM7</name>
              <description>TIM7 stop in debug</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TIM12</name>
              <description>TIM12 stop in debug</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TIM13</name>
              <description>TIM13 stop in debug</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TIM14</name>
              <description>TIM14 stop in debug</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>LPTIM1</name>
              <description>LPTIM1 stop in debug</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>I2C1</name>
              <description>I2C1 SMBUS timeout stop in debug</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>I2C2</name>
              <description>I2C2 SMBUS timeout stop in debug</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>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>TIM1</name>
              <description>TIM1 stop in debug</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TIM8</name>
              <description>TIM8 stop in debug</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TIM15</name>
              <description>TIM15 stop in debug</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TIM16</name>
              <description>TIM16 stop in debug</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TIM17</name>
              <description>TIM17 stop in debug</description>
              <bitOffset>18</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>I2C4</name>
              <description>I2C4 SMBUS timeout stop in debug</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>LPTIM2</name>
              <description>LPTIM2 stop in debug</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>LPTIM3</name>
              <description>LPTIM3 stop in debug</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RTC</name>
              <description>RTC stop in debug</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>WDGLSCD</name>
              <description>LS watchdog for CPU domain stop in debug</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</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_PSSI</name>
        <description>DCMI/PSSI 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>DELAY_Block_SDMMC1</name>
      <description>DELAY_Block_SDMMC1</description>
      <groupName>DLYB</groupName>
      <baseAddress>0x52008000</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>WKUP</name>
        <description>WKUP1 to WKUP6 pins</description>
        <value>149</value>
      </interrupt>
      <interrupt>
        <name>PVD_PVM</name>
        <description>PVD through EXTI line</description>
        <value>1</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_SDMMC2</name>
      <baseAddress>0x48022800</baseAddress>
    </peripheral>
    <peripheral>
      <name>DFSDM1</name>
      <description>Digital filter for sigma delta
        modulators</description>
      <groupName>DFSDM</groupName>
      <baseAddress>0x40017800</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x4BC</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>
      <interrupt>
        <name>DFSDM1_FLT7</name>
        <description>DFSDM1 filter 7 interrupt</description>
        <value>67</value>
      </interrupt>
      <interrupt>
        <name>DFSDM1_FLT4</name>
        <description>DFSDM1 filter 4 interrupt</description>
        <value>64</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>DFSDM channel 0 configuration register</description>
            <addressOffset>0x0</addressOffset>
            <size>0x20</size>
            <resetValue>0x00000000</resetValue>
            <resetMask>0xFFFFFFFF</resetMask>
            <fields>
              <field>
                <name>SITP</name>
                <description>Serial interface type for channel y
This value can only be modified when CHEN=0 (in DFSDM_CHyCFGR1 register).</description>
                <bitOffset>0</bitOffset>
                <bitWidth>2</bitWidth>
                <access>read-write</access>
                <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>
              <field>
                <name>SPICKSEL</name>
                <description>SPI clock select for channel y
2:	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).
3:	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).
This value can be modified only when CHEN=0 (in DFSDM_CHyCFGR1 register).</description>
                <bitOffset>2</bitOffset>
                <bitWidth>2</bitWidth>
                <access>read-write</access>
                <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>SCDEN</name>
                <description>Short-circuit detector enable on channel y</description>
                <bitOffset>5</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
                <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>CKABEN</name>
                <description>Clock absence detector enable on channel y</description>
                <bitOffset>6</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
                <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>CHEN</name>
                <description>Channel y enable
If channel y is enabled, then serial data receiving is started according to the given channel setting.</description>
                <bitOffset>7</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
                <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>CHINSEL</name>
                <description>Channel inputs selection
This value can be modified only when CHEN=0 (in DFSDM_CHyCFGR1 register).</description>
                <bitOffset>8</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
                <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>DATMPX</name>
                <description>Input data multiplexer for channel y
2:	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.
3:	Reserved
This value can be modified only when CHEN=0 (in DFSDM_CHyCFGR1 register).</description>
                <bitOffset>12</bitOffset>
                <bitWidth>2</bitWidth>
                <access>read-write</access>
                <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>DATPACK</name>
                <description>Data packing mode in DFSDM_CHyDATINR register.
first sample in INDAT0[15:0] (assigned to channel y)
second sample INDAT1[15:0] (assigned to channel y)
To empty DFSDM_CHyDATINR register, two samples must be read by the digital filter from channel y (INDAT0[15:0] part is read as first sample and then INDAT1[15:0] part is read as next sample).
2: 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)
To empty DFSDM_CHyDATINR register first sample must be read by the digital filter from channel y and second sample must be read by another digital filter from channel y+1. Dual mode is available only on even channel numbers (y = 0, 2, 4, 6), for odd channel numbers (y = 1, 3, 5, 7) DFSDM_CHyDATINR is write protected. If an even channel is set to dual mode then the following odd channel must be set into standard mode (DATPACK[1:0]=0) for correct cooperation with even channel.
3: Reserved
This value can be modified only when CHEN=0 (in DFSDM_CHyCFGR1 register).</description>
                <bitOffset>14</bitOffset>
                <bitWidth>2</bitWidth>
                <access>read-write</access>
                <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>CKOUTDIV</name>
                <description>Output serial clock divider
256 (Divider = CKOUTDIV+1).
CKOUTDIV also defines the threshold for a clock absence detection.
This value can only be modified when DFSDMEN=0 (in DFSDM_CH0CFGR1 register).
If DFSDMEN=0 (in DFSDM_CH0CFGR1 register) then CKOUT signal is set to low state (setting is performed one DFSDM clock cycle after DFSDMEN=0).
Note: CKOUTDIV is present only in DFSDM_CH0CFGR1 register (channel y=0)
1- 255: Defines the division of system clock for the serial clock output for CKOUT signal in range 2-</description>
                <bitOffset>16</bitOffset>
                <bitWidth>8</bitWidth>
                <access>read-write</access>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>255</maximum>
                  </range>
                </writeConstraint>
              </field>
              <field>
                <name>CKOUTSRC</name>
                <description>Output serial clock source selection
This value can be modified only when DFSDMEN=0 (in DFSDM_CH0CFGR1 register).
Note: CKOUTSRC is present only in DFSDM_CH0CFGR1 register (channel y=0)</description>
                <bitOffset>30</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
                <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>DFSDMEN</name>
                <description>Global enable for DFSDM interface
If DFSDM interface is enabled, then it is started to operate according to enabled y channels and enabled x filters settings (CHEN bit in DFSDM_CHyCFGR1 and DFEN bit in DFSDM_FLTxCR1). Data cleared by setting DFSDMEN=0:
all registers DFSDM_FLTxISR are set to reset state (x = 0..7)
all registers DFSDM_FLTxAWSR are set to reset state (x = 0..7)
Note: DFSDMEN is present only in DFSDM_CH0CFGR1 register (channel y=0)</description>
                <bitOffset>31</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
                <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>
            </fields>
          </register>
          <register>
            <name>CFGR2</name>
            <displayName>CH0CFGR2</displayName>
            <description>DFSDM channel 0 configuration register</description>
            <addressOffset>0x4</addressOffset>
            <size>0x20</size>
            <resetValue>0x00000000</resetValue>
            <resetMask>0xFFFFFFFF</resetMask>
            <fields>
              <field>
                <name>DTRBS</name>
                <description>Data right bit-shift for channel y
will be performed to have final results. Bit-shift is performed before offset correction. The data shift is rounding the result to nearest integer value. The sign of shifted result is maintained (to have valid 24-bit signed format of result data).
This value can be modified only when CHEN=0 (in DFSDM_CHyCFGR1 register).
0-31: Defines the shift of the data result coming from the integrator - how many bit shifts to the right</description>
                <bitOffset>3</bitOffset>
                <bitWidth>5</bitWidth>
                <access>read-write</access>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>31</maximum>
                  </range>
                </writeConstraint>
              </field>
              <field>
                <name>OFFSET</name>
                <description>24-bit calibration offset for channel y
For channel y, OFFSET is applied to the results of each conversion from this channel.
This value is set by software.</description>
                <bitOffset>8</bitOffset>
                <bitWidth>24</bitWidth>
                <access>read-write</access>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>16777215</maximum>
                  </range>
                </writeConstraint>
              </field>
            </fields>
          </register>
          <register>
            <name>AWSCDR</name>
            <displayName>CH0AWSCDR</displayName>
            <description>DFSDM channel 0 analog watchdog and short-circuit detector register</description>
            <addressOffset>0x8</addressOffset>
            <size>0x20</size>
            <resetValue>0x00000000</resetValue>
            <resetMask>0xFFFFFFFF</resetMask>
            <fields>
              <field>
                <name>SCDT</name>
                <description>short-circuit detector threshold for channel y
These bits are written by software to define the threshold counter for the short-circuit detector. If this value is reached, then a short-circuit detector event occurs on a given channel.</description>
                <bitOffset>0</bitOffset>
                <bitWidth>8</bitWidth>
                <access>read-write</access>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>255</maximum>
                  </range>
                </writeConstraint>
              </field>
              <field>
                <name>BKSCD</name>
                <description>Break signal assignment for short-circuit detector on channel y
BKSCD[i] = 0: Break i signal not assigned to short-circuit detector on channel y
BKSCD[i] = 1: Break i signal assigned to short-circuit detector on channel y</description>
                <bitOffset>12</bitOffset>
                <bitWidth>4</bitWidth>
                <access>read-write</access>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>15</maximum>
                  </range>
                </writeConstraint>
              </field>
              <field>
                <name>AWFOSR</name>
                <description>Analog watchdog filter oversampling ratio (decimation rate) on channel y
also the decimation ratio of the analog data rate.
This bit can be modified only when CHEN=0 (in DFSDM_CHyCFGR1 register).
Note: If AWFOSR = 0 then the filter has no effect (filter bypass).
0 - 31: Defines the length of the Sinc type filter in the range 1 - 32 (AWFOSR + 1). This number is</description>
                <bitOffset>16</bitOffset>
                <bitWidth>5</bitWidth>
                <access>read-write</access>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>31</maximum>
                  </range>
                </writeConstraint>
              </field>
              <field>
                <name>AWFORD</name>
                <description>Analog watchdog Sinc filter order on channel y
2: Sinc2 filter type
3: Sinc3 filter type
Sincx filter type transfer function:
FastSinc filter type transfer function:
This bit can be modified only when CHEN=0 (in DFSDM_CHyCFGR1 register).</description>
                <bitOffset>22</bitOffset>
                <bitWidth>2</bitWidth>
                <access>read-write</access>
                <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>
            </fields>
          </register>
          <register>
            <name>WDATR</name>
            <displayName>CH0WDATR</displayName>
            <description>DFSDM channel 0 watchdog filter data register</description>
            <addressOffset>0xC</addressOffset>
            <size>0x20</size>
            <resetValue>0x00000000</resetValue>
            <resetMask>0xFFFFFFFF</resetMask>
            <fields>
              <field>
                <name>WDATA</name>
                <description>Input channel y watchdog data
Data converted by the analog watchdog filter for input channel y. This data is continuously converted (no trigger) for this channel, with a limited resolution (OSR=1..32/sinc order = 1..3).</description>
                <bitOffset>0</bitOffset>
                <bitWidth>16</bitWidth>
                <access>read-only</access>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>65535</maximum>
                  </range>
                </writeConstraint>
              </field>
            </fields>
          </register>
          <register>
            <name>DATINR</name>
            <displayName>CH0DATINR</displayName>
            <description>DFSDM channel 0 data input register</description>
            <addressOffset>0x10</addressOffset>
            <size>0x20</size>
            <resetValue>0x00000000</resetValue>
            <resetMask>0xFFFFFFFF</resetMask>
            <fields>
              <field>
                <name>INDAT0</name>
                <description>Input data for channel y
Input parallel channel data to be processed by the digital filter if DATMPX[1:0]=1 or DATMPX[1:0]=2.
Data can be written by CPU/DMA (if DATMPX[1:0]=2) or directly by internal ADC (if DATMPX[1:0]=1).
If DATPACK[1:0]=0 (standard mode)
Channel y data sample is stored into INDAT0[15:0].
If DATPACK[1:0]=1 (interleaved mode)
First channel y data sample is stored into INDAT0[15:0]. Second channel y data sample is stored into INDAT1[15:0]. Both samples are read sequentially by DFSDM_FLTx filter as two channel y data samples.
If DATPACK[1:0]=2 (dual mode).
For even y channels: Channel y data sample is stored into INDAT0[15:0].
For odd y channels: INDAT0[15:0] is write protected.
See  for more details.
INDAT0[15:0] is in the16-bit signed format.</description>
                <bitOffset>0</bitOffset>
                <bitWidth>16</bitWidth>
                <access>read-write</access>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>65535</maximum>
                  </range>
                </writeConstraint>
              </field>
              <field>
                <name>INDAT1</name>
                <description>Input data for channel y or channel y+1
Input parallel channel data to be processed by the digital filter if DATMPX[1:0]=1 or DATMPX[1:0]=2.
Data can be written by CPU/DMA (if DATMPX[1:0]=2) or directly by internal ADC (if DATMPX[1:0]=1).
If DATPACK[1:0]=0 (standard mode)
INDAT0[15:0] is write protected (not used for input sample).
If DATPACK[1:0]=1 (interleaved mode)
Second channel y data sample is stored into INDAT1[15:0]. First channel y data sample is stored into INDAT0[15:0]. Both samples are read sequentially by DFSDM_FLTx filter as two channel y data samples.
If DATPACK[1:0]=2 (dual mode).
For even y channels: sample in INDAT1[15:0] is automatically copied into INDAT0[15:0] of channel (y+1).
For odd y channels: INDAT1[15:0] is write protected.
See  for more details.
INDAT0[15:1] is in the16-bit signed format.</description>
                <bitOffset>16</bitOffset>
                <bitWidth>16</bitWidth>
                <access>read-write</access>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>65535</maximum>
                  </range>
                </writeConstraint>
              </field>
            </fields>
          </register>
          <register>
            <name>DLYR</name>
            <displayName>CH0DLYR</displayName>
            <addressOffset>0x14</addressOffset>
            <size>0x20</size>
            <resetValue>0x00000000</resetValue>
            <resetMask>0xFFFFFFFF</resetMask>
            <fields>
              <field>
                <name>PLSSKP</name>
                <description>Pulses to skip for input data skipping function
immediately after writing to this field. Reading of PLSSKP[5:0] returns current value of pulses which will be skipped. If PLSSKP[5:0]=0 then all required data samples were already skipped.
Note: User can update PLSSKP[5:0] also when PLSSKP[5:0] is not zero.
0-63: Defines the number of serial input samples that will be skipped. Skipping is applied</description>
                <bitOffset>0</bitOffset>
                <bitWidth>6</bitWidth>
                <access>read-write</access>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>63</maximum>
                  </range>
                </writeConstraint>
              </field>
            </fields>
          </register>
        </cluster>
        <cluster>
          <dim>8</dim>
          <dimIncrement>0x80</dimIncrement>
          <dimIndex>0-7</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>
            <addressOffset>0x0</addressOffset>
            <size>0x20</size>
            <resetValue>0x00000000</resetValue>
            <resetMask>0xFFFFFFFF</resetMask>
            <fields>
              <field>
                <name>DFEN</name>
                <description>DFSDM_FLTx enable
Data which are cleared by setting DFEN=0:
register DFSDM_FLTxISR is set to the reset state
register DFSDM_FLTxAWSR is set to the reset state</description>
                <bitOffset>0</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
                <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>
              <field>
                <name>JSWSTART</name>
                <description>Start a conversion of the injected group of channels
This bit is always read as '0'.</description>
                <bitOffset>1</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
                <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>JSYNC</name>
                <description>Launch an injected conversion synchronously with the DFSDM_FLT0 JSWSTART trigger
This bit can be modified only when DFEN=0 (DFSDM_FLTxCR1).</description>
                <bitOffset>3</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
                <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>JSCAN</name>
                <description>Scanning conversion mode for injected conversions
This bit can be modified only when DFEN=0 (DFSDM_FLTxCR1).
Writing JCHG if JSCAN=0 resets the channel selection to the lowest selected channel.</description>
                <bitOffset>4</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
                <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>JDMAEN</name>
                <description>DMA channel enabled to read data for the injected channel group
This bit can be modified only when DFEN=0 (DFSDM_FLTxCR1).</description>
                <bitOffset>5</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
                <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>JEXTSEL</name>
                <description>Trigger signal selection for launching injected conversions
This bit can be modified only when DFEN=0 (DFSDM_FLTxCR1).
Note: synchronous trigger has latency up to one fDFSDMCLK clock cycle (with deterministic jitter), asynchronous trigger has latency 2-3 fDFSDMCLK clock cycles (with jitter up to 1 cycle).
DFSDM_FLTx
0x00	dfsdm_jtrg0
0x01	dfsdm_jtrg1
...
0x1E	dfsdm_jtrg30
0x1F	dfsdm_jtrg31
Refer to .
0x0-0x1F: Trigger inputs selected by the following table (internal or external trigger).</description>
                <bitOffset>8</bitOffset>
                <bitWidth>5</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>JEXTEN</name>
                <description>Trigger enable and trigger edge selection for injected conversions
This bit can be modified only when DFEN=0 (DFSDM_FLTxCR1).</description>
                <bitOffset>13</bitOffset>
                <bitWidth>2</bitWidth>
                <access>read-write</access>
                <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>RSWSTART</name>
                <description>Software start of a conversion on the regular channel
This bit is always read as '0'.</description>
                <bitOffset>17</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
                <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>RCONT</name>
                <description>Continuous mode selection for regular conversions
Writing '0' to this bit while a continuous regular conversion is already in progress stops the continuous mode immediately.</description>
                <bitOffset>18</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
                <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>RSYNC</name>
                <description>Launch regular conversion synchronously with DFSDM_FLT0
This bit can be modified only when DFEN=0 (DFSDM_FLTxCR1).</description>
                <bitOffset>19</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
                <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>RDMAEN</name>
                <description>DMA channel enabled to read data for the regular conversion
This bit can be modified only when DFEN=0 (DFSDM_FLTxCR1).</description>
                <bitOffset>21</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
                <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>RCH</name>
                <description>Regular channel selection
...
7: Channel 7 is selected as the regular channel
Writing these bits when RCIP=1 takes effect when the next regular conversion begins. This is especially useful in continuous mode (when RCONT=1). It also affects regular conversions which are pending (due to ongoing injected conversion).</description>
                <bitOffset>24</bitOffset>
                <bitWidth>3</bitWidth>
                <access>read-write</access>
                <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>FAST</name>
                <description>Fast conversion mode selection for regular conversions
When converting a regular conversion in continuous mode, having enabled the fast mode causes each conversion (except the first) to execute faster than in standard mode. This bit has no effect on conversions which are not continuous.
This bit can be modified only when DFEN=0 (DFSDM_FLTxCR1).
if FAST=0 (or first conversion in continuous mode if FAST=1):
t = [FOSR * (IOSR-1 + FORD) + FORD] / fCKIN	..... for Sincx filters
t = [FOSR * (IOSR-1 + 4) + 2] / fCKIN	..... for FastSinc filter
if FAST=1 in continuous mode (except first conversion):
t = [FOSR * IOSR] / fCKIN
in case if FOSR = FOSR[9:0]+1 = 1 (filter bypassed, active only integrator):
t = IOSR / fCKIN (... but CNVCNT=0)
where: fCKIN is the channel input clock frequency (on given channel CKINy pin) or input data rate in case of parallel data input.</description>
                <bitOffset>29</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
                <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>AWFSEL</name>
                <description>Analog watchdog fast mode select</description>
                <bitOffset>30</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
                <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>
            </fields>
          </register>
          <register>
            <name>CR2</name>
            <displayName>FLT0CR2</displayName>
            <addressOffset>0x4</addressOffset>
            <size>0x20</size>
            <resetValue>0x00000000</resetValue>
            <resetMask>0xFFFFFFFF</resetMask>
            <fields>
              <field>
                <name>JEOCIE</name>
                <description>Injected end of conversion interrupt enable
Please see the explanation of JEOCF in DFSDM_FLTxISR.</description>
                <bitOffset>0</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
                <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>
              <field>
                <name>REOCIE</name>
                <description>Regular end of conversion interrupt enable
Please see the explanation of REOCF in DFSDM_FLTxISR.</description>
                <bitOffset>1</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
                <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>JOVRIE</name>
                <description>Injected data overrun interrupt enable
Please see the explanation of JOVRF in DFSDM_FLTxISR.</description>
                <bitOffset>2</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
                <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>ROVRIE</name>
                <description>Regular data overrun interrupt enable
Please see the explanation of ROVRF in DFSDM_FLTxISR.</description>
                <bitOffset>3</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
                <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>AWDIE</name>
                <description>Analog watchdog interrupt enable
Please see the explanation of AWDF in DFSDM_FLTxISR.</description>
                <bitOffset>4</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
                <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>SCDIE</name>
                <description>Short-circuit detector interrupt enable
Please see the explanation of SCDF[7:0] in DFSDM_FLTxISR.
Note: SCDIE is present only in DFSDM_FLT0CR2 register (filter x=0)</description>
                <bitOffset>5</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
                <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>CKABIE</name>
                <description>Clock absence interrupt enable
Please see the explanation of CKABF[7:0] in DFSDM_FLTxISR.
Note: CKABIE is present only in DFSDM_FLT0CR2 register (filter x=0)</description>
                <bitOffset>6</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
                <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>EXCH</name>
                <description>Extremes detector channel selection
These bits select the input channels to be taken by the Extremes detector.
EXCH[y] = 0: Extremes detector does not accept data from channel y
EXCH[y] = 1: Extremes detector accepts data from channel y</description>
                <bitOffset>8</bitOffset>
                <bitWidth>8</bitWidth>
                <access>read-write</access>
                <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>AWDCH</name>
                <description>Analog watchdog channel selection
These bits select the input channel to be guarded continuously by the analog watchdog.
AWDCH[y] = 0: Analog watchdog is disabled on channel y
AWDCH[y] = 1: Analog watchdog is enabled on channel y</description>
                <bitOffset>16</bitOffset>
                <bitWidth>8</bitWidth>
                <access>read-write</access>
                <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>
            </fields>
          </register>
          <register>
            <name>ISR</name>
            <displayName>FLT0ISR</displayName>
            <addressOffset>0x8</addressOffset>
            <size>0x20</size>
            <resetValue>0x00FF0000</resetValue>
            <resetMask>0xFFFFFFFF</resetMask>
            <fields>
              <field>
                <name>JEOCF</name>
                <description>End of injected conversion flag
This bit is set by hardware. It is cleared when the software or DMA reads DFSDM_FLTxJDATAR.</description>
                <bitOffset>0</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-only</access>
                <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>
              <field>
                <name>REOCF</name>
                <description>End of regular conversion flag
This bit is set by hardware. It is cleared when the software or DMA reads DFSDM_FLTxRDATAR.</description>
                <bitOffset>1</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-only</access>
                <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>JOVRF</name>
                <description>Injected conversion overrun flag
This bit is set by hardware. It can be cleared by software using the CLRJOVRF bit in the DFSDM_FLTxICR register.</description>
                <bitOffset>2</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-only</access>
                <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>ROVRF</name>
                <description>Regular conversion overrun flag
This bit is set by hardware. It can be cleared by software using the CLRROVRF bit in the DFSDM_FLTxICR register.</description>
                <bitOffset>3</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-only</access>
                <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>AWDF</name>
                <description>Analog watchdog
This bit is set by hardware. It is cleared by software by clearing all source flag bits AWHTF[7:0] and AWLTF[7:0] in DFSDM_FLTxAWSR register (by writing '1' into the clear bits in DFSDM_FLTxAWCFR register).</description>
                <bitOffset>4</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-only</access>
                <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>JCIP</name>
                <description>Injected conversion in progress status
A request to start an injected conversion is ignored when JCIP=1.</description>
                <bitOffset>13</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-only</access>
                <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>RCIP</name>
                <description>Regular conversion in progress status
A request to start a regular conversion is ignored when RCIP=1.</description>
                <bitOffset>14</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-only</access>
                <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>CKABF</name>
                <description>Clock absence flag
CKABF[y]=0: Clock signal on channel y is present.
CKABF[y]=1: Clock signal on channel y is not present.
Given y bit is set by hardware when clock absence is detected on channel y. It is held at CKABF[y]=1 state by hardware when CHEN=0 (see DFSDM_CHyCFGR1 register). It is held at CKABF[y]=1 state by hardware when the transceiver is not yet synchronized.It can be cleared by software using the corresponding CLRCKABF[y] bit in the DFSDM_FLTxICR register.
Note: CKABF[7:0] is present only in DFSDM_FLT0ISR register (filter x=0)</description>
                <bitOffset>16</bitOffset>
                <bitWidth>8</bitWidth>
                <access>read-only</access>
                <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>SCDF</name>
                <description>short-circuit detector flag
SDCF[y]=0: No short-circuit detector event occurred on channel y
SDCF[y]=1: The short-circuit detector counter reaches, on channel y, the value programmed in the DFSDM_CHyAWSCDR registers
This bit is set by hardware. It can be cleared by software using the corresponding CLRSCDF[y] bit in the DFSDM_FLTxICR register. SCDF[y] is cleared also by hardware when CHEN[y] = 0 (given channel is disabled).
Note: SCDF[7:0] is present only in DFSDM_FLT0ISR register (filter x=0)</description>
                <bitOffset>24</bitOffset>
                <bitWidth>8</bitWidth>
                <access>read-only</access>
                <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>
            </fields>
          </register>
          <register>
            <name>ICR</name>
            <displayName>FLT0ICR</displayName>
            <addressOffset>0xC</addressOffset>
            <size>0x20</size>
            <resetValue>0x00000000</resetValue>
            <resetMask>0xFFFFFFFF</resetMask>
            <fields>
              <field>
                <name>CLRJOVRF</name>
                <description>Clear the injected conversion overrun flag</description>
                <bitOffset>2</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
                <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>
              <field>
                <name>CLRROVRF</name>
                <description>Clear the regular conversion overrun flag</description>
                <bitOffset>3</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
                <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>CLRCKABF</name>
                <description>Clear the clock absence flag
CLRCKABF[y]=0: Writing '0' has no effect
CLRCKABF[y]=1: Writing '1' to position y clears the corresponding CKABF[y] bit in the DFSDM_FLTxISR register. When the transceiver is not yet synchronized, the clock absence flag is set and cannot be cleared by CLRCKABF[y].
Note: CLRCKABF[7:0] is present only in DFSDM_FLT0ICR register (filter x=0)</description>
                <bitOffset>16</bitOffset>
                <bitWidth>8</bitWidth>
                <access>read-write</access>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>255</maximum>
                  </range>
                </writeConstraint>
              </field>
              <field>
                <name>CLRSCDF</name>
                <description>Clear the short-circuit detector flag
CLRSCDF[y]=0: Writing '0' has no effect
CLRSCDF[y]=1: Writing '1' to position y clears the corresponding SCDF[y] bit in the DFSDM_FLTxISR register
Note: CLRSCDF[7:0] is present only in DFSDM_FLT0ICR register (filter x=0)</description>
                <bitOffset>24</bitOffset>
                <bitWidth>8</bitWidth>
                <access>read-write</access>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>255</maximum>
                  </range>
                </writeConstraint>
              </field>
            </fields>
          </register>
          <register>
            <name>JCHGR</name>
            <displayName>FLT0JCHGR</displayName>
            <addressOffset>0x10</addressOffset>
            <size>0x20</size>
            <resetValue>0x00000001</resetValue>
            <resetMask>0xFFFFFFFF</resetMask>
            <fields>
              <field>
                <name>JCHG</name>
                <description>Injected channel group selection
JCHG[y]=0: channel y is not part of the injected group
JCHG[y]=1: channel y is part of the injected group
If JSCAN=1, each of the selected channels is converted, one after another. The lowest channel (channel 0, if selected) is converted first and the sequence ends at the highest selected channel.
If JSCAN=0, then only one channel is converted from the selected channels, and the channel selection is moved to the next channel. Writing JCHG, if JSCAN=0, resets the channel selection to the lowest selected channel.
At least one channel must always be selected for the injected group. Writes causing all JCHG bits to be zero are ignored.</description>
                <bitOffset>0</bitOffset>
                <bitWidth>8</bitWidth>
                <access>read-write</access>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>255</maximum>
                  </range>
                </writeConstraint>
              </field>
            </fields>
          </register>
          <register>
            <name>FCR</name>
            <displayName>FLT0FCR</displayName>
            <addressOffset>0x14</addressOffset>
            <size>0x20</size>
            <resetValue>0x00000000</resetValue>
            <resetMask>0xFFFFFFFF</resetMask>
            <fields>
              <field>
                <name>IOSR</name>
                <description>Integrator oversampling ratio (averaging length)
from Sinc filter will be summed into one output data sample from the integrator. The output data rate from the integrator will be decreased by this number (additional data decimation ratio).
This bit can only be modified when DFEN=0 (DFSDM_FLTxCR1)
Note: If IOSR = 0, then the Integrator has no effect (Integrator bypass).
0- 255: The length of the Integrator in the range 1 - 256 (IOSR + 1). Defines how many samples</description>
                <bitOffset>0</bitOffset>
                <bitWidth>8</bitWidth>
                <access>read-write</access>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>255</maximum>
                  </range>
                </writeConstraint>
              </field>
              <field>
                <name>FOSR</name>
                <description>Sinc filter oversampling ratio (decimation rate)
number is also the decimation ratio of the output data rate from filter.
This bit can only be modified when DFEN=0 (DFSDM_FLTxCR1)
Note: If FOSR = 0, then the filter has no effect (filter bypass).
0 - 1023: Defines the length of the Sinc type filter in the range 1 - 1024 (FOSR = FOSR[9:0] +1). This</description>
                <bitOffset>16</bitOffset>
                <bitWidth>10</bitWidth>
                <access>read-write</access>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>1023</maximum>
                  </range>
                </writeConstraint>
              </field>
              <field>
                <name>FORD</name>
                <description>Sinc filter order
2: Sinc2 filter type
3: Sinc3 filter type
4: Sinc4 filter type
5: Sinc5 filter type
6-7: Reserved
Sincx filter type transfer function:
FastSinc filter type transfer function:
This bit can only be modified when DFEN=0 (DFSDM_FLTxCR1).</description>
                <bitOffset>29</bitOffset>
                <bitWidth>3</bitWidth>
                <access>read-write</access>
                <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>
            </fields>
          </register>
          <register>
            <name>JDATAR</name>
            <displayName>FLT0JDATAR</displayName>
            <addressOffset>0x18</addressOffset>
            <size>0x20</size>
            <resetValue>0x00000000</resetValue>
            <resetMask>0xFFFFFFFF</resetMask>
            <fields>
              <field>
                <name>JDATACH</name>
                <description>Injected channel most recently converted
When each conversion of a channel in the injected group finishes, JDATACH[2:0] is updated to indicate which channel was converted. Thus, JDATA[23:0] holds the data that corresponds to the channel indicated by JDATACH[2:0].</description>
                <bitOffset>0</bitOffset>
                <bitWidth>3</bitWidth>
                <access>read-only</access>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>7</maximum>
                  </range>
                </writeConstraint>
              </field>
              <field>
                <name>JDATA</name>
                <description>Injected group conversion data
When each conversion of a channel in the injected group finishes, its resulting data is stored in this field. The data is valid when JEOCF=1. Reading this register clears the corresponding JEOCF.</description>
                <bitOffset>8</bitOffset>
                <bitWidth>24</bitWidth>
                <access>read-only</access>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>16777215</maximum>
                  </range>
                </writeConstraint>
              </field>
            </fields>
          </register>
          <register>
            <name>RDATAR</name>
            <displayName>FLT0RDATAR</displayName>
            <addressOffset>0x1C</addressOffset>
            <size>0x20</size>
            <resetValue>0x00000000</resetValue>
            <resetMask>0xFFFFFFFF</resetMask>
            <fields>
              <field>
                <name>RDATACH</name>
                <description>Regular channel most recently converted
When each regular conversion finishes, RDATACH[2:0] is updated to indicate which channel was converted (because regular channel selection RCH[2:0] in DFSDM_FLTxCR1 register can be updated during regular conversion). Thus RDATA[23:0] holds the data that corresponds to the channel indicated by RDATACH[2:0].</description>
                <bitOffset>0</bitOffset>
                <bitWidth>3</bitWidth>
                <access>read-only</access>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>7</maximum>
                  </range>
                </writeConstraint>
              </field>
              <field>
                <name>RPEND</name>
                <description>Regular channel pending data
Regular data in RDATA[23:0] was delayed due to an injected channel trigger during the conversion</description>
                <bitOffset>4</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-only</access>
              </field>
              <field>
                <name>RDATA</name>
                <description>Regular channel conversion data
When each regular conversion finishes, its data is stored in this register. The data is valid when REOCF=1. Reading this register clears the corresponding REOCF.</description>
                <bitOffset>8</bitOffset>
                <bitWidth>24</bitWidth>
                <access>read-only</access>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>16777215</maximum>
                  </range>
                </writeConstraint>
              </field>
            </fields>
          </register>
          <register>
            <name>AWHTR</name>
            <displayName>FLT0AWHTR</displayName>
            <addressOffset>0x20</addressOffset>
            <size>0x20</size>
            <resetValue>0x00000000</resetValue>
            <resetMask>0xFFFFFFFF</resetMask>
            <fields>
              <field>
                <name>AWHT</name>
                <description>Analog watchdog high threshold
These bits are written by software to define the high threshold for the analog watchdog.
Note: In case channel transceivers monitor (AWFSEL=1), the higher 16 bits (AWHT[23:8]) define the 16-bit threshold as compared with the analog watchdog filter output (because data coming from the analog watchdog filter are up to a 16-bit resolution). Bits AWHT[7:0] are not taken into comparison in this case.</description>
                <bitOffset>8</bitOffset>
                <bitWidth>24</bitWidth>
                <access>read-write</access>
                <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
BKAWH[i] = 0: Break i signal is not assigned to an analog watchdog high threshold event
BKAWH[i] = 1: Break i signal is assigned to an 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>
            <addressOffset>0x24</addressOffset>
            <size>0x20</size>
            <resetValue>0x00000000</resetValue>
            <resetMask>0xFFFFFFFF</resetMask>
            <fields>
              <field>
                <name>AWLT</name>
                <description>Analog watchdog low threshold
These bits are written by software to define the low threshold for the analog watchdog.
Note: In case channel transceivers monitor (AWFSEL=1), only the higher 16 bits (AWLT[23:8]) define the 16-bit threshold as compared with the analog watchdog filter output (because data coming from the analog watchdog filter are up to a 16-bit resolution). Bits AWLT[7:0] are not taken into comparison in this case.</description>
                <bitOffset>8</bitOffset>
                <bitWidth>24</bitWidth>
                <access>read-write</access>
                <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
BKAWL[i] = 0: Break i signal is not assigned to an analog watchdog low threshold event
BKAWL[i] = 1: Break i signal is assigned to an 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>
            <addressOffset>0x28</addressOffset>
            <size>0x20</size>
            <resetValue>0x00000000</resetValue>
            <resetMask>0xFFFFFFFF</resetMask>
            <fields>
              <field>
                <dim>8</dim>
                <dimIncrement>0x1</dimIncrement>
                <dimIndex>0-7</dimIndex>
                <name>AWHTF%s</name>
                <description>Analog watchdog high threshold flag
AWHTF[y]=1 indicates a high threshold error on channel y. It is set by hardware. It can be cleared by software using the corresponding CLRAWHTF[y] bit in the DFSDM_FLTxAWCFR register.</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
AWLTF[y]=1 indicates a low threshold error on channel y. It is set by hardware. It can be cleared by software using the corresponding CLRAWLTF[y] bit in the DFSDM_FLTxAWCFR register.</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>
            <addressOffset>0x2C</addressOffset>
            <size>0x20</size>
            <resetValue>0x00000000</resetValue>
            <resetMask>0xFFFFFFFF</resetMask>
            <fields>
              <field>
                <dim>8</dim>
                <dimIncrement>0x1</dimIncrement>
                <dimIndex>0-7</dimIndex>
                <name>CLRAWHTF%s</name>
                <description>Clear the analog watchdog high threshold flag
CLRAWHTF[y]=0: Writing '0' has no effect
CLRAWHTF[y]=1: Writing '1' to position y clears the corresponding AWHTF[y] bit in the DFSDM_FLTxAWSR register</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
CLRAWLTF[y]=0: Writing '0' has no effect
CLRAWLTF[y]=1: Writing '1' to position y clears the corresponding AWLTF[y] bit in the DFSDM_FLTxAWSR register</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>
            <addressOffset>0x30</addressOffset>
            <size>0x20</size>
            <resetValue>0x80000000</resetValue>
            <resetMask>0xFFFFFFFF</resetMask>
            <fields>
              <field>
                <name>EXMAXCH</name>
                <description>Extremes detector maximum data channel.
These bits contains information about the channel on which the data is stored into EXMAX[23:0]. Bits are cleared by reading of this register.</description>
                <bitOffset>0</bitOffset>
                <bitWidth>3</bitWidth>
                <access>read-only</access>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>7</maximum>
                  </range>
                </writeConstraint>
              </field>
              <field>
                <name>EXMAX</name>
                <description>Extremes detector maximum value
These bits are set by hardware and indicate the highest value converted by DFSDM_FLTx. EXMAX[23:0] bits are reset to value (0x800000) by reading of this register.</description>
                <bitOffset>8</bitOffset>
                <bitWidth>24</bitWidth>
                <access>read-only</access>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>16777215</maximum>
                  </range>
                </writeConstraint>
                <readAction>set</readAction>
              </field>
            </fields>
          </register>
          <register>
            <name>EXMIN</name>
            <displayName>FLT0EXMIN</displayName>
            <addressOffset>0x34</addressOffset>
            <size>0x20</size>
            <resetValue>0x7FFFFF00</resetValue>
            <resetMask>0xFFFFFFFF</resetMask>
            <fields>
              <field>
                <name>EXMINCH</name>
                <description>Extremes detector minimum data channel
These bits contain information about the channel on which the data is stored into EXMIN[23:0]. Bits are cleared by reading of this register.</description>
                <bitOffset>0</bitOffset>
                <bitWidth>3</bitWidth>
                <access>read-only</access>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>7</maximum>
                  </range>
                </writeConstraint>
              </field>
              <field>
                <name>EXMIN</name>
                <description>Extremes detector minimum value
These bits are set by hardware and indicate the lowest value converted by DFSDM_FLTx. EXMIN[23:0] bits are reset to value (0x7FFFFF) by reading of this register.</description>
                <bitOffset>8</bitOffset>
                <bitWidth>24</bitWidth>
                <access>read-write</access>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>16777215</maximum>
                  </range>
                </writeConstraint>
                <readAction>clear</readAction>
              </field>
            </fields>
          </register>
          <register>
            <name>CNVTIMR</name>
            <displayName>FLT0CNVTIMR</displayName>
            <addressOffset>0x38</addressOffset>
            <size>0x20</size>
            <resetValue>0x00000000</resetValue>
            <resetMask>0xFFFFFFFF</resetMask>
            <fields>
              <field>
                <name>CNVCNT</name>
                <description>28-bit timer counting conversion time t = CNVCNT[27:0] / fDFSDMCLK
The timer has an input clock from DFSDM clock (system clock fDFSDMCLK). Conversion time measurement is started on each conversion start and stopped when conversion finishes (interval between first and last serial sample). Only in case of filter bypass (FOSR[9:0] = 0) is the conversion time measurement stopped and CNVCNT[27:0] = 0. The counted time is:
if FAST=0 (or first conversion in continuous mode if FAST=1):
t = [FOSR * (IOSR-1 + FORD) + FORD] / fCKIN	..... for Sincx filters
t = [FOSR * (IOSR-1 + 4) + 2] / fCKIN	..... for FastSinc filter
if FAST=1 in continuous mode (except first conversion):
t = [FOSR * IOSR] / fCKIN
in case if FOSR = FOSR[9:0]+1 = 1 (filter bypassed, active only integrator):
CNVCNT = 0 (counting is stopped, conversion time: t = IOSR / fCKIN)
where: fCKIN is the channel input clock frequency (on given channel CKINy pin) or input data rate in case of parallel data input (from internal ADC or from CPU/DMA write)
Note: When conversion is interrupted (e.g. by disable/enable selected channel) the timer counts also this interruption time.</description>
                <bitOffset>4</bitOffset>
                <bitWidth>28</bitWidth>
                <access>read-only</access>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>268435455</maximum>
                  </range>
                </writeConstraint>
              </field>
            </fields>
          </register>
        </cluster>
      </registers>
    </peripheral>
    <peripheral derivedFrom="DFSDM1">
      <name>DFSDM2</name>
      <baseAddress>0x58006C00</baseAddress>
    </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 global interrupt</description>
        <value>47</value>
      </interrupt>
      <interrupt>
        <name>DMA_STR6</name>
        <description>DMA1 Stream6 global interrupt</description>
        <value>17</value>
      </interrupt>
      <interrupt>
        <name>DMA_STR5</name>
        <description>DMA1 Stream5 global interrupt</description>
        <value>16</value>
      </interrupt>
      <interrupt>
        <name>DMA_STR4</name>
        <description>DMA1 Stream4 global interrupt</description>
        <value>15</value>
      </interrupt>
      <interrupt>
        <name>DMA_STR3</name>
        <description>DMA1 Stream3 global interrupt</description>
        <value>14</value>
      </interrupt>
      <interrupt>
        <name>DMA_STR2</name>
        <description>DMA1 Stream2 global interrupt</description>
        <value>13</value>
      </interrupt>
      <interrupt>
        <name>DMA_STR1</name>
        <description>DMA1 Stream1 global interrupt</description>
        <value>12</value>
      </interrupt>
      <interrupt>
        <name>DMA_STR0</name>
        <description>DMA1 Stream0 global interrupt</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>
    </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>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>DMAREQ_ID</name>
              <description>DMA request identification</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</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</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</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>
          <access>read-only</access>
          <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</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>
          <access>read-write</access>
          <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</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>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>SIG_ID</name>
              <description>Signal identification</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</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)</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>
          <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>[:0]: 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>read-write</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>
              <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 derivedFrom="DELAY_Block_SDMMC1">
      <name>Delay_Block_OCTOSPI1</name>
      <baseAddress>0x52006000</baseAddress>
    </peripheral>
    <peripheral derivedFrom="DELAY_Block_SDMMC1">
      <name>Delay_Block_OCTOSPI2</name>
      <baseAddress>0x5200B000</baseAddress>
    </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>GFXMMU</name>
        <description>GFXMMU interrupt</description>
        <value>153</value>
      </interrupt>
      <interrupt>
        <name>DTS_IT</name>
        <description>Temperature sensor global interrupt</description>
        <value>147</value>
      </interrupt>
      <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>
      <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>FDCAN2</name>
      <description>FDCAN1</description>
      <groupName>FDCAN</groupName>
      <baseAddress>0x4000A400</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>FDCAN2_CAL</name>
        <description>FDCAN calibration interrupts</description>
        <value>63</value>
      </interrupt>
      <interrupt>
        <name>FDCAN2_IT1</name>
        <description>FDCAN Interrupt 1</description>
        <value>22</value>
      </interrupt>
      <interrupt>
        <name>FDCAN1_IT1</name>
        <description>TTCAN Interrupt 1</description>
        <value>21</value>
      </interrupt>
      <interrupt>
        <name>FDCAN2_IT0</name>
        <description>FDCAN Interrupt 0</description>
        <value>20</value>
      </interrupt>
      <interrupt>
        <name>FDCAN1_IT0</name>
        <description>TTCAN 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>0x32141218</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>0x87654321</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>0x00000A33</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>0x00000001</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>0x00000A33</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>0xFFFF0000</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>0x0000FFFF</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>0x00000707</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>0x00010000</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-only</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>
      <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>FLASH</name>
      <description>Embedded Flash memory</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 global interrupt</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>0x00000013</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>
            <resetValue>0x00000000</resetValue>
            <resetMask>0xFFFFFFFF</resetMask>
            <fields>
              <field>
                <name>KEY1R</name>
                <description>Non-volatile memory bank 1 configuration access unlock key</description>
                <bitOffset>0</bitOffset>
                <bitWidth>32</bitWidth>
                <access>write-only</access>
              </field>
            </fields>
          </register>
          <register>
            <name>CR</name>
            <displayName>CR1</displayName>
            <addressOffset>0x8</addressOffset>
            <size>0x20</size>
            <resetValue>0x00000001</resetValue>
            <resetMask>0xFFFFFFFF</resetMask>
            <fields>
              <field>
                <name>LOCK</name>
                <description>Bank 1 configuration lock bit
This bit locks the FLASH_CR1 register. The correct write sequence to FLASH_KEYR1 register unlocks this bit. If a wrong sequence is executed, or if the unlock sequence to FLASH_KEYR1 is performed twice, this bit remains locked until the next system reset.
LOCK1 can be set by programming it to 1. When set to 1, a new unlock sequence is mandatory to unlock it. When LOCK1 changes from 0 to 1, the other bits of FLASH_CR1 register do not change.</description>
                <bitOffset>0</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>PG</name>
                <description>Bank 1 internal buffer control bit
Setting PG1 bit to 1 enables internal buffer for write operations to bank 1. This allows preparing program operations even if a sector or bank erase is ongoing.
PG1 can be programmed only when LOCK1 is cleared to 0. When PG1 is reset, the internal buffer is disabled for write operations to bank 1, and all the data stored in the buffer but not sent to the operation queue are lost.</description>
                <bitOffset>1</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>SER</name>
                <description>Bank 1 sector erase request
Setting SER1 bit to 1 requests a sector erase on bank 1. SER1 can be programmed only when LOCK1 is cleared to 0.
BER1 has a higher priority than SER1: if both bits are set, the embedded Flash memory executes a bank erase.
Note: Write protection error is triggered when a sector erase is required on a protected sector.</description>
                <bitOffset>2</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>BER</name>
                <description>Bank 1 erase request
Setting BER1 bit to 1 requests a bank erase operation on bank 1 (user Flash memory only). BER1 can be programmed only when LOCK1 is cleared to 0.
BER1 has a higher priority than SER1: if both are set, the embedded Flash memory executes a bank erase.
Note: Write protection error is triggered when a bank erase is required and some sectors are protected.</description>
                <bitOffset>3</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>FW</name>
                <description>Bank 1 write forcing control bit
FW1 forces a write operation even if the write buffer is not full. In this case all bits not written are set to 1 by hardware. FW1 can be programmed only when LOCK1 is cleared to 0.
The embedded Flash memory resets FW1 when the corresponding operation has been acknowledged.
Note: Using a force-write operation prevents the application from updating later the missing bits with something else than 1, because it is likely that it will lead to permanent ECC error.
Write forcing is effective only if the write buffer is not empty (in particular, FW1 does not start several write operations when the force-write operations are performed consecutively).</description>
                <bitOffset>4</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>START</name>
                <description>Bank 1 erase start control bit
START1 bit is used to start a sector erase or a bank erase operation. START1 can be programmed only when LOCK1 is cleared to 0.
The embedded Flash memory resets START1 when the corresponding operation has been acknowledged. The user application cannot access any embedded Flash memory register until the operation is acknowledged.</description>
                <bitOffset>5</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>SNB</name>
                <description>Bank 1 sector erase selection number
These bits are used to select the target sector for an erase operation (they are unused otherwise). SSN1 can be programmed only when LOCK1 is cleared to 0.
..
...
...
Note: Bank 1 is limited to 16 and 64 sectors on STM32H7B0 and STM32H7A3xG devices, respectively.</description>
                <bitOffset>6</bitOffset>
                <bitWidth>7</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>CRC_EN</name>
                <description>Bank 1 CRC control bit
Setting CRC_EN bit to 1 enables the CRC calculation on bank 1. CRC_EN does not start CRC calculation but enables CRC configuration through FLASH_CRCCR1 register.
When CRC calculation is performed on bank 1, it can only be disabled by setting CRC_EN bit to 0. Resetting CRC_EN clears CRC configuration and resets the content of FLASH_CRCDATAR register.
Clearing CRC_EN to 0 sets CRCDATA to 0x0.
CRC_EN can be programmed only when LOCK1 is cleared to 0.</description>
                <bitOffset>15</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>EOPIE</name>
                <description>Bank 1 end-of-program interrupt control bit
Setting EOPIE1 bit to 1 enables the generation of an interrupt at the end of a program operation to bank 1. EOPIE1 can be programmed only when LOCK1 is cleared to 0.</description>
                <bitOffset>16</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>WRPERRIE</name>
                <description>Bank 1 write protection error interrupt enable bit
When WRPERRIE1 bit is set to 1, an interrupt is generated when a protection error occurs during a program operation to bank 1. WRPERRIE1 can be programmed only when LOCK1 is cleared to 0.</description>
                <bitOffset>17</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>PGSERRIE</name>
                <description>Bank 1 programming sequence error interrupt enable bit
When PGSERRIE1 bit is set to 1, an interrupt is generated when a sequence error occurs during a program operation to bank 1. PGSERRIE1 can be programmed only when LOCK1 is cleared to 0.</description>
                <bitOffset>18</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>STRBERRIE</name>
                <description>Bank 1 strobe error interrupt enable bit
When STRBERRIE1 bit is set to 1, an interrupt is generated when a strobe error occurs (the master programs several times the same byte in the write buffer) during a write operation to bank 1. STRBERRIE1 can be programmed only when LOCK1 is cleared to 0.</description>
                <bitOffset>19</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>INCERRIE</name>
                <description>Bank 1 inconsistency error interrupt enable bit
When INCERRIE1 bit is set to 1, an interrupt is generated when an inconsistency error occurs during a write operation to bank 1. INCERRIE1 can be programmed only when LOCK1 is cleared to 0.</description>
                <bitOffset>21</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>RDPERRIE</name>
                <description>Bank 1 read protection error interrupt enable bit
When RDPERRIE1 bit is set to 1, an interrupt is generated when a read protection error occurs (access to an address protected by PCROP or by RDP level 1) during a read operation from bank 1. RDPERRIE1 can be programmed only when LOCK1 is cleared to 0.</description>
                <bitOffset>23</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>RDSERRIE</name>
                <description>Bank 1 secure error interrupt enable bit
When RDSERRIE1 bit is set to 1, an interrupt is generated when a secure error (access to a secure-only protected address) occurs during a read operation from bank 1. RDSERRIE1 can be programmed only when LOCK1 is cleared to 0.</description>
                <bitOffset>24</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>SNECCERRIE</name>
                <description>Bank 1 ECC single correction error interrupt enable bit
When SNECCERRIE1 bit is set to 1, an interrupt is generated when an ECC single correction error occurs during a read operation from bank 1. SNECCERRIE1 can be programmed only when LOCK1 is cleared to 0.</description>
                <bitOffset>25</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>DBECCERRIE</name>
                <description>Bank 1 ECC double detection error interrupt enable bit
When DBECCERRIE1 bit is set to 1, an interrupt is generated when an ECC double detection error occurs during a read operation from bank 1. DBECCERRIE1 can be programmed only when LOCK1 is cleared to 0.</description>
                <bitOffset>26</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>CRCENDIE</name>
                <description>Bank 1 CRC end of calculation interrupt enable bit
When CRCENDIE1 bit is set to 1, an interrupt is generated when the CRC computation has completed on bank 1. CRCENDIE1 can be programmed only when LOCK1 is cleared to 0.</description>
                <bitOffset>27</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
              </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>
            </fields>
          </register>
          <register>
            <name>SR</name>
            <displayName>SR1</displayName>
            <addressOffset>0xC</addressOffset>
            <size>0x20</size>
            <resetValue>0x00000000</resetValue>
            <resetMask>0xFFFFFFFF</resetMask>
            <fields>
              <field>
                <name>BSY</name>
                <description>Bank 1 busy flag
BSY1 flag is set when an effective write, erase or option byte change operation is ongoing on bank 1. It is not possible to know what type of operation is being executed.
BSY1 cannot be forced to 0. It is automatically reset by hardware every time a step in a write, erase or option byte change operation completes.</description>
                <bitOffset>0</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-only</access>
              </field>
              <field>
                <name>WBNE</name>
                <description>Bank 1 write buffer not empty flag
WBNE1 flag is set when the embedded Flash memory is waiting for new data to complete the write buffer. In this state, the write buffer is not empty. WBNE1 is reset by hardware each time the write buffer is complete or the write buffer is emptied following one of the event below:
the application software forces the write operation using FW1 bit in FLASH_CR1
the embedded Flash memory detects an error that involves data loss
the application software has disabled write operations in this bank
This bit cannot be forced to 0. To reset it, clear the write buffer by performing any of the above listed actions, or send the missing data.</description>
                <bitOffset>1</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-only</access>
              </field>
              <field>
                <name>QW</name>
                <description>Bank 1 wait queue flag
QW1 flag is set when a write, erase or option byte change operation is pending in the command queue buffer of bank 1. It is not possible to know what type of programming operation is present in the queue.
This flag is reset by hardware when all write, erase or option byte change operations have been executed and thus removed from the waiting queue(s). This bit cannot be forced to 0. It is reset after a deterministic time if no other operations are requested.</description>
                <bitOffset>2</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-only</access>
              </field>
              <field>
                <name>CRC_BUSY</name>
                <description>Bank 1 CRC busy flag
CRC_BUSY1 flag is set when a CRC calculation is ongoing on bank 1. This bit cannot be forced to 0. The user must wait until the CRC calculation has completed or disable CRC computation on bank 1.</description>
                <bitOffset>3</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-only</access>
              </field>
              <field>
                <name>EOP</name>
                <description>Bank 1 end-of-program flag
EOP1 flag is set when a programming operation to bank 1 completes. An interrupt is generated if the EOPIE1 is set to 1. It is not necessary to reset EOP1 before starting a new operation. EOP1 bit is cleared by writing 1 to CLR_EOP1 bit in FLASH_CCR1 register.</description>
                <bitOffset>16</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-only</access>
              </field>
              <field>
                <name>WRPERR</name>
                <description>Bank 1 write protection error flag
WRPERR1 flag is raised when a protection error occurs during a program operation to bank 1. An interrupt is also generated if the WRPERRIE1 is set to 1. Writing 1 to CLR_WRPERR1 bit in FLASH_CCR1 register clears WRPERR1.</description>
                <bitOffset>17</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-only</access>
              </field>
              <field>
                <name>PGSERR</name>
                <description>Bank 1 programming sequence error flag
PGSERR1 flag is raised when a sequence error occurs on bank 1. An interrupt is generated if the PGSERRIE1 bit is set to 1. Writing 1 to CLR_PGSERR1 bit in FLASH_CCR1 register clears PGSERR1.</description>
                <bitOffset>18</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-only</access>
              </field>
              <field>
                <name>STRBERR</name>
                <description>Bank 1 strobe error flag
STRBERR1 flag is raised when a strobe error occurs on bank 1 (when the master attempts to write several times the same byte in the write buffer). An interrupt is generated if the STRBERRIE1 bit is set to 1. Writing 1 to CLR_STRBERR1 bit in FLASH_CCR1 register clears STRBERR1.</description>
                <bitOffset>19</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-only</access>
              </field>
              <field>
                <name>INCERR</name>
                <description>Bank 1 inconsistency error flag
INCERR1 flag is raised when a inconsistency error occurs on bank 1. An interrupt is generated if INCERRIE1 is set to 1. Writing 1 to CLR_INCERR1 bit in the FLASH_CCR1 register clears INCERR1.</description>
                <bitOffset>21</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-only</access>
              </field>
              <field>
                <name>RDPERR</name>
                <description>Bank 1 read protection error flag
RDPERR1 flag is raised when an read protection error (read access to a PCROP-protected or a RDP-protected area) occurs on bank 1. An interrupt is generated if RDPERRIE1 is set to 1. Writing 1 to CLR_RDPERR1 bit in FLASH_CCR1 register clears RDPERR1.</description>
                <bitOffset>23</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-only</access>
              </field>
              <field>
                <name>RDSERR</name>
                <description>Bank 1 secure error flag
RDSERR1 flag is raised when a read secure error (read access to a secure-only protected word) occurs on bank 1. An interrupt is generated if RDSERRIE1 is set to 1. Writing 1 to CLR_RDSERR1 bit in FLASH_CCR1 register clears RDSERR1.</description>
                <bitOffset>24</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-only</access>
              </field>
              <field>
                <name>SNECCERR</name>
                <description>Bank 1 single correction error flag
SNECCERR1 flag is raised when an ECC single correction error occurs during a read operation from bank 1. An interrupt is generated if SNECCERRIE1 is set to 1. Writing 1 to CLR_SNECCERR1 bit in FLASH_CCR1 register clears SNECCERR1.</description>
                <bitOffset>25</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-only</access>
              </field>
              <field>
                <name>DBECCERR</name>
                <description>Bank 1 ECC double detection error flag
DBECCERR1 flag is raised when an ECC double detection error occurs during a read operation from bank 1. An interrupt is generated if DBECCERRIE1 is set to 1. Writing 1 to CLR_DBECCERR1 bit in FLASH_CCR1 register clears DBECCERR1.</description>
                <bitOffset>26</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-only</access>
              </field>
              <field>
                <name>CRCEND</name>
                <description>Bank 1 CRC end of calculation flag
CRCEND1 bit is raised when the CRC computation has completed on bank 1. An interrupt is generated if CRCENDIE1 is set to 1. It is not necessary to reset CRCEND1 before restarting CRC computation. Writing 1 to CLR_CRCEND1 bit in FLASH_CCR1 register clears CRCEND1.</description>
                <bitOffset>27</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-only</access>
              </field>
              <field>
                <name>CRCRDERR</name>
                <description>Bank 1 CRC read error flag
CRCRDERR1 flag is raised when a word is found read protected during a CRC operation on bank 1. An interrupt is generated if CRCRDIE1 and CRCEND1 are set to 1. Writing 1 to CLR_CRCRDERR1 bit in FLASH_CCR1 register clears CRCRDERR1.
Note: This flag is valid only when CRCEND1 bit is set to 1</description>
                <bitOffset>28</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-only</access>
              </field>
            </fields>
          </register>
          <register>
            <name>CCR</name>
            <displayName>CCR1</displayName>
            <addressOffset>0x10</addressOffset>
            <size>0x20</size>
            <resetValue>0x00000000</resetValue>
            <resetMask>0xFFFFFFFF</resetMask>
            <fields>
              <field>
                <name>CLR_EOP</name>
                <description>Bank 1 EOP1 flag clear bit
Setting this bit to 1 resets to 0 EOP1 flag in FLASH_SR1 register.</description>
                <bitOffset>16</bitOffset>
                <bitWidth>1</bitWidth>
                <access>write-only</access>
              </field>
              <field>
                <name>CLR_WRPERR</name>
                <description>Bank 1 WRPERR1 flag clear bit
Setting this bit to 1 resets to 0 WRPERR1 flag in FLASH_SR1 register.</description>
                <bitOffset>17</bitOffset>
                <bitWidth>1</bitWidth>
                <access>write-only</access>
              </field>
              <field>
                <name>CLR_PGSERR</name>
                <description>Bank 1 PGSERR1 flag clear bit
Setting this bit to 1 resets to 0 PGSERR1 flag in FLASH_SR1 register.</description>
                <bitOffset>18</bitOffset>
                <bitWidth>1</bitWidth>
                <access>write-only</access>
              </field>
              <field>
                <name>CLR_STRBERR</name>
                <description>Bank 1 STRBERR1 flag clear bit
Setting this bit to 1 resets to 0 STRBERR1 flag in FLASH_SR1 register.</description>
                <bitOffset>19</bitOffset>
                <bitWidth>1</bitWidth>
                <access>write-only</access>
              </field>
              <field>
                <name>CLR_INCERR</name>
                <description>Bank 1 INCERR1 flag clear bit
Setting this bit to 1 resets to 0 INCERR1 flag in FLASH_SR1 register.</description>
                <bitOffset>21</bitOffset>
                <bitWidth>1</bitWidth>
                <access>write-only</access>
              </field>
              <field>
                <name>CLR_RDPERR</name>
                <description>Bank 1 RDPERR1 flag clear bit
Setting this bit to 1 resets to 0 RDPERR1 flag in FLASH_SR1 register.</description>
                <bitOffset>23</bitOffset>
                <bitWidth>1</bitWidth>
                <access>write-only</access>
              </field>
              <field>
                <name>CLR_RDSERR</name>
                <description>Bank 1 RDSERR1 flag clear bit
Setting this bit to 1 resets to 0 RDSERR1 flag in FLASH_SR1 register.</description>
                <bitOffset>24</bitOffset>
                <bitWidth>1</bitWidth>
                <access>write-only</access>
              </field>
              <field>
                <name>CLR_SNECCERR</name>
                <description>Bank 1 SNECCERR1 flag clear bit
Setting this bit to 1 resets to 0 SNECCERR1 flag in FLASH_SR1 register. If the DBECCERR1 flag of FLASH_SR1 register is cleared to 0, FLASH_ECC_FA1R register is reset to 0 as well.</description>
                <bitOffset>25</bitOffset>
                <bitWidth>1</bitWidth>
                <access>write-only</access>
              </field>
              <field>
                <name>CLR_DBECCERR</name>
                <description>Bank 1 DBECCERR1 flag clear bit
Setting this bit to 1 resets to 0 DBECCERR1 flag in FLASH_SR1 register. If the SNECCERR1 flag of FLASH_SR1 register is cleared to 0, FLASH_ECC_FA1R register is reset to 0 as well.</description>
                <bitOffset>26</bitOffset>
                <bitWidth>1</bitWidth>
                <access>write-only</access>
              </field>
              <field>
                <name>CLR_CRCEND</name>
                <description>Bank 1 CRCEND1 flag clear bit
Setting this bit to 1 resets to 0 CRCEND1 flag in FLASH_SR1 register.</description>
                <bitOffset>27</bitOffset>
                <bitWidth>1</bitWidth>
                <access>write-only</access>
              </field>
              <field>
                <name>CLR_CRCRDERR</name>
                <description>Bank 1 CRCRDERR1 flag clear bit
Setting this bit to 1 resets to 0 CRCRDERR1 flag in FLASH_SR1 register.</description>
                <bitOffset>28</bitOffset>
                <bitWidth>1</bitWidth>
                <access>write-only</access>
              </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>
            <resetValue>0x00000000</resetValue>
            <resetMask>0x0000F000</resetMask>
            <fields>
              <field>
                <name>PROT_AREA_START</name>
                <description>Bank 1 PCROP area start status bits
These bits contain the first 256-byte block of the PCROP area in bank 1.
If this address is equal to PROT_AREA_END1, the whole bank 1 is PCROP protected.
If this address is higher than PROT_AREA_END1, no protection is set on bank 1.</description>
                <bitOffset>0</bitOffset>
                <bitWidth>12</bitWidth>
                <access>read-only</access>
              </field>
              <field>
                <name>PROT_AREA_END</name>
                <description>Bank 1 PCROP area end status bits
These bits contain the last 256-byte block of the PCROP area in bank 1.
If this address is equal to PROT_AREA_START1, the whole bank 1 is PCROP protected.
If this address is lower than PROT_AREA_START1, no protection is set on bank 1.</description>
                <bitOffset>16</bitOffset>
                <bitWidth>12</bitWidth>
                <access>read-only</access>
              </field>
              <field>
                <name>DMEP</name>
                <description>Bank 1 PCROP protected erase enable option status bit
If DMEP1 is set to 1, the PCROP protected area in bank 1 is erased when a protection level regression (change from level 1 to 0) or a bank erase with protection removal occurs.</description>
                <bitOffset>31</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-only</access>
              </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>
            <resetValue>0x00000000</resetValue>
            <resetMask>0x0000F000</resetMask>
            <fields>
              <field>
                <name>PROT_AREA_START</name>
                <description>Bank 1 PCROP area start configuration bits
These bits contain the first 256-byte block of the PCROP area in bank 1.
If this address is equal to PROT_AREA_END1, the whole bank 1 is PCROP protected.
If this address is higher than PROT_AREA_END1, no protection is set on bank 1.</description>
                <bitOffset>0</bitOffset>
                <bitWidth>12</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>PROT_AREA_END</name>
                <description>Bank 1 PCROP area end configuration bits
These bits contain the last 256-byte block of the PCROP area in bank 1.
If this address is equal to PROT_AREA_START1, the whole bank 1 is PCROP protected.
If this address is lower than PROT_AREA_START1, no protection is set on bank 1.</description>
                <bitOffset>16</bitOffset>
                <bitWidth>12</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>DMEP</name>
                <description>Bank 1 PCROP protected erase enable option configuration bit
If DMEP1 is set to 1, the PCROP protected area in bank 1 is erased when a protection level regression (change from level 1 to 0) or a bank erase with protection removal occurs.</description>
                <bitOffset>31</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
              </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>
            <resetValue>0x00000000</resetValue>
            <resetMask>0x0000F000</resetMask>
            <fields>
              <field>
                <name>SEC_AREA_START</name>
                <description>Bank 1 secure-only area start status bits
These bits contain the first 256 bytes of block of the secure-only area in bank 1.
If this address is equal to SEC_AREA_END1, the whole bank 1 is secure access only.
If this address is higher than SEC_AREA_END1, no protection is set on bank 1.</description>
                <bitOffset>0</bitOffset>
                <bitWidth>12</bitWidth>
                <access>read-only</access>
              </field>
              <field>
                <name>SEC_AREA_END</name>
                <description>Bank 1 secure-only area end status bits
These bits contain the last 256-byte block of the secure-only area in bank 1.
If this address is equal to SEC_AREA_START1, the whole bank 1 is secure access only.
If this address is lower than SEC_AREA_START1, no protection is set on bank 1.</description>
                <bitOffset>16</bitOffset>
                <bitWidth>12</bitWidth>
                <access>read-only</access>
              </field>
              <field>
                <name>DMES</name>
                <description>Bank 1 secure access protected erase enable option status bit
If DMES1 is set to 1, the secure access only area in bank 1 is erased when a protection level regression (change from level 1 to 0) or a bank erase with protection removal occurs.</description>
                <bitOffset>31</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-only</access>
              </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>
            <resetValue>0x00000000</resetValue>
            <resetMask>0x0000F000</resetMask>
            <fields>
              <field>
                <name>SEC_AREA_START</name>
                <description>Bank 1 secure-only area start configuration bits
These bits contain the first block of 256 bytes of the secure-only area in bank 1.
If this address is equal to SEC_AREA_END1, the whole bank 1 is secure access only.
If this address is higher than SEC_AREA_END1, no protection is set on bank 1.</description>
                <bitOffset>0</bitOffset>
                <bitWidth>12</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>SEC_AREA_END</name>
                <description>Bank 1 secure-only area end configuration bits
These bits contain the last block of 256 bytes of the secure-only area in bank 1.
If this address is equal to SEC_AREA_START1, the whole bank 1 is secure access only.
If this address is lower than SEC_AREA_START1, no protection is set on bank 1.</description>
                <bitOffset>16</bitOffset>
                <bitWidth>12</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>DMES</name>
                <description>Bank 1 secure access protected erase enable option configuration bit
If DMES1 is set to 1, the secure access only area in bank 1 is erased when a protection level regression (change from level 1 to 0) or a bank erase with protection removal occurs.</description>
                <bitOffset>31</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
              </field>
            </fields>
          </register>
          <register>
            <name>WPSN_CURR</name>
            <displayName>WPSGN_CUR1R</displayName>
            <description>FLASH write sector group protection for bank 1</description>
            <addressOffset>0x34</addressOffset>
            <size>0x20</size>
            <resetValue>0x00000000</resetValue>
            <resetMask>0x00000000</resetMask>
            <fields>
              <field>
                <name>WRPSGn</name>
                <description>Bank 1 sector group protection option status byte
Each FLASH_WPSGN_CUR1R bit reflects the write protection status of the corresponding group of four consecutive sectors in bank 1 (0: the group is write protected; 1: the group is not write protected)
Bit 0: Group embedding sectors 0 to 3
Bit 1: Group embedding sectors 4 to 7
Bit N: Group embedding sectors 4 x N to 4 x N + 3
Bit 31: Group embedding sectors 124 to 127
Note: Bank 1 is limited to 16 and 64 sectors on STM32H7B0 and STM32H7A3xG devices, respectively.</description>
                <bitOffset>0</bitOffset>
                <bitWidth>32</bitWidth>
                <access>read-only</access>
              </field>
            </fields>
          </register>
          <register>
            <name>WPSN_PRGR</name>
            <displayName>WPSGN_PRG1R</displayName>
            <description>FLASH write sector group protection for bank 1</description>
            <addressOffset>0x38</addressOffset>
            <size>0x20</size>
            <resetValue>0x00000000</resetValue>
            <resetMask>0x00000000</resetMask>
            <fields>
              <field>
                <name>WRPSGn</name>
                <description>Bank 1 sector group protection option status byte
Setting WRPSGn1 bits to 0 write protects the corresponding group of four consecutive sectors in bank 1 (0: the group is write protected; 1: the group is not write protected)
Bit 0: Group embedding sectors 0 to 3
Bit 1: Group embedding sectors 4 to 7
Bit N: Group embedding sectors 4 x N to 4 x N + 3
Bit 31: Group embedding sectors 124 to 127
Note: Bank 1 is limited to 16 and 64 sectors on STM32H7B0 and STM32H7A3xG devices, respectively.</description>
                <bitOffset>0</bitOffset>
                <bitWidth>32</bitWidth>
                <access>read-write</access>
              </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>
            <resetValue>0x001C0000</resetValue>
            <resetMask>0xFFFFFFFF</resetMask>
            <fields>
              <field>
                <name>CRC_SECT</name>
                <description>Bank 1 CRC sector number
CRC_SECT is used to select one user Flash sectors to be added to the list of sectors on which the CRC is calculated. The CRC can be computed either between two addresses (using registers FLASH_CRCSADD1R and FLASH_CRCEADD1R) or on a list of sectors using this register. If this latter option is selected, it is possible to add a sector to the list of sectors by programming the sector number in CRC_SECT and then setting to 1 ADD_SECT.
The list of sectors can be erased either by setting CLEAN_SECT bit or by disabling the CRC computation. CRC_SECT can be set only when CRC_EN of FLASH_CR register is set to 1.
...
...
...
Note: Bank 1 is limited to 16 and 64 sectors on STM32H7B0 and STM32H7AxG devices, respectively.</description>
                <bitOffset>0</bitOffset>
                <bitWidth>7</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>CRC_BY_SECT</name>
                <description>Bank 1 CRC sector mode select bit
When CRC_BY_SECT is set to 1, the CRC calculation is performed at sector level, on the sectors present in the list of sectors. To add a sector to this list, use ADD_SECT and CRC_SECT bits. To clean the list, use CLEAN_SECT bit.
When CRC_BY_SECT is reset to 0, the CRC calculation is performed on all addresses between CRC_START_ADDR and CRC_END_ADDR.</description>
                <bitOffset>8</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>ADD_SECT</name>
                <description>Bank 1 CRC sector select bit
Setting ADD_SECT to 1 adds the sector whose number is CRC_SECT to the list of sectors on which the CRC is calculated.</description>
                <bitOffset>9</bitOffset>
                <bitWidth>1</bitWidth>
                <access>write-only</access>
              </field>
              <field>
                <name>CLEAN_SECT</name>
                <description>Bank 1 CRC sector list clear bit
Setting CLEAN_SECT to 1 clears the list of sectors on which the CRC is calculated.</description>
                <bitOffset>10</bitOffset>
                <bitWidth>1</bitWidth>
                <access>write-only</access>
              </field>
              <field>
                <name>START_CRC</name>
                <description>Bank 1 CRC start bit
START_CRC bit triggers a CRC calculation on bank 1 using the current configuration. No CRC calculation can launched when an option byte change operation is ongoing because all write accesses to embedded Flash memory registers are put on hold until the option byte change operation has completed.</description>
                <bitOffset>16</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>CLEAN_CRC</name>
                <description>Bank 1 CRC clear bit
Setting CLEAN_CRC to 1 clears the current CRC result stored in the FLASH_CRCDATAR register.</description>
                <bitOffset>17</bitOffset>
                <bitWidth>1</bitWidth>
                <access>write-only</access>
              </field>
              <field>
                <name>CRC_BURST</name>
                <description>Bank 1 CRC burst size
CRC_BURST bits set the size of the bursts that are generated by the CRC calculation unit.</description>
                <bitOffset>20</bitOffset>
                <bitWidth>2</bitWidth>
                <access>read-write</access>
              </field>
              <field>
                <name>ALL_BANK</name>
                <description>Bank 1 CRC select bit
When ALL_BANK is set to 1, all bank 1 user sectors are added to list of sectors on which the CRC is calculated.</description>
                <bitOffset>22</bitOffset>
                <bitWidth>1</bitWidth>
                <access>write-only</access>
              </field>
            </fields>
          </register>
          <register>
            <name>CRCSADDR</name>
            <displayName>CRCSADD1R</displayName>
            <addressOffset>0x50</addressOffset>
            <size>0x20</size>
            <resetValue>0x00000000</resetValue>
            <resetMask>0xFFFFFFFF</resetMask>
            <fields>
              <field>
                <name>CRC_START_ADDR</name>
                <description>CRC start address on bank 1
CRC_START_ADDR is used when CRC_BY_SECT is cleared to 0. It must be programmed to the start address of the bank 1 memory area on which the CRC calculation is performed.</description>
                <bitOffset>2</bitOffset>
                <bitWidth>18</bitWidth>
                <access>read-write</access>
              </field>
            </fields>
          </register>
          <register>
            <name>CRCEADDR</name>
            <displayName>CRCEADD1R</displayName>
            <addressOffset>0x54</addressOffset>
            <size>0x20</size>
            <resetValue>0x00000000</resetValue>
            <resetMask>0xFFFFFFFF</resetMask>
            <fields>
              <field>
                <name>CRC_END_ADDR</name>
                <description>CRC end address on bank 1
CRC_END_ADDR is used when CRC_BY_SECT is cleared to 0. It must be programmed to the end address of the bank 1 memory area on which the CRC calculation is performed</description>
                <bitOffset>2</bitOffset>
                <bitWidth>18</bitWidth>
                <access>read-write</access>
              </field>
            </fields>
          </register>
          <register>
            <name>FAR</name>
            <displayName>ECC_FA1R</displayName>
            <addressOffset>0x5C</addressOffset>
            <size>0x20</size>
            <resetValue>0x00000000</resetValue>
            <resetMask>0xFFFFFFFF</resetMask>
            <fields>
              <field>
                <name>FAIL_ECC_ADDR</name>
                <description>Bank 1 ECC error address
When an ECC error occurs (both for single correction or double detection) during a read operation from bank 1, the FAIL_ECC_ADDR1 bitfield contains the address that generated the error.
FAIL_ECC_ADDR1 is reset when the flag error in the FLASH_SR1 register (CLR_SNECCERR1 or CLR_DBECCERR1) is reset.
The embedded Flash memory programs the address in this register only when no ECC error flags are set. This means that only the first address that generated an ECC error is saved.
The address in FAIL_ECC_ADDR1 is relative to the Flash memory area where the error occurred (user Flash memory, system Flash memory, read-only/OTP area).</description>
                <bitOffset>0</bitOffset>
                <bitWidth>16</bitWidth>
                <access>read-only</access>
              </field>
              <field>
                <name>OTP_FAIL_ECC</name>
                <description>OTP ECC error bit
This bit is set to 1 when one single ECC correction or double ECC detection occurred during the last successful read operation from the read-only/ OTP area. The address of the ECC error is available in FAIL_ECC_ADDR1 bitfield.</description>
                <bitOffset>31</bitOffset>
                <bitWidth>1</bitWidth>
                <access>read-only</access>
              </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>0x00000001</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>
              <access>write-only</access>
            </field>
            <field>
              <name>MER</name>
              <description>Flash mass erase enable
				  bit</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
            </field>
            <field>
              <name>PG_OTP</name>
              <description>OTP program control bit</description>
              <bitOffset>5</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>
              <access>read-only</access>
            </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>IWDG_SW</name>
              <description>IWDG1 control option status
				  bit</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>NRST_STOP</name>
              <description>D1 DStop entry reset option status
				  bit</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>NRST_STDY</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>VDDMMC_HSLV</name>
              <description>IWDG Stop mode freeze option status
				  bit</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>WDG_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>VDDIO_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>IWDG_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>VDDMMC_HSLV</name>
              <description>VDDMMC_HSLV</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>WDG_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>VDDIO_HSLV</name>
              <description>VDDIO_HSLV</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-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>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>OTPBL_CUR</name>
          <displayName>OTPBL_CUR</displayName>
          <description>FLASH OTP block lock</description>
          <addressOffset>0x68</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0x00000000</resetMask>
          <fields>
            <field>
              <name>LOCKBL</name>
              <description>OTP Block Lock
Block n corresponds to OTP 16-bit word 32 x n to 32 x n + 31.
LOCKBL[n] = 1 indicates that all OTP 16-bit words in OTP Block n are locked and can no longer be programmed.
LOCKBL[n] = 0 indicates that all OTP 16-bit words in OTP Block n are not locked and can still be modified.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>OTPBL_PRG</name>
          <displayName>OTPBL_PRG</displayName>
          <description>FLASH OTP block lock</description>
          <addressOffset>0x6C</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0x00000000</resetMask>
          <fields>
            <field>
              <name>LOCKBL</name>
              <description>OTP Block Lock
Block n corresponds to OTP 16-bit word 32 x n to 32 x n + 31.
LOCKBL[n] = 1 indicates that all OTP 16-bit words in OTP Block n are locked and can no longer be programmed.
LOCKBL[n] = 0 indicates that all OTP 16-bit words in OTP Block n are not locked and can still be modified.
LOCKBL bits can be set if the corresponding bit in FLASH_OTPBL_CUR is cleared.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-write</access>
            </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>0x00000013</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>0x00000001</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>
              <access>write-only</access>
            </field>
            <field>
              <name>MER</name>
              <description>Flash mass erase enable
				  bit</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
            </field>
            <field>
              <name>PG_OTP</name>
              <description>OTP program control bit</description>
              <bitOffset>5</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>
              <access>read-only</access>
            </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>IWDG_SW</name>
              <description>IWDG1 control option status
				  bit</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>NRST_STOP</name>
              <description>D1 DStop entry reset option status
				  bit</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>NRST_STDY</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>VDDMMC_HSLV</name>
              <description>IWDG Stop mode freeze option status
				  bit</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>WDG_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>VDDIO_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>IWDG_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>VDDMMC_HSLV</name>
              <description>VDDMMC_HSLV</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>WDG_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>VDDIO_HSLV</name>
              <description>VDDIO_HSLV</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>
      </registers>
    </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>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 global interrupt</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>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>
      <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>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>
      <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>
      <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>
      <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>
      <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>
      <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>HSEM</name>
      <description>HSEM</description>
      <groupName>HSEM</groupName>
      <baseAddress>0x48020800</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>I2C1</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>
      <description>I2C3</description>
      <groupName>I2C</groupName>
      <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>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>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>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>
      <name>LPUART1</name>
      <description>LPUART1</description>
      <groupName>LPUART</groupName>
      <baseAddress>0x58000C00</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>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>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>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>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>OCTOSPI1</name>
      <description>OctoSPI</description>
      <groupName>OctoSPI</groupName>
      <baseAddress>0x52005000</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x1000</size>
        <usage>registers</usage>
      </addressBlock>
      <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>FMODE</name>
              <description>Functional mode</description>
              <bitOffset>28</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 status-polling mode</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>MemoryMapped</name>
                  <description>Memory-mapped mode</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PMM</name>
              <description>Polling match mode</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>PMM</name>
                <enumeratedValue>
                  <name>ANDMatchMode</name>
                  <description>AND-match mode, SMF is set if all the unmasked bits received from the device match the corresponding bits in the match register</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ORMatchmode</name>
                  <description>OR-match mode, SMF is set if any of the unmasked bits received from the device matches its corresponding bit in the match register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>APMS</name>
              <description>Automatic poll mode stop</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>APMS</name>
                <enumeratedValue>
                  <name>Running</name>
                  <description>Automatic status-polling mode is stopped only by abort or by disabling the OCTOSPI</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>StopMatch</name>
                  <description>Automatic status-polling mode stops as soon as there is a match</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TEIE</name>
              <description>Transfer error interrupt
              enable</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TEIE</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>TOIE</name>
              <description>TimeOut interrupt enable</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TEIE"/>
            </field>
            <field>
              <name>SMIE</name>
              <description>Status match interrupt
              enable</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TEIE"/>
            </field>
            <field>
              <name>FTIE</name>
              <description>FIFO threshold interrupt
              enable</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TEIE"/>
            </field>
            <field>
              <name>TCIE</name>
              <description>Transfer complete interrupt
              enable</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TEIE"/>
            </field>
            <field>
              <name>FTHRES</name>
              <description>IFO threshold level</description>
              <bitOffset>8</bitOffset>
              <bitWidth>5</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>31</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>FSEL</name>
              <description>FLASH memory selection</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>FSEL</name>
                <enumeratedValue>
                  <name>FLASH1</name>
                  <description>FLASH 1 selected (data exchanged over IO[3:0])</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FLASH2</name>
                  <description>FLASH 2 selected (data exchanged over IO[7:4])</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DMM</name>
              <description>Dual-memory configuration</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DMM</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Dual-quad configuration disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Dual-quad configuration enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TCEN</name>
              <description>Timeout counter enable</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 the Memory-mapped mode after TIMEOUT[15:0] cycles of external device inactivity</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DMAEN</name>
              <description>DMA enable</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DMAEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>DMA disabled for Indirect mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>DMA enabled for Indirect mode</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ABORT</name>
              <description>Abort request</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ABORT</name>
                <enumeratedValue>
                  <name>NotRequested</name>
                  <description>No abort requested</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Requested</name>
                  <description>Abort requested</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EN</name>
              <description>Enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>EN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>OCTOSPI disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>OCTOSPI enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>DCR1</name>
          <displayName>DCR1</displayName>
          <description>device configuration register</description>
          <addressOffset>0x8</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CKMODE</name>
              <description>Mode 0 / mode 3</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>FRCK</name>
              <description>Free running clock</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>FRCK</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>CLK is not free running</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>CLK is free running (always provided)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CSHT</name>
              <description>Chip-select high time</description>
              <bitOffset>8</bitOffset>
              <bitWidth>3</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>7</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>DEVSIZE</name>
              <description>Device size</description>
              <bitOffset>16</bitOffset>
              <bitWidth>5</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>31</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>MTYP</name>
              <description>Memory type</description>
              <bitOffset>24</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>MTYP</name>
                <enumeratedValue>
                  <name>MicronMode</name>
                  <description>Micron mode, D0/D1 ordering in DTR 8-data-bit mode. Regular-command protocol in Single-, Dual-, Quad- and Octal-SPI modes</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>MacronixMode</name>
                  <description>Macronix mode, D1/D0 ordering in DTR 8-data-bit mode. Regular-command protocol in Single-, Dual-, Quad- and Octal-SPI modes</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>StandardMode</name>
                  <description>Standard Mode</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>MacronixRamMode</name>
                  <description>Macronix RAM mode, D1/D0 ordering in DTR 8-data-bit mode. Regular-command protocol in Single-, Dual-, Quad- and Octal-SPI modes with dedicated address mapping</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HyperBusMemoryMode</name>
                  <description>HyperBus memory mode, the protocol follows the HyperBus specification. 8-data-bit DTR mode must be selected</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HyperBusMode</name>
                  <description>HyperBus register mode, addressing register space. The memory-mapped accesses in this mode must be non-cacheable, or Indirect read/write modes must be used</description>
                  <value>5</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DLYBYP</name>
              <description>Delay block bypass</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DLYBYP</name>
                <enumeratedValue>
                  <name>DelayBlockEnabled</name>
                  <description>The internal sampling clock (called feedback clock) or the DQS data strobe external signal is delayed by the delay block (for more details on this block, refer to the dedicated section of the reference manual as it is not part of the OCTOSPI peripheral)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DelayBlockBypassed</name>
                  <description>The delay block is bypassed, so the internal sampling clock or the DQS data strobe external signal is not affected by the delay block. The delay is shorter than when the delay block is not bypassed, even with the delay value set to minimum value in delay block</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>DCR2</name>
          <displayName>DCR2</displayName>
          <description>device configuration register
          2</description>
          <addressOffset>0xC</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>PRESCALER</name>
              <description>Clock prescaler</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>WRAPSIZE</name>
              <description>Wrap size</description>
              <bitOffset>16</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>WRAPSIZE</name>
                <enumeratedValue>
                  <name>NoWrappingSupport</name>
                  <description>Wrapped reads are not supported by the memory</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>WrappingSize16</name>
                  <description>External memory supports wrap size of 16 bytes</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>WrappingSize32</name>
                  <description>External memory supports wrap size of 32 bytes</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>WrappingSize64</name>
                  <description>External memory supports wrap size of 64 bytes</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>WrappingSize128</name>
                  <description>External memory supports wrap size of 128 bytes</description>
                  <value>5</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>DCR3</name>
          <displayName>DCR3</displayName>
          <description>device configuration register
          3</description>
          <addressOffset>0x10</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>MAXTRAN</name>
              <description>Maximum transfer</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>CSBOUND</name>
              <description>CS boundary</description>
              <bitOffset>16</bitOffset>
              <bitWidth>5</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>31</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>DCR4</name>
          <displayName>DCR4</displayName>
          <description>DCR4</description>
          <addressOffset>0x14</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>REFRESH</name>
              <description>Refresh rate</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4294967295</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>SR</name>
          <displayName>SR</displayName>
          <description>status register</description>
          <addressOffset>0x20</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TEF</name>
              <description>Transfer error flag</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TEF</name>
                <enumeratedValue>
                  <name>Cleared</name>
                  <description>This bit is cleared by writing 1 to CTEF</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>InvalidAddressAccessed</name>
                  <description>This bit is set in Indirect mode when an invalid address is being accessed in Indirect mode</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TCF</name>
              <description>Transfer complete flag</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TCF</name>
                <enumeratedValue>
                  <name>Cleared</name>
                  <description>This bit is cleared by writing 1 to CTCF</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TransferCompleted</name>
                  <description>This bit is set when the programmed number of data has been transferred</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FTF</name>
              <description>FIFO threshold flag</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>FTF</name>
                <enumeratedValue>
                  <name>Cleared</name>
                  <description>It is cleared automatically as soon as the threshold condition is no longer true</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ThresholdReached</name>
                  <description>This bit is set when the FIFO threshold has been reached</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SMF</name>
              <description>Status match flag</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SMF</name>
                <enumeratedValue>
                  <name>Cleared</name>
                  <description>It is cleared by writing 1 to CSMF</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Matched</name>
                  <description>This bit is set in Automatic status-polling mode when the unmasked received data matches the corresponding bits in the match register (OCTOSPI_PSMAR)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TOF</name>
              <description>Timeout flag</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TOF</name>
                <enumeratedValue>
                  <name>Cleared</name>
                  <description>This bit is cleared by writing 1 to CTOF</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Timeout</name>
                  <description>This bit is set when timeout occurs</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BUSY</name>
              <description>Busy</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>BUSY</name>
                <enumeratedValue>
                  <name>Cleared</name>
                  <description>This bit is cleared automatically when the operation with the external device is finished and the FIFO is empty</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Busy</name>
                  <description>This bit is set when an operation is ongoing</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FLEVEL</name>
              <description>FIFO level</description>
              <bitOffset>8</bitOffset>
              <bitWidth>6</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>63</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>FCR</name>
          <displayName>FCR</displayName>
          <description>flag clear register</description>
          <addressOffset>0x24</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CTEF</name>
              <description>Clear transfer error flag</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CTEF</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Writing 1 clears the TEF flag in the OCTOSPI_SR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CTCF</name>
              <description>Clear transfer complete
              flag</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CTCF</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Writing 1 clears the TCF flag in the OCTOSPI_SR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CSMF</name>
              <description>Clear status match flag</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CSMF</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Writing 1 clears the SMF flag in the OCTOSPI_SR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CTOF</name>
              <description>Clear timeout flag</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CTOF</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Writing 1 clears the TOF flag in the OCTOSPI_SR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>DLR</name>
          <displayName>DLR</displayName>
          <description>data length register</description>
          <addressOffset>0x40</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DL</name>
              <description>Data length</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4294967295</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>AR</name>
          <displayName>AR</displayName>
          <description>address register</description>
          <addressOffset>0x48</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>ADDRESS</name>
              <description>Adress</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</description>
          <addressOffset>0x50</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DATA</name>
              <description>Data</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4294967295</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>PSMKR</name>
          <displayName>PSMKR</displayName>
          <description>polling status mask register</description>
          <addressOffset>0x80</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>MASK</name>
              <description>Status mask</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>polling status match register</description>
          <addressOffset>0x88</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>MATCH</name>
              <description>Match</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>polling interval register</description>
          <addressOffset>0x100</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>IMODE</name>
              <description>Instruction mode</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</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>
                <enumeratedValue>
                  <name>EightLines</name>
                  <description>Instruction on eight lines</description>
                  <value>4</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>IDTR</name>
              <description>Instruction double transfer
              rate</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>IDTR</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>DTR mode disabled for instruction phase</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>DTR mode enabled for instruction phase</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ISIZE</name>
              <description>Instruction size</description>
              <bitOffset>4</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>ISIZE</name>
                <enumeratedValue>
                  <name>Bits8</name>
                  <description>8-bit instruction</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bits16</name>
                  <description>16-bit instruction</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bits24</name>
                  <description>24-bit instruction</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bits32</name>
                  <description>32-bit instruction</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ADMODE</name>
              <description>Address mode</description>
              <bitOffset>8</bitOffset>
              <bitWidth>3</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>
                <enumeratedValue>
                  <name>EightLines</name>
                  <description>Address on eight lines</description>
                  <value>4</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ADDTR</name>
              <description>Address double transfer
              rate</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ADDTR</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>DTR mode disabled for address phase</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>DTR mode enabled for address phase</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ADSIZE</name>
              <description>Address size</description>
              <bitOffset>12</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>ADSIZE</name>
                <enumeratedValue>
                  <name>Bits8</name>
                  <description>8-bit address</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bits16</name>
                  <description>16-bit address</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bits24</name>
                  <description>24-bit address</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bits32</name>
                  <description>32-bit address</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ABMODE</name>
              <description>Alternate byte mode</description>
              <bitOffset>16</bitOffset>
              <bitWidth>3</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>
                <enumeratedValue>
                  <name>EightLines</name>
                  <description>Alternate bytes on eight lines</description>
                  <value>4</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ABDTR</name>
              <description>Alternate bytes double transfer
              rate</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ABDTR</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>DTR mode disabled for alternate bytes phase</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>DTR mode enabled for alternate bytes phase</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ABSIZE</name>
              <description>Alternate bytes size</description>
              <bitOffset>20</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>ABSIZE</name>
                <enumeratedValue>
                  <name>Bits8</name>
                  <description>8-bit alternate bytes</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bits16</name>
                  <description>16-bit alternate bytes</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bits24</name>
                  <description>24-bit alternate bytes</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bits32</name>
                  <description>32-bit alternate bytes</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DMODE</name>
              <description>Data mode</description>
              <bitOffset>24</bitOffset>
              <bitWidth>3</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>
                <enumeratedValue>
                  <name>EightLines</name>
                  <description>Data on eight lines</description>
                  <value>4</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DDTR</name>
              <description>Alternate bytes double transfer
              rate</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DDTR</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>DTR mode disabled for data phase</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>DTR mode enabled for data phase</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DQSE</name>
              <description>DQS enable</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DQSE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>DQS disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>DQS enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SIOO</name>
              <description>Send instruction only once
              mode</description>
              <bitOffset>31</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>SendOnlyFirstCmd</name>
                  <description>Send instruction only for the first command</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>TCR</name>
          <displayName>TCR</displayName>
          <description>communication configuration
          register</description>
          <addressOffset>0x108</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DCYC</name>
              <description>Number of dummy cycles</description>
              <bitOffset>0</bitOffset>
              <bitWidth>5</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>31</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>DHQC</name>
              <description>Delay hold quarter cycle</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DHQC</name>
                <enumeratedValue>
                  <name>NoDelay</name>
                  <description>No delay hold</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>QuarterCycleHold</name>
                  <description>1/4 cycle hold</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SSHIFT</name>
              <description>Sample shift</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SSHIFT</name>
                <enumeratedValue>
                  <name>NoShift</name>
                  <description>No shift</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HalfCycleShift</name>
                  <description>1/2 cycle shift</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>IR</name>
          <displayName>IR</displayName>
          <description>timing configuration register</description>
          <addressOffset>0x110</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>INSTRUCTION</name>
              <description>INSTRUCTION</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>instruction register</description>
          <addressOffset>0x120</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>ALTERNATE</name>
              <description>Alternate bytes</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4294967295</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>LPTR</name>
          <displayName>LPTR</displayName>
          <description>alternate bytes register</description>
          <addressOffset>0x130</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TIMEOUT</name>
              <description>Timeout period</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>WPCCR</name>
          <displayName>WPCCR</displayName>
          <description>low-power timeout register</description>
          <addressOffset>0x140</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>IMODE</name>
              <description>Instruction mode</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</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>
                <enumeratedValue>
                  <name>EightLines</name>
                  <description>Instruction on eight lines</description>
                  <value>4</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>IDTR</name>
              <description>Instruction double transfer
              rate</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>IDTR</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>DTR mode disabled for instruction phase</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>DTR mode enabled for instruction phase</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ISIZE</name>
              <description>Instruction size</description>
              <bitOffset>4</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>ISIZE</name>
                <enumeratedValue>
                  <name>Bits8</name>
                  <description>8-bit instruction</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bits16</name>
                  <description>16-bit instruction</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bits24</name>
                  <description>24-bit instruction</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bits32</name>
                  <description>32-bit instruction</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ADMODE</name>
              <description>Address mode</description>
              <bitOffset>8</bitOffset>
              <bitWidth>3</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>
                <enumeratedValue>
                  <name>EightLines</name>
                  <description>Address on eight lines</description>
                  <value>4</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ADDTR</name>
              <description>Address double transfer
              rate</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ADDTR</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>DTR mode disabled for address phase</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>DTR mode enabled for address phase</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ADSIZE</name>
              <description>Address size</description>
              <bitOffset>12</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>ADSIZE</name>
                <enumeratedValue>
                  <name>Bits8</name>
                  <description>8-bit address</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bits16</name>
                  <description>16-bit address</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bits24</name>
                  <description>24-bit address</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bits32</name>
                  <description>32-bit address</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ABMODE</name>
              <description>Alternate byte mode</description>
              <bitOffset>16</bitOffset>
              <bitWidth>3</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>
                <enumeratedValue>
                  <name>EightLines</name>
                  <description>Alternate bytes on eight lines</description>
                  <value>4</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ABDTR</name>
              <description>Alternate bytes double transfer
              rate</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ABDTR</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>DTR mode disabled for alternate bytes phase</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>DTR mode enabled for alternate bytes phase</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ABSIZE</name>
              <description>Alternate bytes size</description>
              <bitOffset>20</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>ABSIZE</name>
                <enumeratedValue>
                  <name>Bits8</name>
                  <description>8-bit alternate bytes</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bits16</name>
                  <description>16-bit alternate bytes</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bits24</name>
                  <description>24-bit alternate bytes</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bits32</name>
                  <description>32-bit alternate bytes</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DMODE</name>
              <description>Data mode</description>
              <bitOffset>24</bitOffset>
              <bitWidth>3</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>
                <enumeratedValue>
                  <name>EightLines</name>
                  <description>Data on eight lines</description>
                  <value>4</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DDTR</name>
              <description>alternate bytes double transfer
              rate</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DDTR</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>DTR mode disabled for data phase</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>DTR mode enabled for data phase</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DQSE</name>
              <description>DQS enable</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DQSE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>DQS disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>DQS enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>WPTCR</name>
          <displayName>WPTCR</displayName>
          <description>wrap timing configuration
          register</description>
          <addressOffset>0x148</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DCYC</name>
              <description>Number of dummy cycles</description>
              <bitOffset>0</bitOffset>
              <bitWidth>5</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>31</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>DHQC</name>
              <description>Delay hold quarter cycle</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DHQC</name>
                <enumeratedValue>
                  <name>NoDelay</name>
                  <description>No delay hold</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>QuarterCycleHold</name>
                  <description>1/4 cycle hold</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SSHIFT</name>
              <description>Sample shift</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SSHIFT</name>
                <enumeratedValue>
                  <name>NoShift</name>
                  <description>No shift</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HalfCycleShift</name>
                  <description>1/2 cycle shift</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>WPIR</name>
          <displayName>WPIR</displayName>
          <description>wrap instruction register</description>
          <addressOffset>0x150</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>INSTRUCTION</name>
              <description>INSTRUCTION</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4294967295</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>WPABR</name>
          <displayName>WPABR</displayName>
          <description>wrap alternate bytes register</description>
          <addressOffset>0x160</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>ALTERNATE</name>
              <description>Alternate bytes</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4294967295</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>WCCR</name>
          <displayName>WCCR</displayName>
          <description>write communication configuration
          register</description>
          <addressOffset>0x180</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>IMODE</name>
              <description>Instruction mode</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</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>
                <enumeratedValue>
                  <name>EightLines</name>
                  <description>Instruction on eight lines</description>
                  <value>4</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>IDTR</name>
              <description>Instruction double transfer
              rate</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>IDTR</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>DTR mode disabled for instruction phase</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>DTR mode enabled for instruction phase</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ISIZE</name>
              <description>Instruction size</description>
              <bitOffset>4</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>ISIZE</name>
                <enumeratedValue>
                  <name>Bits8</name>
                  <description>8-bit instruction</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bits16</name>
                  <description>16-bit instruction</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bits24</name>
                  <description>24-bit instruction</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bits32</name>
                  <description>32-bit instruction</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ADMODE</name>
              <description>Address mode</description>
              <bitOffset>8</bitOffset>
              <bitWidth>3</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>
                <enumeratedValue>
                  <name>EightLines</name>
                  <description>Address on eight lines</description>
                  <value>4</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ADDTR</name>
              <description>Address double transfer
              rate</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ADDTR</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>DTR mode disabled for address phase</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>DTR mode enabled for address phase</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ADSIZE</name>
              <description>Address size</description>
              <bitOffset>12</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>ADSIZE</name>
                <enumeratedValue>
                  <name>Bits8</name>
                  <description>8-bit address</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bits16</name>
                  <description>16-bit address</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bits24</name>
                  <description>24-bit address</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bits32</name>
                  <description>32-bit address</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ABMODE</name>
              <description>Alternate-byte mode</description>
              <bitOffset>16</bitOffset>
              <bitWidth>3</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>
                <enumeratedValue>
                  <name>EightLines</name>
                  <description>Alternate bytes on eight lines</description>
                  <value>4</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ABDTR</name>
              <description>Alternate bytes double transfer
              rate</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ABDTR</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>DTR mode disabled for alternate bytes phase</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>DTR mode enabled for alternate bytes phase</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ABSIZE</name>
              <description>Alternate bytes size</description>
              <bitOffset>20</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>ABSIZE</name>
                <enumeratedValue>
                  <name>Bits8</name>
                  <description>8-bit alternate bytes</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bits16</name>
                  <description>16-bit alternate bytes</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bits24</name>
                  <description>24-bit alternate bytes</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bits32</name>
                  <description>32-bit alternate bytes</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DMODE</name>
              <description>Data mode</description>
              <bitOffset>24</bitOffset>
              <bitWidth>3</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>
                <enumeratedValue>
                  <name>EightLines</name>
                  <description>Data on eight lines</description>
                  <value>4</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DDTR</name>
              <description>DDTR</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DDTR</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>DTR mode disabled for data phase</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>DTR mode enabled for data phase</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DQSE</name>
              <description>DQSE</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DQSE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>DQS disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>DQS enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>WTCR</name>
          <displayName>WTCR</displayName>
          <description>write timing configuration
          register</description>
          <addressOffset>0x188</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DCYC</name>
              <description>DCYC</description>
              <bitOffset>0</bitOffset>
              <bitWidth>5</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>31</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>WABR</name>
          <displayName>WABR</displayName>
          <description>write alternate bytes register</description>
          <addressOffset>0x1A0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>ALTERNATE</name>
              <description>Alternate bytes</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4294967295</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>HLCR</name>
          <displayName>HLCR</displayName>
          <description>HyperBusTM latency configuration
          register</description>
          <addressOffset>0x200</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>LM</name>
              <description>Latency mode</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>LM</name>
                <enumeratedValue>
                  <name>Variable</name>
                  <description>Variable initial latency</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Fixed</name>
                  <description>Fixed latency</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>WZL</name>
              <description>Write zero latency</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>WZL</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Latency on write accesses</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>No latency on write accesses</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TACC</name>
              <description>Access time</description>
              <bitOffset>8</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>TRWR</name>
              <description>Read write recovery time</description>
              <bitOffset>16</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>PIR</name>
          <displayName>PIR</displayName>
          <description>OCTOSPI polling interval
          register</description>
          <addressOffset>0x90</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>INTERVAL</name>
              <description>Polling interval</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>WIR</name>
          <displayName>WIR</displayName>
          <description>instruction register</description>
          <addressOffset>0x190</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>INSTRUCTION</name>
              <description>INSTRUCTION</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4294967295</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral derivedFrom="OCTOSPI1">
      <name>OCTOSPI2</name>
      <baseAddress>0x5200A000</baseAddress>
      <interrupt>
        <name>OCTOSPI2</name>
        <description>OCTOSPI2 global interrupt</description>
        <value>150</value>
      </interrupt>
    </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>OTFDEC1</name>
      <description>On-The-Fly Decryption engine</description>
      <groupName>OTFDEC</groupName>
      <baseAddress>0x5200B800</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>OTFDEC1</name>
        <description>OTFDEC1 interrupt</description>
        <value>151</value>
      </interrupt>
      <registers>
        <register>
          <name>CR</name>
          <displayName>CR</displayName>
          <description>OTFDEC control register</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>ENC</name>
              <description>Encryption mode bit</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>R1CFGR</name>
          <displayName>R1CFGR</displayName>
          <description>OTFDEC region x configuration
          register</description>
          <addressOffset>0x20</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>REG_EN</name>
              <description>region on-the-fly decryption
              enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CONFIGLOCK</name>
              <description>region config lock</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>KEYLOCK</name>
              <description>region key lock</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>MODE</name>
              <description>operating mode</description>
              <bitOffset>4</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>KEYCRC</name>
              <description>region key 8-bit CRC</description>
              <bitOffset>8</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>REGx_VERSION</name>
              <description>region firmware version</description>
              <bitOffset>16</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>R2CFGR</name>
          <displayName>R2CFGR</displayName>
          <description>OTFDEC region x configuration
          register</description>
          <addressOffset>0x50</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>REG_EN</name>
              <description>region on-the-fly decryption
              enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CONFIGLOCK</name>
              <description>region config lock</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>KEYLOCK</name>
              <description>region key lock</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>MODE</name>
              <description>operating mode</description>
              <bitOffset>4</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>KEYCRC</name>
              <description>region key 8-bit CRC</description>
              <bitOffset>8</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>REGx_VERSION</name>
              <description>region firmware version</description>
              <bitOffset>16</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>R3CFGR</name>
          <displayName>R3CFGR</displayName>
          <description>OTFDEC region x configuration
          register</description>
          <addressOffset>0x80</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>REG_EN</name>
              <description>region on-the-fly decryption
              enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CONFIGLOCK</name>
              <description>region config lock</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>KEYLOCK</name>
              <description>region key lock</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>MODE</name>
              <description>operating mode</description>
              <bitOffset>4</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>KEYCRC</name>
              <description>region key 8-bit CRC</description>
              <bitOffset>8</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>REGx_VERSION</name>
              <description>region firmware version</description>
              <bitOffset>16</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>R4CFGR</name>
          <displayName>R4CFGR</displayName>
          <description>OTFDEC region x configuration
          register</description>
          <addressOffset>0xB0</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>REG_EN</name>
              <description>region on-the-fly decryption
              enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CONFIGLOCK</name>
              <description>region config lock</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>KEYLOCK</name>
              <description>region key lock</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>MODE</name>
              <description>operating mode</description>
              <bitOffset>4</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>KEYCRC</name>
              <description>region key 8-bit CRC</description>
              <bitOffset>8</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>REGx_VERSION</name>
              <description>region firmware version</description>
              <bitOffset>16</bitOffset>
              <bitWidth>16</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>R1STARTADDR</name>
          <displayName>R1STARTADDR</displayName>
          <description>OTFDEC region x start address
          register</description>
          <addressOffset>0x24</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>REGx_START_ADDR</name>
              <description>Region AXI start address</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>R2STARTADDR</name>
          <displayName>R2STARTADDR</displayName>
          <description>OTFDEC region x start address
          register</description>
          <addressOffset>0x54</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>REGx_START_ADDR</name>
              <description>Region AXI start address</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>R3STARTADDR</name>
          <displayName>R3STARTADDR</displayName>
          <description>OTFDEC region x start address
          register</description>
          <addressOffset>0x84</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>REGx_START_ADDR</name>
              <description>Region AXI start address</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>R4STARTADDR</name>
          <displayName>R4STARTADDR</displayName>
          <description>OTFDEC region x start address
          register</description>
          <addressOffset>0xB4</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>REGx_START_ADDR</name>
              <description>Region AXI start address</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>R1ENDADDR</name>
          <displayName>R1ENDADDR</displayName>
          <description>OTFDEC region x end address
          register</description>
          <addressOffset>0x28</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000FFF</resetValue>
          <fields>
            <field>
              <name>REGx_END_ADDR</name>
              <description>Region AXI end address</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>R2ENDADDR</name>
          <displayName>R2ENDADDR</displayName>
          <description>OTFDEC region x end address
          register</description>
          <addressOffset>0x58</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000FFF</resetValue>
          <fields>
            <field>
              <name>REGx_END_ADDR</name>
              <description>Region AXI end address</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>R3ENDADDR</name>
          <displayName>R3ENDADDR</displayName>
          <description>OTFDEC region x end address
          register</description>
          <addressOffset>0x88</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000FFF</resetValue>
          <fields>
            <field>
              <name>REGx_END_ADDR</name>
              <description>Region AXI end address</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>R4ENDADDR</name>
          <displayName>R4ENDADDR</displayName>
          <description>OTFDEC region x end address
          register</description>
          <addressOffset>0x8C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000FFF</resetValue>
          <fields>
            <field>
              <name>REGx_END_ADDR</name>
              <description>Region AXI end address</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>R1NONCER0</name>
          <displayName>R1NONCER0</displayName>
          <description>OTFDEC region x nonce register
          0</description>
          <addressOffset>0x2C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>REGx_NONCE</name>
              <description>REGx_NONCE</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>R2NONCER0</name>
          <displayName>R2NONCER0</displayName>
          <description>OTFDEC region x nonce register
          0</description>
          <addressOffset>0x5C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>REGx_NONCE</name>
              <description>REGx_NONCE</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>R3NONCER0</name>
          <displayName>R3NONCER0</displayName>
          <description>OTFDEC region x nonce register
          0</description>
          <alternateRegister>R4ENDADDR</alternateRegister>
          <addressOffset>0x8C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>REGx_NONCE</name>
              <description>REGx_NONCE</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>R4NONCER0</name>
          <displayName>R4NONCER0</displayName>
          <description>OTFDEC region x nonce register
          0</description>
          <addressOffset>0xBC</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>REGx_NONCE</name>
              <description>REGx_NONCE</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>R1NONCER1</name>
          <displayName>R1NONCER1</displayName>
          <description>OTFDEC region x nonce register
          1</description>
          <addressOffset>0x30</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>REGx_NONCE</name>
              <description>Region nonce</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>R2NONCER1</name>
          <displayName>R2NONCER1</displayName>
          <description>OTFDEC region x nonce register
          1</description>
          <addressOffset>0x60</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>REGx_NONCE</name>
              <description>Region nonce, bits
              [63:32]REGx_NONCE[63:32]</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>R3NONCER1</name>
          <displayName>R3NONCER1</displayName>
          <description>OTFDEC region x nonce register
          1</description>
          <addressOffset>0x90</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>REGx_NONCE</name>
              <description>REGx_NONCE</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>R4NONCER1</name>
          <displayName>R4NONCER1</displayName>
          <description>OTFDEC region x nonce register
          1</description>
          <addressOffset>0xC0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>REGx_NONCE</name>
              <description>REGx_NONCE</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>R1KEYR0</name>
          <displayName>R1KEYR0</displayName>
          <description>OTFDEC region x key register 0</description>
          <addressOffset>0x34</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>REGx_KEY</name>
              <description>REGx_KEY</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>R2KEYR0</name>
          <displayName>R2KEYR0</displayName>
          <description>OTFDEC region x key register 0</description>
          <addressOffset>0x64</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>REGx_KEY</name>
              <description>REGx_KEY</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>R3KEYR0</name>
          <displayName>R3KEYR0</displayName>
          <description>OTFDEC region x key register 0</description>
          <addressOffset>0x94</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>REGx_KEY</name>
              <description>REGx_KEY</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>R4KEYR0</name>
          <displayName>R4KEYR0</displayName>
          <description>OTFDEC region x key register 0</description>
          <addressOffset>0xC4</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>REGx_KEY</name>
              <description>REGx_KEY</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>R1KEYR1</name>
          <displayName>R1KEYR1</displayName>
          <description>OTFDEC region x key register 1</description>
          <addressOffset>0x38</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>REGx_KEY</name>
              <description>REGx_KEY</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>R2KEYR1</name>
          <displayName>R2KEYR1</displayName>
          <description>OTFDEC region x key register 1</description>
          <addressOffset>0x68</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>REGx_KEY</name>
              <description>REGx_KEY</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>R3KEYR1</name>
          <displayName>R3KEYR1</displayName>
          <description>OTFDEC region x key register 1</description>
          <addressOffset>0x98</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>REGx_KEY</name>
              <description>REGx_KEY</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>R4KEYR1</name>
          <displayName>R4KEYR1</displayName>
          <description>OTFDEC region x key register 1</description>
          <addressOffset>0xC8</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>REGx_KEY</name>
              <description>REGx_KEY</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>R1KEYR2</name>
          <displayName>R1KEYR2</displayName>
          <description>OTFDEC region x key register 2</description>
          <addressOffset>0x3C</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>REGx_KEY</name>
              <description>REGx_KEY</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>R2KEYR2</name>
          <displayName>R2KEYR2</displayName>
          <description>OTFDEC region x key register 2</description>
          <addressOffset>0x6C</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>REGx_KEY_</name>
              <description>REGx_KEY</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>R3KEYR2</name>
          <displayName>R3KEYR2</displayName>
          <description>OTFDEC region x key register 2</description>
          <addressOffset>0x9C</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>REGx_KEY</name>
              <description>REGx_KEY</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>R4KEYR2</name>
          <displayName>R4KEYR2</displayName>
          <description>OTFDEC region x key register 2</description>
          <addressOffset>0xCC</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>REGx_KEY</name>
              <description>REGx_KEY</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>R1KEYR3</name>
          <displayName>R1KEYR3</displayName>
          <description>OTFDEC region x key register 3</description>
          <addressOffset>0x40</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>REGx_KEY</name>
              <description>REGx_KEY</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>R2KEYR3</name>
          <displayName>R2KEYR3</displayName>
          <description>OTFDEC region x key register 3</description>
          <addressOffset>0x70</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>REGx_KEY</name>
              <description>REGx_KEY</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>R3KEYR3</name>
          <displayName>R3KEYR3</displayName>
          <description>OTFDEC region x key register 3</description>
          <addressOffset>0xA0</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>REGx_KEY</name>
              <description>REGx_KEY</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>R4KEYR3</name>
          <displayName>R4KEYR3</displayName>
          <description>OTFDEC region x key register 3</description>
          <addressOffset>0xD0</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>REGx_KEY</name>
              <description>REGx_KEY</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>ISR</name>
          <displayName>ISR</displayName>
          <description>OTFDEC interrupt status
          register</description>
          <addressOffset>0x300</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>SEIF</name>
              <description>Security Error Interrupt Flag
              status</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>XONEIF</name>
              <description>Execute-only execute-Never Error
              Interrupt Flag status</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>KEIF</name>
              <description>Key Error Interrupt Flag
              status</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>ICR</name>
          <displayName>ICR</displayName>
          <description>OTFDEC interrupt clear
          register</description>
          <addressOffset>0x304</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>SEIF</name>
              <description>SEIF</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>XONEIF</name>
              <description>Execute-only execute-Never Error
              Interrupt Flag clear</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>KEIF</name>
              <description>KEIF</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>IER</name>
          <displayName>IER</displayName>
          <description>OTFDEC interrupt enable
          register</description>
          <addressOffset>0x308</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>SEIE</name>
              <description>Security Error Interrupt
              Enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>XONEIE</name>
              <description>XONEIE</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>KEIE</name>
              <description>KEIE</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral derivedFrom="OTFDEC1">
      <name>OTFDEC2</name>
      <baseAddress>0x5200BC00</baseAddress>
      <interrupt>
        <name>OTFDEC2</name>
        <description>OTFDEC2 interrupt</description>
        <value>152</value>
      </interrupt>
    </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>
      <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>
      <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>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>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>EHEN</name>
              <description>Embedded host enable</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>VBVALOEN</name>
              <description>V_BUS valid override enable</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>VBVALOVAL</name>
              <description>V_BUS 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>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>
      <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_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>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>
      <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>
      <name>OctoSPII_O_Manager</name>
      <description>OctoSPI IO Manager</description>
      <groupName>OctoSPII_O_Manager</groupName>
      <baseAddress>0x5200B400</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <registers>
        <register>
          <name>CR</name>
          <displayName>CR</displayName>
          <description>OctoSPI IO Manager Control
          Register</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>MUXEN</name>
              <description>Multiplexed mode Enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>REQ2ACK_TIME</name>
              <description>REQ to ACK Time</description>
              <bitOffset>16</bitOffset>
              <bitWidth>8</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>P1CR</name>
          <displayName>P1CR</displayName>
          <description>OctoSPI IO Manager Port 1 configuration
          register</description>
          <addressOffset>0x4</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x03010111</resetValue>
          <fields>
            <field>
              <name>CLKEN</name>
              <description>CLK/CLKn Enable for Port n</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CLKSRC</name>
              <description>CLK/CLKn Source for Port n</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DQSEN</name>
              <description>DQSEN</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DQSSRC</name>
              <description>DQSSRC</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>NCSEN</name>
              <description>NCSEN</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>NCSSRC</name>
              <description>NCSSRC</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IOLEN</name>
              <description>IOLEN</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IOLSRC</name>
              <description>IOLSRC</description>
              <bitOffset>17</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>IOHEN</name>
              <description>IOHEN</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IOHSRC</name>
              <description>IOHSRC</description>
              <bitOffset>25</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>P2CR</name>
          <displayName>P2CR</displayName>
          <description>OctoSPI IO Manager Port 2 configuration
          register</description>
          <addressOffset>0x8</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x07050333</resetValue>
          <fields>
            <field>
              <name>CLKEN</name>
              <description>CLKEN</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CLKSRC</name>
              <description>CLKSRC</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DQSEN</name>
              <description>DQSEN</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DQSSRC</name>
              <description>DQSSRC</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>NCSEN</name>
              <description>NCSEN</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>NCSSRC</name>
              <description>NCSSRC</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IOLEN</name>
              <description>IOLEN</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IOLSRC</name>
              <description>IOLSRC</description>
              <bitOffset>17</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>IOHEN</name>
              <description>IOHEN</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>IOHSRC</name>
              <description>IOHSRC</description>
              <bitOffset>25</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>PSSI</name>
      <description>Parallel synchronous slave interface</description>
      <groupName>PSSI</groupName>
      <baseAddress>0x48020400</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x6B</size>
        <usage>registers</usage>
      </addressBlock>
      <registers>
        <register>
          <name>CR</name>
          <displayName>CR</displayName>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <resetValue>0x40000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>CKPOL</name>
              <description>Parallel data clock polarity
This bit configures the capture edge of the parallel clock or the edge used for driving outputs, depending on OUTEN.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>CKPOL</name>
                <enumeratedValue>
                  <name>FallingEdge</name>
                  <description>Falling edge active for inputs or rising edge active for outputs</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>RisingEdge</name>
                  <description>Rising edge active for inputs or falling edge active for outputs</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DEPOL</name>
              <description>Data enable (PSSI_DE) polarity
This bit indicates the level on the PSSI_DE pin when the data are not valid on the parallel interface.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>DEPOL</name>
                <enumeratedValue>
                  <name>ActiveLow</name>
                  <description>PSSI_DE active low (0 indicates that data is valid)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ActiveHigh</name>
                  <description>PSSI_DE active high (1 indicates that data is valid)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RDYPOL</name>
              <description>Ready (PSSI_RDY) polarity
This bit indicates the level on the PSSI_RDY pin when the data are not valid on the parallel interface.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>RDYPOL</name>
                <enumeratedValue>
                  <name>ActiveLow</name>
                  <description>PSSI_RDY active low (0 indicates that the receiver is ready to receive)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ActiveHigh</name>
                  <description>PSSI_RDY active high (1 indicates that the receiver is ready to receive)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EDM</name>
              <description>Extended data mode</description>
              <bitOffset>10</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>EDM</name>
                <enumeratedValue>
                  <name>BitWidth8</name>
                  <description>Interface captures 8-bit data on every parallel data clock</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>BitWidth16</name>
                  <description>The interface captures 16-bit data on every parallel data clock</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ENABLE</name>
              <description>PSSI enable
The contents of the FIFO are flushed when ENABLE is cleared to 0.
Note: When ENABLE=1, the content of PSSI_CR must not be changed, except for the ENABLE bit itself. All configuration bits can change as soon as ENABLE changes from 0 to 1.
The DMA controller and all PSSI configuration registers must be programmed correctly before setting the ENABLE bit to 1.
The ENABLE bit and the DCMI ENABLE bit (bit 15 of DCMI_CR) must not be set to 1 at the same time.</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>ENABLE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>PSSI disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>PSSI enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DERDYCFG</name>
              <description>Data enable and ready configuration
When the PSSI_RDY function is mapped to the PSSI_DE pin (settings 101 or 111), it is still the RDYPOL bit which determines its polarity. Similarly, when the PSSI_DE function is mapped to the PSSI_RDY pin (settings 110 or 111), it is still the DEPOL bit which determines its polarity.</description>
              <bitOffset>18</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>DERDYCFG</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>PSSI_DE and PSSI_RDY both disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Rdy</name>
                  <description>Only PSSI_RDY enabled</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>De</name>
                  <description>Only PSSI_DE enabled</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>RdyDeAlt</name>
                  <description>Both PSSI_RDY and PSSI_DE alternate functions enabled</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>RdyDe</name>
                  <description>Both PSSI_RDY and PSSI_DE features enabled - bidirectional on PSSI_RDY pin</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>RdyRemapped</name>
                  <description>Only PSSI_RDY function enabled, but mapped to PSSI_DE pin</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DeRemapped</name>
                  <description>Only PSSI_DE function enabled, but mapped to PSSI_RDY pin</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>RdyDeBidi</name>
                  <description>Both PSSI_RDY and PSSI_DE features enabled - bidirectional on PSSI_DE pin</description>
                  <value>7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DMAEN</name>
              <description>DMA enable bit</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>DMAEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>DMA transfers are disabled. The user application can directly access the PSSI_DR register when DMA transfers are disabled.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>DMA transfers are enabled (default configuration). A DMA channel in the general-purpose DMA controller must be configured to perform transfers from/to PSSI_DR</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OUTEN</name>
              <description>Data direction selection bit</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>OUTEN</name>
                <enumeratedValue>
                  <name>ReceiveMode</name>
                  <description>Data is input synchronously with PSSI_PDCK</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TransmitMode</name>
                  <description>Data is output synchronously with PSSI_PDCK</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>SR</name>
          <displayName>SR</displayName>
          <addressOffset>0x4</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>RTT4B</name>
              <description>FIFO is ready to transfer four bytes</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>RTT4B</name>
                <enumeratedValue>
                  <name>NotReady</name>
                  <description>FIFO is not ready for a four-byte transfer</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Ready</name>
                  <description>FIFO is ready for a four-byte (32-bit) transfer. In receive mode, this means that at least four valid data bytes are in the FIFO. In transmit mode, this means that there are at least four bytes free in the FIFO</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RTT1B</name>
              <description>FIFO is ready to transfer one byte</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>RTT1B</name>
                <enumeratedValue>
                  <name>NotReady</name>
                  <description>FIFO is not ready for a 1-byte transfer</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Ready</name>
                  <description>FIFO is ready for a one byte (32-bit) transfer. In receive mode, this means that at least one valid data byte is in the FIFO. In transmit mode, this means that there is at least one byte free in the FIFO</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>RIS</name>
          <displayName>RIS</displayName>
          <description>PSSI raw interrupt status register</description>
          <addressOffset>0x8</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>OVR_RIS</name>
              <description>Data buffer overrun/underrun raw interrupt status
This bit is cleared by writing a 1 to the OVR_ISC bit in PSSI_ICR.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>OVR_RIS</name>
                <enumeratedValue>
                  <name>Cleared</name>
                  <description>No overrun/underrun occurred</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Occurred</name>
                  <description>An overrun/underrun occurred: overrun in receive mode, underrun in transmit mode. This bit is cleared by writing a 1 to the OVR_ISC bit in PSSI_ICR</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>IER</name>
          <displayName>IER</displayName>
          <addressOffset>0xC</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>OVR_IE</name>
              <description>Data buffer overrun/underrun interrupt enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <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 either an overrun or an underrun error occurred</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>MIS</name>
          <displayName>MIS</displayName>
          <description>PSSI masked interrupt status register</description>
          <addressOffset>0x10</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>OVR_MIS</name>
              <description>Data buffer overrun/underrun masked interrupt status
This bit is set to 1 only when PSSI_IER/OVR_IE and PSSI_RIS/OVR_RIS are both set to 1.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>OVR_MIS</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>No interrupt is generated when an overrun/underrun error occurs</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>An interrupt is generated if there is either an overrun or an underrun error and the OVR_IE bit is set in PSSI_IER</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>ICR</name>
          <displayName>ICR</displayName>
          <description>PSSI interrupt clear register</description>
          <addressOffset>0x14</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>OVR_ISC</name>
              <description>Data buffer overrun/underrun interrupt status clear
Writing this bit to 1 clears the OVR_RIS bit in PSSI_RIS.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
              <enumeratedValues>
                <name>OVR_ISC</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Writing this bit to 1 clears the OVR_RIS bit in PSSI_RIS</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>DR</name>
          <displayName>DR</displayName>
          <description>PSSI data register</description>
          <addressOffset>0x28</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>BYTE0</name>
              <description>Data byte 0</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>BYTE1</name>
              <description>Data byte 1</description>
              <bitOffset>8</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>BYTE2</name>
              <description>Data byte 2</description>
              <bitOffset>16</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>BYTE3</name>
              <description>Data byte 3</description>
              <bitOffset>24</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </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>BOOSTE</name>
              <description>BOOSTE</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>AVD_READY</name>
              <description>AVD_READY</description>
              <bitOffset>13</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>
            <field>
              <name>AXIRAM1SO</name>
              <description>AXIRAM1SO</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>AXIRAM2SO</name>
              <description>AXIRAM2SO</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>AXIRAM3SO</name>
              <description>AXIRAM3SO</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>AHBRAM1SO</name>
              <description>AHBRAM1SO</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>AHBRAM2SO</name>
              <description>AHBRAM2SO</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ITCMSO</name>
              <description>ITCMSO</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>GFXSO</name>
              <description>GFXSO</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>HSITFSO</name>
              <description>HSITFSO</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SRDRAMSO</name>
              <description>SRDRAMSO</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</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>
            <field>
              <name>MMCVDO</name>
              <description>MMCVDO</description>
              <bitOffset>17</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>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>SMPSEN</name>
              <description>SMPSEN</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>SMPSEXTHP</name>
              <description>SMPSEXTHP</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>SMPSLEVEL</name>
              <description>SMPSLEVEL</description>
              <bitOffset>4</bitOffset>
              <bitWidth>2</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>SMPSEXTRDY</name>
              <description>SMPSEXTRDY</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</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>RETDS_CD</name>
              <description>RETDS_CD</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>PDDS_SRD</name>
              <description>PDDS_SRD</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>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_SRD</name>
              <description>RUN_SRD</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>SRDCR</name>
          <displayName>SRDCR</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>WKUPC1</name>
              <description>Clear Wakeup pin flag for WKUP. These
              bits are always read as 0.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>WKUPC2</name>
              <description>Clear Wakeup pin flag for WKUP. These
              bits are always read as 0.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>WKUPC3</name>
              <description>Clear Wakeup pin flag for WKUP. These
              bits are always read as 0.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>WKUPC4</name>
              <description>Clear Wakeup pin flag for WKUP. These
              bits are always read as 0.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>WKUPC5</name>
              <description>Clear Wakeup pin flag for WKUP. These
              bits are always read as 0.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>WKUPC6</name>
              <description>Clear Wakeup pin flag for WKUP. These
              bits are always read as 0.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</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>RAMECC</name>
      <description>ECC controller is associated to each RAM
      area</description>
      <groupName>RAMECC</groupName>
      <baseAddress>0x52009000</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0xB8</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>RAMECC</name>
        <description>ECC diagnostic global interrupt</description>
        <value>145</value>
      </interrupt>
      <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>
      <name>RCC</name>
      <description>Reset and clock control</description>
      <groupName>RCC</groupName>
      <baseAddress>0x58024400</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x180</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>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000025</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>HSION</name>
              <description>HSI clock enable
Set and cleared by software.
Set by hardware to force the HSI to ON when the product leaves Stop mode, if STOPWUCK = 0 or STOPKERWUCK = 0.
Set by hardware to force the HSI to ON when the product leaves Standby mode or in case of a failure of the HSE which is used as the system clock source.
This bit cannot be cleared if the HSI is used directly (via SW mux) as system clock, or if the HSI is selected as reference clock for PLL1 with PLL1 enabled (PLL1ON bit set to 1).</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <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>HSI clock enable in Stop mode
Set and reset by software to force the HSI to ON, even in Stop mode, in order to be quickly available as kernel clock for peripherals. This bit has no effect on the value of HSION.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="HSION"/>
            </field>
            <field>
              <name>HSIRDY</name>
              <description>HSI clock ready flag
Set by hardware to indicate that the HSI oscillator is stable.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>HSIRDYR</name>
                <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
Set and reset by software.
These bits allow selecting a division ratio in order to configure the wanted HSI clock frequency. The HSIDIV cannot be changed if the HSI is selected as reference clock for at least one enabled PLL (PLLxON bit set to 1). In that case, the new HSIDIV value is ignored.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <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
Set and reset by hardware.
As a write operation to HSIDIV has not an immediate effect on the frequency, this flag indicates the current status of the HSI divider. HSIDIVF goes immediately to 0 when HSIDIV value is changed, and is set back to 1 when the output frequency matches the value programmed into HSIDIV.
clock setting is completed)</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>HSIDIVFR</name>
                <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
Set and reset by software to enable/disable CSI clock for system and/or peripheral.
Set by hardware to force the CSI to ON when the system leaves Stop mode, if STOPWUCK = 1 or STOPKERWUCK = 1.
This bit cannot be cleared if the CSI is used directly (via SW mux) as system clock, or if the CSI is selected as reference clock for PLL1 with PLL1 enabled (PLL1ON bit set to 1).</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="HSION"/>
            </field>
            <field>
              <name>CSIRDY</name>
              <description>CSI clock ready flag
Set by hardware to indicate that the CSI oscillator is stable. This bit is activated only if the RC is enabled by CSION (it is not activated if the CSI is enabled by CSIKERON or by a peripheral request).</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues derivedFrom="HSIRDYR"/>
            </field>
            <field>
              <name>CSIKERON</name>
              <description>CSI clock enable in Stop mode
Set and reset by software to force the CSI to ON, even in Stop mode, in order to be quickly available as kernel clock for some peripherals. This bit has no effect on the value of CSION.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="HSION"/>
            </field>
            <field>
              <name>HSI48ON</name>
              <description>HSI48 clock enable
Set by software and cleared by software or by the hardware when the system enters to Stop or Standby mode.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="HSION"/>
            </field>
            <field>
              <name>HSI48RDY</name>
              <description>HSI48 clock ready flag
Set by hardware to indicate that the HSI48 oscillator is stable.</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues derivedFrom="HSIRDYR"/>
            </field>
            <field>
              <name>CPUCKRDY</name>
              <description>CPU related clocks ready flag
Set by hardware to indicate that the CPU related clocks (CPU, APB3, AXI bus matrix and related memories) are available.</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues derivedFrom="HSIRDYR"/>
            </field>
            <field>
              <name>CDCKRDY</name>
              <description>CPU domain clocks ready flag
Set by hardware to indicate that the following CPU domain clocks are available: APB1, APB2, AHB bus matrix.</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues derivedFrom="HSIRDYR"/>
            </field>
            <field>
              <name>HSEON</name>
              <description>HSE clock enable
Set and cleared by software.
Cleared by hardware to stop the HSE when entering Stop or Standby mode.
This bit cannot be cleared if the HSE is used directly (via SW mux) as system clock, or if the HSE is selected as reference clock for PLL1 with PLL1 enabled (PLL1ON bit set to 1).</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="HSION"/>
            </field>
            <field>
              <name>HSERDY</name>
              <description>HSE clock ready flag
Set by hardware to indicate that the HSE oscillator is stable.</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues derivedFrom="HSIRDYR"/>
            </field>
            <field>
              <name>HSEBYP</name>
              <description>HSE clock bypass
Set and cleared by software to bypass the oscillator with an external clock. The external clock must be enabled with the HSEON bit to be used by the device.
The HSEBYP bit can be written only if the HSE oscillator is disabled.</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <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
Set by software to enable clock security system on HSE.
This bit is set only (disabled by a system reset or when the system enters in Standby mode).
When HSECSSON is set, the clock detector is enabled by hardware when the HSE is ready and disabled by hardware if an oscillator failure is detected.</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="HSION"/>
            </field>
            <field>
              <name>HSEEXT</name>
              <description>external high speed clock type in Bypass mode
Set and reset by software to select the external clock type (analog or digital).
The external clock must be enabled with the HSEON bit to be used by the device.
The HSEEXT bit can be written only if the HSE oscillator is disabled.</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>PLL1ON</name>
              <description>PLL1 enable
Set and cleared by software to enable PLL1.
Cleared by hardware when entering Stop or Standby mode. Note that the hardware prevents writing this bit to 0, if the PLL1 output is used as the system clock.</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="HSION"/>
            </field>
            <field>
              <name>PLL1RDY</name>
              <description>PLL1 clock ready flag
Set by hardware to indicate that the PLL1 is locked.</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues derivedFrom="HSIRDYR"/>
            </field>
            <field>
              <name>PLL2ON</name>
              <description>PLL2 enable
Set and cleared by software to enable PLL2.
Cleared by hardware when entering Stop or Standby mode.</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="HSION"/>
            </field>
            <field>
              <name>PLL2RDY</name>
              <description>PLL2 clock ready flag
Set by hardware to indicate that the PLL2 is locked.</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues derivedFrom="HSIRDYR"/>
            </field>
            <field>
              <name>PLL3ON</name>
              <description>PLL3 enable
Set and cleared by software to enable PLL3.
Cleared by hardware when entering Stop or Standby mode.</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="HSION"/>
            </field>
            <field>
              <name>PLL3RDY</name>
              <description>PLL3 clock ready flag
Set by hardware to indicate that the PLL3 is locked.</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues derivedFrom="HSIRDYR"/>
            </field>
          </fields>
        </register>
        <register>
          <name>HSICFGR</name>
          <displayName>HSICFGR</displayName>
          <description>RCC HSI calibration register</description>
          <addressOffset>0x4</addressOffset>
          <size>0x20</size>
          <resetValue>0x40000000</resetValue>
          <resetMask>0xFFFFF000</resetMask>
          <fields>
            <field>
              <name>HSICAL</name>
              <description>HSI clock calibration
Set by hardware by option byte loading during system reset nreset.
Adjusted by software through trimming bits HSITRIM.
This field represents the sum of engineering option byte calibration value and HSITRIM bits value.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>12</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>HSITRIM</name>
              <description>HSI clock trimming
Set by software to adjust calibration.
HSITRIM field is added to the engineering option bytes loaded during reset phase (FLASH_HSI_opt) in order to form the calibration trimming value. HSICAL=HSITRIM+FLASH_HSI_opt.
Note: The reset value of the field is 0x40.</description>
              <bitOffset>24</bitOffset>
              <bitWidth>7</bitWidth>
              <access>read-write</access>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>127</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>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFF000</resetMask>
          <fields>
            <field>
              <name>HSI48CAL</name>
              <description>Internal RC 48 MHz clock calibration
Set by hardware by option byte loading during system reset nreset.
Read-only.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>10</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>CSICFGR</name>
          <displayName>CSICFGR</displayName>
          <description>RCC CSI calibration register</description>
          <addressOffset>0xC</addressOffset>
          <size>0x20</size>
          <resetValue>0x20000000</resetValue>
          <resetMask>0xFFFFF000</resetMask>
          <fields>
            <field>
              <name>CSICAL</name>
              <description>CSI clock calibration
Set by hardware by option byte loading during system reset nreset.
Adjusted by software through trimming bits CSITRIM.
This field represents the sum of engineering option byte calibration value and CSITRIM bits value.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>CSITRIM</name>
              <description>CSI clock trimming
Set by software to adjust calibration.
CSITRIM field is added to the engineering option bytes loaded during reset phase (FLASH_CSI_opt) in order to form the calibration trimming value.
CSICAL=CSITRIM+FLASH_CSI_opt.
Note: The reset value of the field is 0x20.</description>
              <bitOffset>24</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>
          <addressOffset>0x10</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>SW</name>
              <description>system clock and trace clock switch
Set and reset by software to select system clock and trace clock sources (sys_ck and traceclk).
Set by hardware in order to:
force the selection of the HSI or CSI (depending on STOPWUCK selection) when leaving a system Stop mode
force the selection of the HSI in case of failure of the HSE when used directly or indirectly as system clock
others: reserved</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <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
Set and reset by hardware to indicate which clock source is used as system clock.
others: reserved</description>
              <bitOffset>3</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>SWSR</name>
                <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
Set and reset by software to select the system wakeup clock from system Stop.
The selected clock is also used as emergency clock for the clock security system (CSS) on HSE.
See  for details.
STOPWUCK must not be modified when CSS is enabled (by HSECSSON bit) and the system clock is HSE (SWS=10) or a switch on HSE is requested (SW=10).</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <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
Set and reset by software to select the kernel wakeup clock from system Stop.
See  for details.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="STOPWUCK"/>
            </field>
            <field>
              <name>RTCPRE</name>
              <description>HSE division factor for RTC clock
Set and cleared by software to divide the HSE to generate a clock for RTC.
Caution: The software must set these bits correctly to ensure that the clock supplied to the RTC is lower than 1MHz. These bits must be configured if needed before selecting the RTC clock source.
...</description>
              <bitOffset>8</bitOffset>
              <bitWidth>6</bitWidth>
              <access>read-write</access>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>63</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>TIMPRE</name>
              <description>timers clocks prescaler selection
This bit is set and reset by software to control the clock frequency of all the timers connected to APB1 and APB2 domains.
Refer to  for more details.</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <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
Set and cleared by software to configure the prescaler of the MCO1. Modification of this prescaler may generate glitches on MCO1. It is highly recommended to change this prescaler only after reset, before enabling the external oscillators and the PLLs.
...</description>
              <bitOffset>18</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-write</access>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>MCO1</name>
              <description>Microcontroller clock output 1
Set and cleared by software. Clock source selection may generate glitches on MCO1.
It is highly recommended to configure these bits only after reset, before enabling the external oscillators and the PLLs.
others: reserved</description>
              <bitOffset>22</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <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
Set and cleared by software to configure the prescaler of the MCO2. Modification of this prescaler may generate glitches on MCO2. It is highly recommended to change this prescaler only after reset, before enabling the external oscillators and the PLLs.
...</description>
              <bitOffset>25</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-write</access>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>MCO2</name>
              <description>microcontroller clock output 2
Set and cleared by software. Clock source selection may generate glitches on MCO2.
It is highly recommended to configure these bits only after reset, before enabling the external oscillators and the PLLs.
others: reserved</description>
              <bitOffset>29</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <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>CDCFGR1</name>
          <displayName>CDCFGR1</displayName>
          <addressOffset>0x18</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>HPRE</name>
              <description>CPU domain AHB prescaler
Set and reset by software to control the division factor of rcc_hclk3 and rcc_aclk. Changing this division ratio has an impact on the frequency of all bus matrix clocks.
0xxx: rcc_hclk3 = sys_cdcpre_ck (default after reset)
Note: The clocks are divided by the new prescaler factor from1 to 16 periods of the slowest APB clock among rcc_pclk[4:1] after HPRE update.
Note: Note also that rcc_hclk3 = rcc_aclk.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-write</access>
              <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>CDPPRE</name>
              <description>CPU domain APB3 prescaler
Set and reset by software to control the division factor of rcc_pclk3.
The clock is divided by the new prescaler factor from 1 to 16 cycles of rcc_hclk3 after CDPPRE write.
0xx: rcc_pclk3 = rcc_hclk3 (default after reset)</description>
              <bitOffset>4</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>CDPPRE</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>CDCPRE</name>
              <description>CPU domain core prescaler
Set and reset by software to control the CPU domain CPU clock division factor.
Changing this division ratio has an impact on the frequency of the CPU clock and all bus matrix clocks.
After changing this prescaler value, it takes up to 16 periods of the slowest APB clock before the new division ratio is taken into account. The application can check if the new division factor is taken into account by reading back this register.
0xxx: sys_ck not divided (default after reset)</description>
              <bitOffset>8</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="HPRE"/>
            </field>
          </fields>
        </register>
        <register>
          <name>CDCFGR2</name>
          <displayName>CDCFGR2</displayName>
          <addressOffset>0x1C</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>CDPPRE1</name>
              <description>CPU domain APB1 prescaler
Set and reset by software to control the CPU domain APB1 clock division factor.
The clock is divided by the new prescaler factor from 1 to 16 cycles of rcc_hclk1 after CDPPRE1 write.
0xx: rcc_pclk1 = rcc_hclk1 (default after reset)</description>
              <bitOffset>4</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>CDPPRE1</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>CDPPRE2</name>
              <description>CPU domain APB2 prescaler
Set and reset by software to control the CPU domain APB2 clock division factor.
The clock is divided by the new prescaler factor from 1 to 16 cycles of rcc_hclk1 after CDPPRE2 write.
0xx: rcc_pclk2 = rcc_hclk1 (default after reset)</description>
              <bitOffset>8</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="CDPPRE1"/>
            </field>
          </fields>
        </register>
        <register>
          <name>SRDCFGR</name>
          <displayName>SRDCFGR</displayName>
          <addressOffset>0x20</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>SRDPPRE</name>
              <description>SmartRun domain APB4 prescaler
Set and reset by software to control the SmartRun domain APB4 clock division factor.
The clock is divided by the new prescaler factor from 1 to 16 cycles of rcc_hclk4 after SRDPPRE write.
0xx: rcc_pclk4 = rcc_hclk4 (default after reset)</description>
              <bitOffset>4</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>PLLCKSELR</name>
          <displayName>PLLCKSELR</displayName>
          <addressOffset>0x28</addressOffset>
          <size>0x20</size>
          <resetValue>0x02020200</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>PLLSRC</name>
              <description>DIVMx and PLLs clock source selection
Set and reset by software to select the PLL clock source.
These bits can be written only when all PLLs are disabled.
In order to save power, when no PLL is used, the value of PLLSRC must be set to '11'.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <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
Set and cleared by software to configure the prescaler of the PLL1.
The hardware does not allow any modification of this prescaler when PLL1 is enabled (PLL1ON=1).
In order to save power when PLL1 is not used, the value of DIVM1 must be set to 0.
...
...</description>
              <bitOffset>4</bitOffset>
              <bitWidth>6</bitWidth>
              <access>read-write</access>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>63</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>DIVM2</name>
              <description>prescaler for PLL2
Set and cleared by software to configure the prescaler of the PLL2.
The hardware does not allow any modification of this prescaler when PLL2 is enabled (PLL2ON=1).
In order to save power when PLL2 is not used, the value of DIVM2 must be set to 0.
...
...</description>
              <bitOffset>12</bitOffset>
              <bitWidth>6</bitWidth>
              <access>read-write</access>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>63</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>DIVM3</name>
              <description>prescaler for PLL3
Set and cleared by software to configure the prescaler of the PLL3.
The hardware does not allow any modification of this prescaler when PLL3 is enabled (PLL3ON=1).
In order to save power when PLL3 is not used, the value of DIVM3 must be set to 0.
...
...</description>
              <bitOffset>20</bitOffset>
              <bitWidth>6</bitWidth>
              <access>read-write</access>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>63</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>PLLCFGR</name>
          <displayName>PLLCFGR</displayName>
          <addressOffset>0x2C</addressOffset>
          <size>0x20</size>
          <resetValue>0x01FF0000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>PLL1FRACEN</name>
              <description>PLL1 fractional latch enable
Set and reset by software to latch the content of FRACN1 into the sigma-delta modulator.
In order to latch the FRACN1 value into the sigma-delta modulator, PLL1FRACEN must be set to 0, then set to 1. The transition 0 to 1 transfers the content of FRACN1 into the modulator.
Refer to  for additional information.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <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
Set and reset by software to select the proper VCO frequency range used for PLL1.
These bits must be written before enabling the PLL1.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <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
Set and reset by software to select the proper reference frequency range used for PLL1.
This bit must be written before enabling the PLL1.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <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
Set and reset by software to latch the content of FRACN2 into the sigma-delta modulator.
In order to latch the FRACN2 value into the sigma-delta modulator, PLL2FRACEN must be set to 0, then set to 1. The transition 0 to 1 transfers the content of FRACN2 into the modulator.
Refer to  for additional information.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="PLL1FRACEN"/>
            </field>
            <field>
              <name>PLL2VCOSEL</name>
              <description>PLL2 VCO selection
Set and reset by software to select the proper VCO frequency range used for PLL2.
This bit must be written before enabling the PLL2.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="PLL1VCOSEL"/>
            </field>
            <field>
              <name>PLL2RGE</name>
              <description>PLL2 input frequency range
Set and reset by software to select the proper reference frequency range used for PLL2.
These bits must be written before enabling the PLL2.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="PLL1RGE"/>
            </field>
            <field>
              <name>PLL3FRACEN</name>
              <description>PLL3 fractional latch enable
Set and reset by software to latch the content of FRACN3 into the sigma-delta modulator.
In order to latch the FRACN3 value into the sigma-delta modulator, PLL3FRACEN must be set to 0, then set to 1. The transition 0 to 1 transfers the content of FRACN3 into the modulator.
Refer to  for additional information.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="PLL1FRACEN"/>
            </field>
            <field>
              <name>PLL3VCOSEL</name>
              <description>PLL3 VCO selection
Set and reset by software to select the proper VCO frequency range used for PLL3.
This bit must be written before enabling the PLL3.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="PLL1VCOSEL"/>
            </field>
            <field>
              <name>PLL3RGE</name>
              <description>PLL3 input frequency range
Set and reset by software to select the proper reference frequency range used for PLL3.
These bits must be written before enabling the PLL3.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="PLL1RGE"/>
            </field>
            <field>
              <name>DIVP1EN</name>
              <description>PLL1 DIVP divider output enable
Set and reset by software to enable the pll1_p_ck output of the PLL1.
This bit can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0).
In order to save power, when the pll1_p_ck output of the PLL1 is not used, the pll1_p_ck must be disabled.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <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
Set and reset by software to enable the pll1_q_ck output of the PLL1.
In order to save power, when the pll1_q_ck output of the PLL1 is not used, the pll1_q_ck must be disabled.
This bit can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0).</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="DIVP1EN"/>
            </field>
            <field>
              <name>DIVR1EN</name>
              <description>PLL1 DIVR divider output enable
Set and reset by software to enable the pll1_r_ck output of the PLL1.
To save power, DIVR3EN and DIVR3 bits must be set to 0 when the pll3_r_ck is not used.
This bit can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0).</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="DIVP1EN"/>
            </field>
            <field>
              <name>DIVP2EN</name>
              <description>PLL2 DIVP divider output enable
Set and reset by software to enable the pll2_p_ck output of the PLL2.
This bit can be written only when the PLL2 is disabled (PLL2ON = 0 and PLL2RDY = 0).
To save power, DIVR3EN and DIVR3 bits must be set to 0 when the pll3_r_ck is not used.</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="DIVP1EN"/>
            </field>
            <field>
              <name>DIVQ2EN</name>
              <description>PLL2 DIVQ divider output enable
Set and reset by software to enable the pll2_q_ck output of the PLL2.
To save power, DIVR3EN and DIVR3 bits must be set to 0 when the pll3_r_ck is not used.
This bit can be written only when the PLL2 is disabled (PLL2ON = 0 and PLL2RDY = 0).</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="DIVP1EN"/>
            </field>
            <field>
              <name>DIVR2EN</name>
              <description>PLL2 DIVR divider output enable
Set and reset by software to enable the pll2_r_ck output of the PLL2.
To save power, DIVR3EN and DIVR3 bits must be set to 0 when the pll3_r_ck is not used.
This bit can be written only when the PLL2 is disabled (PLL2ON = 0 and PLL2RDY = 0).</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="DIVP1EN"/>
            </field>
            <field>
              <name>DIVP3EN</name>
              <description>PLL3 DIVP divider output enable
Set and reset by software to enable the pll3_p_ck output of the PLL3.
This bit can be written only when the PLL3 is disabled (PLL3ON = 0 and PLL3RDY = 0).
To save power, DIVR3EN and DIVR3 bits must be set to 0 when the pll3_r_ck is not used.</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="DIVP1EN"/>
            </field>
            <field>
              <name>DIVQ3EN</name>
              <description>PLL3 DIVQ divider output enable
Set and reset by software to enable the pll3_q_ck output of the PLL3.
To save power, DIVR3EN and DIVR3 bits must be set to 0 when the pll3_r_ck is not used.
This bit can be written only when the PLL3 is disabled (PLL3ON = 0 and PLL3RDY = 0).</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="DIVP1EN"/>
            </field>
            <field>
              <name>DIVR3EN</name>
              <description>PLL3 DIVR divider output enable
Set and reset by software to enable the pll3_r_ck output of the PLL3.
To save power, DIVR3EN and DIVR3 bits must be set to 0 when the pll3_r_ck is not used.
This bit can be written only when the PLL3 is disabled (PLL3ON = 0 and PLL3RDY = 0).</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="DIVP1EN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>PLL1DIVR</name>
          <displayName>PLL1DIVR</displayName>
          <addressOffset>0x30</addressOffset>
          <size>0x20</size>
          <resetValue>0x01010280</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>DIVN1</name>
              <description>multiplication factor for PLL1 VCO
Set and reset by software to control the multiplication factor of the VCO.
These bits can be written only when the PLL is disabled (PLL1ON = PLL1RDY = 0).
..........: not used
...
...
Others: wrong configurations
The software must set correctly these bits to insure that the VCO output frequency is between its valid frequency range, that is:
128 to 560MHz if PLL1VCOSEL = 0
150 to 420MHz if PLL1VCOSEL = 1
VCO output frequency = Fref1_ck x DIVN1, when fractional value 0 has been loaded into FRACN1, with:
DIVN1 between 8 and 420
The input frequency Fref1_ck must be between 1 and 16MHz.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>9</bitWidth>
              <access>read-write</access>
              <writeConstraint>
                <range>
                  <minimum>3</minimum>
                  <maximum>511</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>DIVP1</name>
              <description>PLL1 DIVP division factor
Set and reset by software to control the frequency of the pll1_p_ck clock.
These bits can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0).
Note that odd division factors are not allowed.
...</description>
              <bitOffset>9</bitOffset>
              <bitWidth>7</bitWidth>
              <access>read-write</access>
              <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
Set and reset by software to control the frequency of the pll1_q_ck clock.
These bits can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0).
...</description>
              <bitOffset>16</bitOffset>
              <bitWidth>7</bitWidth>
              <access>read-write</access>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>127</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>DIVR1</name>
              <description>PLL1 DIVR division factor
Set and reset by software to control the frequency of the pll1_r_ck clock.
These bits can be written only when the PLL1 is disabled (PLL1ON = 0 and PLL1RDY = 0).
...</description>
              <bitOffset>24</bitOffset>
              <bitWidth>7</bitWidth>
              <access>read-write</access>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>127</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>PLL1FRACR</name>
          <displayName>PLL1FRACR</displayName>
          <addressOffset>0x34</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>FRACN1</name>
              <description>fractional part of the multiplication factor for PLL1 VCO
Set and reset by software to control the fractional part of the multiplication factor of the VCO.
These bits can be written at any time, allowing dynamic fine-tuning of the PLL1 VCO.
The software must set correctly these bits to insure that the VCO output frequency is between its valid frequency range, that is:
128 to 560MHz if PLL1VCOSEL = 0
150 to 420MHz if PLL1VCOSEL = 1
VCO output frequency = Fref1_ck x (DIVN1 + (FRACN1 / 213)), with
DIVN1 between 8 and 420
FRACN1 can be between 0 and 213- 1
The input frequency Fref1_ck must be between 1 and 16 MHz.
To change the FRACN value on-the-fly even if the PLL is enabled, the application must proceed as follows:
Set the bit PLL1FRACEN to 0.
Write the new fractional value into FRACN1.
Set the bit PLL1FRACEN to 1.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>13</bitWidth>
              <access>read-write</access>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>8191</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>PLL2DIVR</name>
          <displayName>PLL2DIVR</displayName>
          <addressOffset>0x38</addressOffset>
          <size>0x20</size>
          <resetValue>0x01010280</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>DIVN2</name>
              <description>multiplication factor for PLL2 VCO
Set and reset by software to control the multiplication factor of the VCO.
These bits can be written only when the PLL is disabled (PLL2ON = PLL2RDY = 0).
..........: not used
...
...
Others: wrong configurations
The software must set correctly these bits to insure that the VCO output frequency is between its valid frequency range, that is:
128 to 560MHz if PLL2VCOSEL = 0
150 to 420MHz if PLL2VCOSEL = 1
VCO output frequency = Fref2_ck x DIVN2, when fractional value 0 has been loaded into FRACN2, with
DIVN2 between 8 and 420
The input frequency Fref2_ck must be between 1 and 16MHz.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>9</bitWidth>
              <access>read-write</access>
              <writeConstraint>
                <range>
                  <minimum>3</minimum>
                  <maximum>511</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>DIVP2</name>
              <description>PLL2 DIVP division factor
Set and reset by software to control the frequency of the pll2_p_ck clock.
These bits can be written only when the PLL2 is disabled (PLL2ON = PLL2RDY = 0).
...</description>
              <bitOffset>9</bitOffset>
              <bitWidth>7</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>DIVQ2</name>
              <description>PLL2 DIVQ division factor
Set and reset by software to control the frequency of the pll2_q_ck clock.
These bits can be written only when the PLL2 is disabled (PLL2ON = PLL2RDY = 0).
...</description>
              <bitOffset>16</bitOffset>
              <bitWidth>7</bitWidth>
              <access>read-write</access>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>127</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>DIVR2</name>
              <description>PLL2 DIVR division factor
Set and reset by software to control the frequency of the pll2_r_ck clock.
These bits can be written only when the PLL2 is disabled (PLL2ON = PLL2RDY = 0).
...</description>
              <bitOffset>24</bitOffset>
              <bitWidth>7</bitWidth>
              <access>read-write</access>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>127</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>PLL2FRACR</name>
          <displayName>PLL2FRACR</displayName>
          <addressOffset>0x3C</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>FRACN2</name>
              <description>fractional part of the multiplication factor for PLL2 VCO
Set and reset by software to control the fractional part of the multiplication factor of the VCO.
These bits can be written at any time, allowing dynamic fine-tuning of the PLL2 VCO.
The software must set correctly these bits to insure that the VCO output frequency is between its valid frequency range, that is:
128 to 560MHz if PLL2VCOSEL = 0
150 to 420MHz if PLL2VCOSEL = 1
VCO output frequency = Fref2_ck x (DIVN2 + (FRACN2 / 213)), with
DIVN2 between 8 and 420
FRACN2 can be between 0 and 213 - 1
The input frequency Fref2_ck must be between 1 and 16 MHz.
In order to change the FRACN value on-the-fly even if the PLL is enabled, the application must proceed as follows:
Set the bit PLL2FRACEN to 0.
Write the new fractional value into FRACN2.
Set the bit PLL2FRACEN to 1.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>13</bitWidth>
              <access>read-write</access>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>8191</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>PLL3DIVR</name>
          <displayName>PLL3DIVR</displayName>
          <addressOffset>0x40</addressOffset>
          <size>0x20</size>
          <resetValue>0x01010280</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>DIVN3</name>
              <description>Multiplication factor for PLL3 VCO
Set and reset by software to control the multiplication factor of the VCO.
These bits can be written only when the PLL is disabled (PLL3ON = PLL3RDY = 0).
...........: not used
...
...
Others: wrong configurations
The software must set correctly these bits to insure that the VCO output frequency is between its valid frequency range, that is:
128 to 560MHz if PLL3VCOSEL = 0
150 to 420MHz if PLL3VCOSEL = 1
VCO output frequency = Fref3_ck x DIVN3, when fractional value 0 has been loaded into FRACN3, with:
DIVN3 between 8 and 420
The input frequency Fref3_ck must be between 1 and 16MHz</description>
              <bitOffset>0</bitOffset>
              <bitWidth>9</bitWidth>
              <access>read-write</access>
              <writeConstraint>
                <range>
                  <minimum>3</minimum>
                  <maximum>511</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>DIVP3</name>
              <description>PLL3 DIVP division factor
Set and reset by software to control the frequency of the pll3_p_ck clock.
These bits can be written only when the PLL3 is disabled (PLL3ON = PLL3RDY = 0).
...</description>
              <bitOffset>9</bitOffset>
              <bitWidth>7</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>DIVQ3</name>
              <description>PLL3 DIVQ division factor
Set and reset by software to control the frequency of the pll3_q_ck clock.
These bits can be written only when the PLL3 is disabled (PLL3ON = PLL3RDY = 0).
...</description>
              <bitOffset>16</bitOffset>
              <bitWidth>7</bitWidth>
              <access>read-write</access>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>127</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>DIVR3</name>
              <description>PLL3 DIVR division factor
Set and reset by software to control the frequency of the pll3_r_ck clock.
These bits can be written only when the PLL3 is disabled (PLL3ON = PLL3RDY = 0).
...</description>
              <bitOffset>24</bitOffset>
              <bitWidth>7</bitWidth>
              <access>read-write</access>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>127</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>PLL3FRACR</name>
          <displayName>PLL3FRACR</displayName>
          <addressOffset>0x44</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>FRACN3</name>
              <description>fractional part of the multiplication factor for PLL3 VCO
Set and reset by software to control the fractional part of the multiplication factor of the VCO.
These bits can be written at any time, allowing dynamic fine-tuning of the PLL3 VCO.
The software must set correctly these bits to insure that the VCO output frequency is between its valid frequency range, that is:
128 to 560MHz if PLL3VCOSEL = 0
150 to 420MHz if PLL3VCOSEL = 1
VCO output frequency = Fref3_ck x (DIVN3 + (FRACN3 / 213)), with
DIVN3 between 8 and 420
FRACN3 can be between 0 and 213 - 1
The input frequency Fref3_ck must be between 1 and 16 MHz.
In order to change the FRACN value on-the-fly even if the PLL is enabled, the application must proceed as follows:
Set the bit PLL1FRACEN to 0.
Write the new fractional value into FRACN1.
Set the bit PLL1FRACEN to 1.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>13</bitWidth>
              <access>read-write</access>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>8191</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>CDCCIPR</name>
          <displayName>CDCCIPR</displayName>
          <description>RCC CPU domain kernel clock configuration register</description>
          <addressOffset>0x4C</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>FMCSEL</name>
              <description>FMC kernel clock source selection</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <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>OCTOSPISEL</name>
              <description>OCTOSPI kernel clock source selection</description>
              <bitOffset>4</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="FMCSEL"/>
            </field>
            <field>
              <name>SDMMCSEL</name>
              <description>SDMMC kernel clock source selection</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <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>
              <access>read-write</access>
              <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>CDCCIP1R</name>
          <displayName>CDCCIP1R</displayName>
          <description>RCC CPU domain kernel clock configuration register</description>
          <addressOffset>0x50</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>SAI1SEL</name>
              <description>SAI1 and DFSDM1 kernel Aclk clock source selection
Set and reset by software.
If the selected clock is the external clock and this clock is stopped, it isnot be possible to switch to another clock. Refer to  for additional information.
Note: DFSDM1 clock source selection is done by DFSDM1SEL.
others: reserved, the kernel clock is disabled
Note: I2S_CKIN is an external clock taken from a pin.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <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>SAI2ASEL</name>
              <description>SAI2 kernel clock source A selection
Set and reset by software.
If the selected clock is the external clock and this clock is stopped, it is not be possible to switch to another clock. Refer to  for additional information.
others: reserved, the kernel clock is disabled
Note: I2S_CKIN is an external clock taken from a pin. spdifrx_symb_ck is the symbol clock generated by the SPDIFRX (see ).</description>
              <bitOffset>6</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>SAI2ASEL</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>SAI2BSEL</name>
              <description>SAI2 kernel clock B source selection
Set and reset by software.
If the selected clock is the external clock and this clock is stopped, it is not be possible to switch to another clock. Refer to  for additional information.
others: reserved, the kernel clock is disabled
Note: I2S_CKIN is an external clock taken from a pin. spdifrx_symb_ck is the symbol clock generated by the spdifrx (see ).</description>
              <bitOffset>9</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="SAI2ASEL"/>
            </field>
            <field>
              <name>SPI123SEL</name>
              <description>SPI/I2S1,2 and 3 kernel clock source selection
Set and reset by software.
If the selected clock is the external clock and this clock is stopped, it is not be possible to switch to another clock. Refer to  for additional information.
others: reserved, the kernel clock is disabled
Note: I2S_CKIN is an external clock taken from a pin.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="SAI1SEL"/>
            </field>
            <field>
              <name>SPI45SEL</name>
              <description>SPI4 and 5 kernel clock source selection
Set and reset by software.
others: reserved, the kernel clock is disabled</description>
              <bitOffset>16</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <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>SPDIFRXSEL</name>
              <description>SPDIFRX kernel clock source selection</description>
              <bitOffset>20</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>SPDIFRXSEL</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 clock Clk source selection
Set and reset by software.
Note: the DFSDM1 Aclk clock source selection is done by SAI1SEL (see ).</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <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
Set and reset by software.</description>
              <bitOffset>28</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <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>SWPMISEL</name>
              <description>SWPMI kernel clock source selection
Set and reset by software.</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>SWPMISEL</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>CDCCIP2R</name>
          <displayName>CDCCIP2R</displayName>
          <description>RCC CPU domain kernel clock configuration register</description>
          <addressOffset>0x54</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>USART234578SEL</name>
              <description>USART2/3, UART4,5, 7 and 8 (APB1) kernel clock source selection
Set and reset by software.
others: reserved, the kernel clock is disabled</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <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>USART16910SEL</name>
              <description>USART1, 6, 9 and 10 kernel clock source selection
Set and reset by software.
others: reserved, the kernel clock is disabled</description>
              <bitOffset>3</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>USART16910SEL</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
Set and reset by software.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <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
Set and reset by software.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <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
Set and reset by software.</description>
              <bitOffset>20</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <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
Set and reset by software.</description>
              <bitOffset>22</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <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
Set and reset by software.
others: reserved, the kernel clock is disabled</description>
              <bitOffset>28</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <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>SRDCCIPR</name>
          <displayName>SRDCCIPR</displayName>
          <description>RCC SmartRun domain kernel clock configuration register</description>
          <addressOffset>0x58</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>LPUART1SEL</name>
              <description>LPUART1 kernel clock source selection
Set and reset by software.
others: reserved, the kernel clock is disabled</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <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
Set and reset by software.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <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
Set and reset by software.
others: reserved, the kernel clock is disabled</description>
              <bitOffset>10</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <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>LPTIM3SEL</name>
              <description>LPTIM3 kernel clock source selection
Set and reset by software.
others: reserved, the kernel clock is disabled</description>
              <bitOffset>13</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ADCSEL</name>
              <description>SAR ADC kernel clock source selection
Set and reset by software.
others: reserved, the kernel clock is disabled</description>
              <bitOffset>16</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <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>DFSDM2SEL</name>
              <description>DFSDM2 kernel Clk clock source selection
Set and reset by software.
Note: The DFSDM2 Aclk clock source selection is done by SPI6SEL (see  and ).</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>SPI6SEL</name>
              <description>SPI6 kernel clock source selection
Set and reset by software.
others: reserved, the kernel clock is disabled</description>
              <bitOffset>28</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <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>
          <addressOffset>0x60</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>LSIRDYIE</name>
              <description>LSI ready interrupt enable
Set and reset by software to enable/disable interrupt caused by the LSI oscillator stabilization.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <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
Set and reset by software to enable/disable interrupt caused by the LSE oscillator stabilization.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="LSIRDYIE"/>
            </field>
            <field>
              <name>HSIRDYIE</name>
              <description>HSI ready interrupt enable
Set and reset by software to enable/disable interrupt caused by the HSI oscillator stabilization.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="LSIRDYIE"/>
            </field>
            <field>
              <name>HSERDYIE</name>
              <description>HSE ready interrupt enable
Set and reset by software to enable/disable interrupt caused by the HSE oscillator stabilization.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="LSIRDYIE"/>
            </field>
            <field>
              <name>CSIRDYIE</name>
              <description>CSI ready interrupt enable
Set and reset by software to enable/disable interrupt caused by the CSI oscillator stabilization.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="LSIRDYIE"/>
            </field>
            <field>
              <name>HSI48RDYIE</name>
              <description>HSI48 ready interrupt enable
Set and reset by software to enable/disable interrupt caused by the HSI48 oscillator stabilization.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="LSIRDYIE"/>
            </field>
            <field>
              <name>PLL1RDYIE</name>
              <description>PLL1 ready interrupt enable
Set and reset by software to enable/disable interrupt caused by PLL1 lock.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="LSIRDYIE"/>
            </field>
            <field>
              <name>PLL2RDYIE</name>
              <description>PLL2 ready interrupt enable
Set and reset by software to enable/disable interrupt caused by PLL2 lock.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="LSIRDYIE"/>
            </field>
            <field>
              <name>PLL3RDYIE</name>
              <description>PLL3 ready interrupt enable
Set and reset by software to enable/disable interrupt caused by PLL3 lock.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="LSIRDYIE"/>
            </field>
            <field>
              <name>LSECSSIE</name>
              <description>LSE clock security system interrupt enable
Set and reset by software to enable/disable interrupt caused by the clock security system (CSS) on external 32 kHz oscillator.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="LSIRDYIE"/>
            </field>
          </fields>
        </register>
        <register>
          <name>CIFR</name>
          <displayName>CIFR</displayName>
          <addressOffset>0x64</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>LSIRDYF</name>
              <description>LSI ready interrupt flag
Reset by software by writing LSIRDYC bit.
Set by hardware when the LSI clock becomes stable and LSIRDYIE is set.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <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
Reset by software by writing LSERDYC bit.
Set by hardware when the LSE clock becomes stable and LSERDYIE is set.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues derivedFrom="LSIRDYFR"/>
            </field>
            <field>
              <name>HSIRDYF</name>
              <description>HSI ready interrupt flag
Reset by software by writing HSIRDYC bit.
Set by hardware when the HSI clock becomes stable and HSIRDYIE is set.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues derivedFrom="LSIRDYFR"/>
            </field>
            <field>
              <name>HSERDYF</name>
              <description>HSE ready interrupt flag
Reset by software by writing HSERDYC bit.
Set by hardware when the HSE clock becomes stable and HSERDYIE is set.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues derivedFrom="LSIRDYFR"/>
            </field>
            <field>
              <name>CSIRDYF</name>
              <description>CSI ready interrupt flag
Reset by software by writing CSIRDYC bit.
Set by hardware when the CSI clock becomes stable and CSIRDYIE is set.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues derivedFrom="LSIRDYFR"/>
            </field>
            <field>
              <name>HSI48RDYF</name>
              <description>HSI48 ready interrupt flag
Reset by software by writing HSI48RDYC bit.
Set by hardware when the HSI48 clock becomes stable and HSI48RDYIE is set.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues derivedFrom="LSIRDYFR"/>
            </field>
            <field>
              <name>PLL1RDYF</name>
              <description>PLL1 ready interrupt flag
Reset by software by writing PLL1RDYC bit.
Set by hardware when the PLL1 locks and PLL1RDYIE is set.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues derivedFrom="LSIRDYFR"/>
            </field>
            <field>
              <name>PLL2RDYF</name>
              <description>PLL2 ready interrupt flag
Reset by software by writing PLL2RDYC bit.
Set by hardware when the PLL2 locks and PLL2RDYIE is set.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues derivedFrom="LSIRDYFR"/>
            </field>
            <field>
              <name>PLL3RDYF</name>
              <description>PLL3 ready interrupt flag
Reset by software by writing PLL3RDYC bit.
Set by hardware when the PLL3 locks and PLL3RDYIE is set.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues derivedFrom="LSIRDYFR"/>
            </field>
            <field>
              <name>LSECSSF</name>
              <description>LSE clock security system interrupt flag
Reset by software by writing LSECSSC bit.
Set by hardware when a failure is detected on the external 32 kHz oscillator and LSECSSIE is set.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>HSECSSF</name>
              <description>HSE clock security system interrupt flag
Reset by software by writing HSECSSC bit.
Set by hardware in case of HSE clock failure.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>CICR</name>
          <displayName>CICR</displayName>
          <addressOffset>0x68</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>LSIRDYC</name>
              <description>LSI ready interrupt clear
Set by software to clear LSIRDYF.
Reset by hardware when clear done.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <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
Set by software to clear LSERDYF.
Reset by hardware when clear done.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="LSIRDYC"/>
            </field>
            <field>
              <name>HSIRDYC</name>
              <description>HSI ready interrupt clear
Set by software to clear HSIRDYF.
Reset by hardware when clear done.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="LSIRDYC"/>
            </field>
            <field>
              <name>HSERDYC</name>
              <description>HSE ready interrupt clear
Set by software to clear HSERDYF.
Reset by hardware when clear done.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="LSIRDYC"/>
            </field>
            <field>
              <name>CSIRDYC</name>
              <description>CSI ready interrupt clear
Set by software to clear CSIRDYF.
Reset by hardware when clear done.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="LSIRDYC"/>
            </field>
            <field>
              <name>HSI48RDYC</name>
              <description>HSI48 ready interrupt clear
Set by software to clear HSI48RDYF.
Reset by hardware when clear done.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="LSIRDYC"/>
            </field>
            <field>
              <name>PLL1RDYC</name>
              <description>PLL1 ready interrupt clear
Set by software to clear PLL1RDYF.
Reset by hardware when clear done.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="LSIRDYC"/>
            </field>
            <field>
              <name>PLL2RDYC</name>
              <description>PLL2 ready interrupt clear
Set by software to clear PLL2RDYF.
Reset by hardware when clear done.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="LSIRDYC"/>
            </field>
            <field>
              <name>PLL3RDYC</name>
              <description>PLL3 ready interrupt clear
Set by software to clear PLL3RDYF.
Reset by hardware when clear done.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="LSIRDYC"/>
            </field>
            <field>
              <name>LSECSSC</name>
              <description>LSE clock security system interrupt clear
Set by software to clear LSECSSF.
Reset by hardware when clear done.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="LSIRDYC"/>
            </field>
            <field>
              <name>HSECSSC</name>
              <description>HSE clock security system interrupt clear
Set by software to clear HSECSSF.
Reset by hardware when clear done.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <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>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>LSEON</name>
              <description>LSE oscillator enabled
Set and reset by software.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <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
Set and reset by hardware to indicate when the LSE is stable. This bit needs 6 cycles of lse_ck clock to fall down after LSEON has been set to 0.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>LSERDYR</name>
                <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
Set and reset by software to bypass oscillator in debug mode. This bit must not be written when the LSE is enabled (by LSEON) or ready (LSERDY = 1)</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <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
Set by software to select the driving capability of the LSE oscillator.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <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
Set by software to enable the clock security system on 32 kHz oscillator.
LSECSSON must be enabled after LSE is enabled (LSEON enabled) and ready (LSERDY set by hardware) and after RTCSEL is selected.
Once enabled, this bit cannot be disabled, except after a LSE failure detection (LSECSSD = 1). In that case the software must disable LSECSSON.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <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
Set by hardware to indicate when a failure has been detected by the clock security system on the external 32 kHz oscillator.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>LSECSSDR</name>
                <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>LSEEXT</name>
              <description>low-speed external clock type in Bypass mode
Set and reset by software to select the external clock type (analog or digital).
The external clock must be enabled with the LSEON bit, to be used by the device.
The LSEEXT bit can be written only if the LSE oscillator is disabled.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>RTCSEL</name>
              <description>RTC clock source selection
Set by software to select the clock source for the RTC. These bits can be written only one time (except in case of failure detection on LSE). These bits must be written before LSECSSON is enabled. The VSWRST bit can be used to reset them, then it can be written one time again.
If HSE is selected as RTC clock, this clock is lost when the system is in Stop mode or in case of a pin reset (NRST).</description>
              <bitOffset>8</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-writeOnce</access>
              <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
Set and reset by software.</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <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>VSWRST</name>
              <description>VSwitch domain software reset
Set and reset by software.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>VSWRST</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>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>LSION</name>
              <description>LSI oscillator enable
Set and reset by software.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <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
Set and reset by hardware to indicate when the low-speed internal RC oscillator is stable.
This bit needs 3 cycles of lsi_ck clock to fall down after LSION has been set to 0.
This bit can be set even when LSION is not enabled if there is a request for LSI clock by the clock security system on LSE or by the low-speed watchdog or by the RTC.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>LSIRDYR</name>
                <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>
          <addressOffset>0x7C</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>MDMARST</name>
              <description>MDMA block reset
Set and reset by software.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <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
Set and reset by software.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="MDMARST"/>
            </field>
            <field>
              <name>JPGDECRST</name>
              <description>JPGDEC block reset
Set and reset by software.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="MDMARST"/>
            </field>
            <field>
              <name>FMCRST</name>
              <description>FMC block reset
Set and reset by software.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="MDMARST"/>
            </field>
            <field>
              <name>OCTOSPI1RST</name>
              <description>OCTOSPI1 and OCTOSPI1 delay blocks reset
Set and reset by software.</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="MDMARST"/>
            </field>
            <field>
              <name>SDMMC1RST</name>
              <description>SDMMC1 and SDMMC1 delay blocks reset
Set and reset by software.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="MDMARST"/>
            </field>
            <field>
              <name>OCTOSPI2RST</name>
              <description>OCTOSPI2 and OCTOSPI2 delay block reset
Set and reset by software</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="MDMARST"/>
            </field>
            <field>
              <name>OCTOSPIMRST</name>
              <description>OCTOSPIM reset
Set and reset by software</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="MDMARST"/>
            </field>
            <field>
              <name>OTFD1RST</name>
              <description>OTFD1 reset
Set and reset by software
Take care that resetting the OTFD means loosing the decryption key loaded during secure boot.</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="MDMARST"/>
            </field>
            <field>
              <name>OTFD2RST</name>
              <description>OTFD2 reset
Set and reset by software
Take care that resetting the OTFD means loosing the decryption key loaded during secure boot.</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="MDMARST"/>
            </field>
            <field>
              <name>GFXMMURST</name>
              <description>GFXMMU reset
Set and reset by software</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="MDMARST"/>
            </field>
          </fields>
        </register>
        <register>
          <name>AHB1RSTR</name>
          <displayName>AHB1RSTR</displayName>
          <addressOffset>0x80</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>DMA1RST</name>
              <description>DMA1 and DMAMUX1 blocks reset
Set and reset by software.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <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 and DMAMUX2 blocks reset
Set and reset by software.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="DMA1RST"/>
            </field>
            <field>
              <name>ADC12RST</name>
              <description>ADC1 and 2 blocks reset
Set and reset by software.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="DMA1RST"/>
            </field>
            <field>
              <name>CRCRST</name>
              <description>CRC block reset
Set and reset by software.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="DMA1RST"/>
            </field>
            <field>
              <name>USB1OTGRST</name>
              <description>USB1OTG block reset
Set and reset by software.</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="DMA1RST"/>
            </field>
          </fields>
        </register>
        <register>
          <name>AHB2RSTR</name>
          <displayName>AHB2RSTR</displayName>
          <addressOffset>0x84</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>DCMI_PSSIRST</name>
              <description>digital camera interface block reset (DCMI or PSSI depending which IP is active)
Set and reset by software.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>DCMI_PSSIRST</name>
                <enumeratedValue>
                  <name>Reset</name>
                  <description>Reset the selected module</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>HSEMRST</name>
              <description>HSEM block reset
Set and reset by software.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="DCMI_PSSIRST"/>
            </field>
            <field>
              <name>CRYPTRST</name>
              <description>cryptography block reset
Set and reset by software.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="DCMI_PSSIRST"/>
            </field>
            <field>
              <name>HASHRST</name>
              <description>hash block reset
Set and reset by software.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="DCMI_PSSIRST"/>
            </field>
            <field>
              <name>RNGRST</name>
              <description>random number generator block reset
Set and reset by software.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="DCMI_PSSIRST"/>
            </field>
            <field>
              <name>SDMMC2RST</name>
              <description>SDMMC2 and SDMMC2 delay blocks reset
Set and reset by software.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="DCMI_PSSIRST"/>
            </field>
            <field>
              <name>BDMA1RST</name>
              <description>BDMA1 reset (DFSDM dedicated DMA)
Set and reset by software.</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="DCMI_PSSIRST"/>
            </field>
          </fields>
        </register>
        <register>
          <name>AHB4RSTR</name>
          <displayName>AHB4RSTR</displayName>
          <addressOffset>0x88</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>GPIOARST</name>
              <description>GPIOA block reset
Set and reset by software.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <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>GPIOB block reset
Set and reset by software.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="GPIOARST"/>
            </field>
            <field>
              <name>GPIOCRST</name>
              <description>GPIOC block reset
Set and reset by software.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="GPIOARST"/>
            </field>
            <field>
              <name>GPIODRST</name>
              <description>GPIOD block reset
Set and reset by software.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="GPIOARST"/>
            </field>
            <field>
              <name>GPIOERST</name>
              <description>GPIOE block reset
Set and reset by software.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="GPIOARST"/>
            </field>
            <field>
              <name>GPIOFRST</name>
              <description>GPIOF block reset
Set and reset by software.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="GPIOARST"/>
            </field>
            <field>
              <name>GPIOGRST</name>
              <description>GPIOG block reset
Set and reset by software.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="GPIOARST"/>
            </field>
            <field>
              <name>GPIOHRST</name>
              <description>GPIOH block reset
Set and reset by software.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="GPIOARST"/>
            </field>
            <field>
              <name>GPIOIRST</name>
              <description>GPIOI block reset
Set and reset by software.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="GPIOARST"/>
            </field>
            <field>
              <name>GPIOJRST</name>
              <description>GPIOJ block reset
Set and reset by software.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="GPIOARST"/>
            </field>
            <field>
              <name>GPIOKRST</name>
              <description>GPIOK block reset
Set and reset by software.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="GPIOARST"/>
            </field>
            <field>
              <name>BDMA2RST</name>
              <description>SmartRun domain DMA and DMAMUX blocks reset
Set and reset by software.</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="GPIOARST"/>
            </field>
          </fields>
        </register>
        <register>
          <name>APB3RSTR</name>
          <displayName>APB3RSTR</displayName>
          <addressOffset>0x8C</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>LTDCRST</name>
              <description>LTDC block reset
Set and reset by software.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <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>
          <addressOffset>0x90</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>TIM2RST</name>
              <description>TIM2 block reset
Set and reset by software.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <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>TIM3 block reset
Set and reset by software.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2RST"/>
            </field>
            <field>
              <name>TIM4RST</name>
              <description>TIM4 block reset
Set and reset by software.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2RST"/>
            </field>
            <field>
              <name>TIM5RST</name>
              <description>TIM5 block reset
Set and reset by software.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2RST"/>
            </field>
            <field>
              <name>TIM6RST</name>
              <description>TIM6 block reset
Set and reset by software.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2RST"/>
            </field>
            <field>
              <name>TIM7RST</name>
              <description>TIM7 block reset
Set and reset by software.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2RST"/>
            </field>
            <field>
              <name>TIM12RST</name>
              <description>TIM12 block reset
Set and reset by software.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2RST"/>
            </field>
            <field>
              <name>TIM13RST</name>
              <description>TIM13 block reset
Set and reset by software.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2RST"/>
            </field>
            <field>
              <name>TIM14RST</name>
              <description>TIM14 block reset
Set and reset by software.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2RST"/>
            </field>
            <field>
              <name>LPTIM1RST</name>
              <description>LPTIM1 block reset
Set and reset by software.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2RST"/>
            </field>
            <field>
              <name>SPI2RST</name>
              <description>SPI2 block reset
Set and reset by software.</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2RST"/>
            </field>
            <field>
              <name>SPI3RST</name>
              <description>SPI3 block reset
Set and reset by software.</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2RST"/>
            </field>
            <field>
              <name>SPDIFRXRST</name>
              <description>SPDIFRX block reset
Set and reset by software.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2RST"/>
            </field>
            <field>
              <name>USART2RST</name>
              <description>USART2 block reset
Set and reset by software.</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2RST"/>
            </field>
            <field>
              <name>USART3RST</name>
              <description>USART3 block reset
Set and reset by software.</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2RST"/>
            </field>
            <field>
              <name>UART4RST</name>
              <description>UART4 block reset
Set and reset by software.</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2RST"/>
            </field>
            <field>
              <name>UART5RST</name>
              <description>UART5 block reset
Set and reset by software.</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2RST"/>
            </field>
            <field>
              <name>I2C1RST</name>
              <description>I2C1 block reset
Set and reset by software.</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2RST"/>
            </field>
            <field>
              <name>I2C2RST</name>
              <description>I2C2 block reset
Set and reset by software.</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2RST"/>
            </field>
            <field>
              <name>I2C3RST</name>
              <description>I2C3 block reset
Set and reset by software.</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2RST"/>
            </field>
            <field>
              <name>CECRST</name>
              <description>HDMI-CEC block reset
Set and reset by software.</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2RST"/>
            </field>
            <field>
              <name>DAC1RST</name>
              <description>DAC1 (containing two converters) reset
Set and reset by software.</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2RST"/>
            </field>
            <field>
              <name>UART7RST</name>
              <description>UART7 block reset
Set and reset by software.</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2RST"/>
            </field>
            <field>
              <name>UART8RST</name>
              <description>UART8 block reset
Set and reset by software.</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2RST"/>
            </field>
          </fields>
        </register>
        <register>
          <name>APB1HRSTR</name>
          <displayName>APB1HRSTR</displayName>
          <addressOffset>0x94</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>CRSRST</name>
              <description>clock recovery system reset
Set and reset by software.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>CRSRST</name>
                <enumeratedValue>
                  <name>Reset</name>
                  <description>Reset the selected module</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SWPMIRST</name>
              <description>SWPMI block reset
Set and reset by software.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="CRSRST"/>
            </field>
            <field>
              <name>OPAMPRST</name>
              <description>OPAMP block reset
Set and reset by software.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="CRSRST"/>
            </field>
            <field>
              <name>MDIOSRST</name>
              <description>MDIOS block reset
Set and reset by software.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="CRSRST"/>
            </field>
            <field>
              <name>FDCANRST</name>
              <description>FDCAN block reset
Set and reset by software.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="CRSRST"/>
            </field>
          </fields>
        </register>
        <register>
          <name>APB2RSTR</name>
          <displayName>APB2RSTR</displayName>
          <addressOffset>0x98</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>TIM1RST</name>
              <description>TIM1 block reset
Set and reset by software.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <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
Set and reset by software.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM1RST"/>
            </field>
            <field>
              <name>USART1RST</name>
              <description>USART1 block reset
Set and reset by software.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM1RST"/>
            </field>
            <field>
              <name>USART6RST</name>
              <description>USART6 block reset
Set and reset by software.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM1RST"/>
            </field>
            <field>
              <name>UART9RST</name>
              <description>UART9 block reset
Set and reset by software.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM1RST"/>
            </field>
            <field>
              <name>USART10RST</name>
              <description>USART10 block reset
Set and reset by software.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM1RST"/>
            </field>
            <field>
              <name>SPI1RST</name>
              <description>SPI1 block reset
Set and reset by software.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM1RST"/>
            </field>
            <field>
              <name>SPI4RST</name>
              <description>SPI4 block reset
Set and reset by software.</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM1RST"/>
            </field>
            <field>
              <name>TIM15RST</name>
              <description>TIM15 block reset
Set and reset by software.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM1RST"/>
            </field>
            <field>
              <name>TIM16RST</name>
              <description>TIM16 block reset
Set and reset by software.</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM1RST"/>
            </field>
            <field>
              <name>TIM17RST</name>
              <description>TIM17 block reset
Set and reset by software.</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM1RST"/>
            </field>
            <field>
              <name>SPI5RST</name>
              <description>SPI5 block reset
Set and reset by software.</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM1RST"/>
            </field>
            <field>
              <name>SAI1RST</name>
              <description>SAI1 block reset
Set and reset by software.</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM1RST"/>
            </field>
            <field>
              <name>SAI2RST</name>
              <description>SAI2 block reset
Set and reset by software.</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM1RST"/>
            </field>
            <field>
              <name>DFSDM1RST</name>
              <description>DFSDM1 block reset
Set and reset by software.</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM1RST"/>
            </field>
          </fields>
        </register>
        <register>
          <name>APB4RSTR</name>
          <displayName>APB4RSTR</displayName>
          <addressOffset>0x9C</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>SYSCFGRST</name>
              <description>SYSCFG block reset
Set and reset by software.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <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
Set and reset by software.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="SYSCFGRST"/>
            </field>
            <field>
              <name>SPI6RST</name>
              <description>SPI6 block reset
Set and reset by software.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="SYSCFGRST"/>
            </field>
            <field>
              <name>I2C4RST</name>
              <description>I2C4 block reset
Set and reset by software.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="SYSCFGRST"/>
            </field>
            <field>
              <name>LPTIM2RST</name>
              <description>LPTIM2 block reset
Set and reset by software.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="SYSCFGRST"/>
            </field>
            <field>
              <name>LPTIM3RST</name>
              <description>LPTIM3 block reset
Set and reset by software.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="SYSCFGRST"/>
            </field>
            <field>
              <name>DAC2RST</name>
              <description>DAC2 (containing one converter) reset
Set and reset by software.</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="SYSCFGRST"/>
            </field>
            <field>
              <name>COMP12RST</name>
              <description>COMP1 and 2 blocks reset
Set and reset by software.</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="SYSCFGRST"/>
            </field>
            <field>
              <name>VREFRST</name>
              <description>VREF block reset
Set and reset by software.</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="SYSCFGRST"/>
            </field>
            <field>
              <name>DTSRST</name>
              <description>Digital temperature sensor block reset
Set and reset by software.</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="SYSCFGRST"/>
            </field>
            <field>
              <name>DFSDM2RST</name>
              <description>DFSDM2 block reset
Set and reset by software.</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="SYSCFGRST"/>
            </field>
          </fields>
        </register>
        <register>
          <name>GCR</name>
          <description>Global Control Register</description>
          <addressOffset>0xA0</addressOffset>
          <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>SRDAMR</name>
          <displayName>SRDAMR</displayName>
          <description>RCC SmartRun domain Autonomous mode register</description>
          <addressOffset>0xA8</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>BDMA2AMEN</name>
              <description>SmartRun domain DMA and DMAMUX Autonomous mode enable
Set and reset by software.
Refer to  for additional information.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>BDMA2AMEN</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>GPIOAMEN</name>
              <description>GPIO Autonomous mode enable
Set and reset by software.
Refer to  for additional information.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="BDMA2AMEN"/>
            </field>
            <field>
              <name>LPUART1AMEN</name>
              <description>LPUART1 Autonomous mode enable
Set and reset by software.
Refer to  for additional information.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="BDMA2AMEN"/>
            </field>
            <field>
              <name>SPI6AMEN</name>
              <description>SPI6 Autonomous mode enable
Set and reset by software.
Refer to  for additional information.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="BDMA2AMEN"/>
            </field>
            <field>
              <name>I2C4AMEN</name>
              <description>I2C4 Autonomous mode enable
Set and reset by software.
Refer to  for additional information.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="BDMA2AMEN"/>
            </field>
            <field>
              <name>LPTIM2AMEN</name>
              <description>LPTIM2 Autonomous mode enable
Set and reset by software.
Refer to  for additional information</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="BDMA2AMEN"/>
            </field>
            <field>
              <name>LPTIM3AMEN</name>
              <description>LPTIM3 Autonomous mode enable
Set and reset by software.
Refer to  for additional information.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="BDMA2AMEN"/>
            </field>
            <field>
              <name>DAC2AMEN</name>
              <description>DAC2 (containing one converter) Autonomous mode enable
Set and reset by software.
Refer to  for additional information.</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="BDMA2AMEN"/>
            </field>
            <field>
              <name>COMP12AMEN</name>
              <description>COMP1 and 2 Autonomous mode enable
Set and reset by software.
Refer to  for additional information.</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="BDMA2AMEN"/>
            </field>
            <field>
              <name>VREFAMEN</name>
              <description>VREF Autonomous mode enable
Set and reset by software.
Refer to  for additional information.</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="BDMA2AMEN"/>
            </field>
            <field>
              <name>RTCAMEN</name>
              <description>RTC Autonomous mode enable
Set and reset by software.
Refer to  for additional information.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="BDMA2AMEN"/>
            </field>
            <field>
              <name>DTSAMEN</name>
              <description>Digital temperature sensor Autonomous mode enable
Set and reset by software.
Refer to  for additional information.</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="BDMA2AMEN"/>
            </field>
            <field>
              <name>DFSDM2AMEN</name>
              <description>DFSDM2 Autonomous mode enable
Set and reset by software.
Refer to  for additional information.</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="BDMA2AMEN"/>
            </field>
            <field>
              <name>BKPRAMAMEN</name>
              <description>Backup RAM Autonomous mode enable
Set and reset by software.
Refer to  for additional information.</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="BDMA2AMEN"/>
            </field>
            <field>
              <name>SRDSRAMAMEN</name>
              <description>SmartRun domain SRAM Autonomous mode enable
Set and reset by software.
Refer to  for additional information.</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="BDMA2AMEN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>CKGAENR</name>
          <displayName>CKGAENR</displayName>
          <description>RCC AXI clocks gating enable register</description>
          <addressOffset>0xB0</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>AXICKG</name>
              <description>AXI interconnect matrix clock gating
This bit is set and reset by software.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>AHBCKG</name>
              <description>AXI master AHB clock gating
This bit is set and reset by software.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>CPUCKG</name>
              <description>AXI master CPU clock gating
This bit is set and reset by software.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>SDMMCCKG</name>
              <description>AXI master SDMMC clock gating
This bit is set and reset by software.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>MDMACKG</name>
              <description>AXI master MDMA clock gating
This bit is set and reset by software.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>DMA2DCKG</name>
              <description>AXI master DMA2D clock gating
This bit is set and reset by software.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>LTDCCKG</name>
              <description>AXI master LTDC clock gating
This bit is set and reset by software.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>GFXMMUMCKG</name>
              <description>AXI master GFXMMU clock gating
This bit is set and reset by software.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>AHB12CKG</name>
              <description>AXI slave AHB12 clock gating
This bit is set and reset by software.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>AHB34CKG</name>
              <description>AXI slave AHB34 clock gating
This bit is set and reset by software.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>FLIFTCKG</name>
              <description>AXI slave Flash interface (FLIFT) clock gating
This bit is set and reset by software.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>OCTOSPI2CKG</name>
              <description>AXI slave OCTOSPI2 clock gating
This bit is set and reset by software.</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>FMCCKG</name>
              <description>AXI slave FMC clock gating
This bit is set and reset by software.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>OCTOSPI1CKG</name>
              <description>AXI slave OCTOSPI1 clock gating
This bit is set and reset by software.</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>AXIRAM1CKG</name>
              <description>AXI slave SRAM1 clock gating
This bit is set and reset by software.</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>AXIRAM2CKG</name>
              <description>AXI matrix slave SRAM2 clock gating
This bit is set and reset by software.</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>AXIRAM3CKG</name>
              <description>AXI matrix slave SRAM3 clock gating
This bit is set and reset by software.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>GFXMMUSCKG</name>
              <description>AXI matrix slave GFXMMU clock gating
This bit is set and reset by software.</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ECCRAMCKG</name>
              <description>RAM error code correction (ECC) clock gating
This bit is set and reset by software.</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>EXTICKG</name>
              <description>EXTI clock gating
This bit is set and reset by software.</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>JTAGCKG</name>
              <description>JTAG automatic clock gating
This bit is set and reset by software.</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>RSR</name>
          <displayName>RSR</displayName>
          <description>RCC reset status register</description>
          <addressOffset>0x130</addressOffset>
          <size>0x20</size>
          <resetValue>0x00E80000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>RMVF</name>
              <description>remove reset flag
Set and reset by software to reset the value of the reset flags.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <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>CDRSTF</name>
              <description>CPU domain power-switch reset flag
Reset by software by writing the RMVF bit.
Set by hardware when a the CPU domain exits from DStop or after of power-on reset. Set also when the CPU domain exists DStop2 but only when a pad reset has occurred during DStop2 (PINRST bit also set by hardware)</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>CDRSTFR</name>
                <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>BORRSTF</name>
              <description>BOR reset flag
Reset by software by writing the RMVF bit.
Set by hardware when a BOR reset occurs (pwr_bor_rst).</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues derivedFrom="CDRSTFR"/>
            </field>
            <field>
              <name>PINRSTF</name>
              <description>pin reset flag (NRST)
Reset by software by writing the RMVF bit.
Set by hardware when a reset from pin occurs.</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues derivedFrom="CDRSTFR"/>
            </field>
            <field>
              <name>PORRSTF</name>
              <description>POR/PDR reset flag
Reset by software by writing the RMVF bit.
Set by hardware when a POR/PDR reset occurs.</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues derivedFrom="CDRSTFR"/>
            </field>
            <field>
              <name>SFTRSTF</name>
              <description>system reset from CPU reset flag
Reset by software by writing the RMVF bit.
Set by hardware when the system reset is due to CPU.The CPU can generate a system reset by writing SYSRESETREQ bit of AIRCR register of the core M7.</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues derivedFrom="CDRSTFR"/>
            </field>
            <field>
              <name>IWDGRSTF</name>
              <description>independent watchdog reset flag
Reset by software by writing the RMVF bit.
Set by hardware when an independent watchdog reset occurs.</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues derivedFrom="CDRSTFR"/>
            </field>
            <field>
              <name>WWDGRSTF</name>
              <description>window watchdog reset flag
Reset by software by writing the RMVF bit.
Set by hardware when a window watchdog reset occurs.</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues derivedFrom="CDRSTFR"/>
            </field>
            <field>
              <name>LPWRRSTF</name>
              <description>reset due to illegal CD DStop or CD DStop2 or CPU CStop flag
Reset by software by writing the RMVF bit.
Set by hardware when the CPU domain goes erroneously in DStop or DStop2, or when the CPU goes erroneously in CStop.</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues derivedFrom="CDRSTFR"/>
            </field>
          </fields>
        </register>
        <register>
          <name>AHB3ENR</name>
          <displayName>AHB3ENR</displayName>
          <addressOffset>0x134</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>MDMAEN</name>
              <description>MDMA peripheral clock enable
Set and reset by software.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <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
Set and reset by software.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="MDMAEN"/>
            </field>
            <field>
              <name>JPGDECEN</name>
              <description>JPGDEC peripheral clock enable
Set and reset by software.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="MDMAEN"/>
            </field>
            <field>
              <name>FMCEN</name>
              <description>FMC peripheral clocks enable
Set and reset by software.
The peripheral clocks of the FMC are the kernel clock selected by FMCSEL and provided to fmc_ker_ck input, and the rcc_hclk3 bus interface clock.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="MDMAEN"/>
            </field>
            <field>
              <name>OCTOSPI1EN</name>
              <description>OCTOSPI1 and OCTOSPI1 delay clock enable
Set and reset by software.</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="MDMAEN"/>
            </field>
            <field>
              <name>SDMMC1EN</name>
              <description>SDMMC1 and SDMMC1 delay clock enable
Set and reset by software.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="MDMAEN"/>
            </field>
            <field>
              <name>OCTOSPI2EN</name>
              <description>OCTOSPI2 clock enable
Set and reset by software.</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="MDMAEN"/>
            </field>
            <field>
              <name>OCTOSPIMEN</name>
              <description>OCTOSPIM clock enable
Set and reset by software.</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="MDMAEN"/>
            </field>
            <field>
              <name>OTFD1EN</name>
              <description>OTFD1 clock enable
Set and reset by software.</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="MDMAEN"/>
            </field>
            <field>
              <name>OTFD2EN</name>
              <description>OTFD2 clock enable
Set and reset by software.</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="MDMAEN"/>
            </field>
            <field>
              <name>GFXMMUEN</name>
              <description>GFXMMU clock enable
Set and reset by software.</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="MDMAEN"/>
            </field>
            <field>
              <name>DTCM1EN</name>
              <description>D1 DTCM1 block enable</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MDMAEN"/>
            </field>
            <field>
              <name>DTCM2EN</name>
              <description>D1 DTCM2 block enable</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MDMAEN"/>
            </field>
            <field>
              <name>ITCM1EN</name>
              <description>D1 ITCM block enable</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MDMAEN"/>
            </field>
            <field>
              <name>AXISRAMEN</name>
              <description>AXISRAM block enable</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MDMAEN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>AHB1ENR</name>
          <displayName>AHB1ENR</displayName>
          <addressOffset>0x138</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>DMA1EN</name>
              <description>DMA1 clock enable
Set and reset by software.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <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
Set and reset by software.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="DMA1EN"/>
            </field>
            <field>
              <name>ADC12EN</name>
              <description>ADC1 and 2 peripheral clocks enable
Set and reset by software.
The peripheral clocks of the ADC1 and 2 are the kernel clock selected by ADCSEL and provided to adc_ker_ck input, and the rcc_hclk1 bus interface clock.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="DMA1EN"/>
            </field>
            <field>
              <name>CRCEN</name>
              <description>CRC peripheral clock enable
Set and reset by software.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="DMA1EN"/>
            </field>
            <field>
              <name>USB1OTGEN</name>
              <description>USB1OTG peripheral clocks enable
Set and reset by software.
The peripheral clocks of the USB1OTG are the kernel clock selected by USBSEL and the rcc_hclk1 bus interface clock.</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="DMA1EN"/>
            </field>
            <field>
              <name>USB1OTGULPIEN</name>
              <description>USB_PHY1 clocks enable
Set and reset by software.</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="DMA1EN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>AHB2ENR</name>
          <displayName>AHB2ENR</displayName>
          <addressOffset>0x13C</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>DCMI_PSSIEN</name>
              <description>digital camera interface peripheral clock enable (DCMI or PSSI depending which IP is active)
Set and reset by software.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>DCMI_PSSIEN</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>HSEMEN</name>
              <description>HSEM peripheral clock enable
Set and reset by software.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="DCMI_PSSIEN"/>
            </field>
            <field>
              <name>CRYPTEN</name>
              <description>CRYPT peripheral clock enable
Set and reset by software.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="DCMI_PSSIEN"/>
            </field>
            <field>
              <name>HASHEN</name>
              <description>HASH peripheral clock enable
Set and reset by software.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="DCMI_PSSIEN"/>
            </field>
            <field>
              <name>RNGEN</name>
              <description>RNG peripheral clocks enable
Set and reset by software.
The peripheral clocks of the RNG are the kernel clock selected by RNGSEL and provided to rng_clk input, and the rcc_hclk2 bus interface clock.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="DCMI_PSSIEN"/>
            </field>
            <field>
              <name>SDMMC2EN</name>
              <description>SDMMC2 and SDMMC2 delay clock enable
Set and reset by software.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="DCMI_PSSIEN"/>
            </field>
            <field>
              <name>BDMA1EN</name>
              <description>DMA clock enable (DFSDM dedicated DMA)
Set and reset by software.</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="DCMI_PSSIEN"/>
            </field>
            <field>
              <name>AHBSRAM1EN</name>
              <description>AHBSRAM1 block enable
Set and reset by software.
When set, this bit indicates that the SRAM1 is allocated by the CPU. It causes the CPU domain to take into account also the CPU operation modes, keeping the CPU domain in DRun when the CPU is in CRun.</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="DCMI_PSSIEN"/>
            </field>
            <field>
              <name>AHBSRAM2EN</name>
              <description>AHBSRAM2 block enable
Set and reset by software.
When set, this bit indicates that the SRAM2 is allocated by the CPU. It causes the CPU domain to take into account also the CPU operation modes, keeping the CPU domain in DRun when the CPU is in CRun.</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="DCMI_PSSIEN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>AHB4ENR</name>
          <displayName>AHB4ENR</displayName>
          <addressOffset>0x140</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>GPIOAEN</name>
              <description>GPIOA peripheral clock enable
Set and reset by software.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <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>GPIOB peripheral clock enable
Set and reset by software.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="GPIOAEN"/>
            </field>
            <field>
              <name>GPIOCEN</name>
              <description>GPIOC peripheral clock enable
Set and reset by software.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="GPIOAEN"/>
            </field>
            <field>
              <name>GPIODEN</name>
              <description>GPIOD peripheral clock enable
Set and reset by software.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="GPIOAEN"/>
            </field>
            <field>
              <name>GPIOEEN</name>
              <description>GPIOE peripheral clock enable
Set and reset by software.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="GPIOAEN"/>
            </field>
            <field>
              <name>GPIOFEN</name>
              <description>GPIOF peripheral clock enable
Set and reset by software.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="GPIOAEN"/>
            </field>
            <field>
              <name>GPIOGEN</name>
              <description>GPIOG peripheral clock enable
Set and reset by software.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="GPIOAEN"/>
            </field>
            <field>
              <name>GPIOHEN</name>
              <description>GPIOH peripheral clock enable
Set and reset by software.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="GPIOAEN"/>
            </field>
            <field>
              <name>GPIOIEN</name>
              <description>GPIOI peripheral clock enable
Set and reset by software.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="GPIOAEN"/>
            </field>
            <field>
              <name>GPIOJEN</name>
              <description>GPIOJ peripheral clock enable
Set and reset by software.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="GPIOAEN"/>
            </field>
            <field>
              <name>GPIOKEN</name>
              <description>GPIOK peripheral clock enable
Set and reset by software.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="GPIOAEN"/>
            </field>
            <field>
              <name>BDMA2EN</name>
              <description>SmartRun domain DMA and DMAMUX clock enable
Set and reset by software.</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="GPIOAEN"/>
            </field>
            <field>
              <name>BKPRAMEN</name>
              <description>Backup RAM clock enable
Set and reset by software.</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="GPIOAEN"/>
            </field>
            <field>
              <name>SRDSRAMEN</name>
              <description>SmartRun domain SRAM clock enable
Set and reset by software.</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="GPIOAEN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>APB3ENR</name>
          <displayName>APB3ENR</displayName>
          <addressOffset>0x144</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>LTDCEN</name>
              <description>LTDC clock enable
Provides the clock (ltdc_pclk, ltdc_aclk, ltdc_ker_ck) to the LTDC block.
Set and reset by software.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <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>WWDGEN</name>
              <description>WWDG clock enable
Set by software, and reset by hardware when a system reset occurs.
Note that in order to work properly, before enabling the WWDG, the bit WW1RSC must be set to 1.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="LTDCEN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>APB1LENR</name>
          <displayName>APB1LENR</displayName>
          <addressOffset>0x148</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>TIM2EN</name>
              <description>TIM2 peripheral clock enable
Set and reset by software.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <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>TIM3 peripheral clock enable
Set and reset by software.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>TIM4EN</name>
              <description>TIM4 peripheral clock enable
Set and reset by software.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>TIM5EN</name>
              <description>TIM5 peripheral clock enable
Set and reset by software.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>TIM6EN</name>
              <description>TIM6 peripheral clock enable
Set and reset by software.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>TIM7EN</name>
              <description>TIM7 peripheral clock enable
Set and reset by software.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>TIM12EN</name>
              <description>TIM12 peripheral clock enable
Set and reset by software.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>TIM13EN</name>
              <description>TIM13 peripheral clock enable
Set and reset by software.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>TIM14EN</name>
              <description>TIM14 peripheral clock enable
Set and reset by software.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>LPTIM1EN</name>
              <description>LPTIM1 peripheral clocks enable
Set and reset by software.
The peripheral clocks of the LPTIM1 are the kernel clock selected by LPTIM1SEL and provided to lptim_ker_ck input, and the rcc_pclk1 bus interface clock.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>SPI2EN</name>
              <description>SPI2 peripheral clocks enable
Set and reset by software.
The peripheral clocks of the SPI2 are the kernel clock selected by I2S123SRC and provided to spi_ker_ck input, and the rcc_pclk1 bus interface clock.</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>SPI3EN</name>
              <description>SPI3 peripheral clocks enable
Set and reset by software.
The peripheral clocks of the SPI3 are the kernel clock selected by I2S123SRC and provided to spi_ker_ck input, and the rcc_pclk1 bus interface clock.</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>SPDIFRXEN</name>
              <description>SPDIFRX peripheral clocks enable
Set and reset by software.
The peripheral clocks of the SPDIFRX are the kernel clock selected by SPDIFRXSEL and provided to spdifrx_ker_ck input, and the rcc_pclk1 bus interface clock.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>USART2EN</name>
              <description>USART2peripheral clocks enable
Set and reset by software.
The peripheral clocks of the USART2 are the kernel clock selected by USART234578SEL and provided to usart_ker_ck input, and the rcc_pclk1 bus interface clock.</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>USART3EN</name>
              <description>USART3 peripheral clocks enable
Set and reset by software.
The peripheral clocks of the USART3 are the kernel clock selected by USART234578SEL and provided to usart_ker_ck input, and the rcc_pclk1 bus interface clock.</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>UART4EN</name>
              <description>UART4 peripheral clocks enable
Set and reset by software.
The peripheral clocks of the UART4 are the kernel clock selected by USART234578SEL and provided to usart_ker_ck input, and the rcc_pclk1 bus interface clock.</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>UART5EN</name>
              <description>UART5 peripheral clocks enable
Set and reset by software.
The peripheral clocks of the UART5 are the kernel clock selected by USART234578SEL and provided to usart_ker_ck input, and the rcc_pclk1 bus interface clock.</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>I2C1EN</name>
              <description>I2C1 peripheral clocks enable
Set and reset by software.
The peripheral clocks of the I2C1 are the kernel clock selected by I2C123SEL and provided to i2C_ker_ck input, and the rcc_pclk1 bus interface clock.</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>I2C2EN</name>
              <description>I2C2 peripheral clocks enable
Set and reset by software.
The peripheral clocks of the I2C2 are the kernel clock selected by I2C123SEL and provided to i2C_ker_ck input, and the rcc_pclk1 bus interface clock.</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>I2C3EN</name>
              <description>I2C3 peripheral clocks enable
Set and reset by software.
The peripheral clocks of the I2C3 are the kernel clock selected by I2C123SEL and provided to i2C_ker_ck input, and the rcc_pclk1 bus interface clock.</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>CECEN</name>
              <description>HDMI-CEC peripheral clock enable
Set and reset by software.
The peripheral clocks of the HDMI-CEC are the kernel clock selected by CECSEL and provided to cec_ker_ck input, and the rcc_pclk1 bus interface clock.</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>DAC1EN</name>
              <description>DAC1 (containing two converters) peripheral clock enable
Set and reset by software.</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>UART7EN</name>
              <description>UART7 peripheral clocks enable
Set and reset by software.
The peripheral clocks of the UART7 are the kernel clock selected by USART234578SEL and provided to usart_ker_ck input, and the rcc_pclk1 bus interface clock.</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>UART8EN</name>
              <description>UART8 peripheral clocks enable
Set and reset by software.
The peripheral clocks of the UART8 are the kernel clock selected by USART234578SEL and provided to usart_ker_ck input, and the rcc_pclk1 bus interface clock.</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>APB1HENR</name>
          <displayName>APB1HENR</displayName>
          <addressOffset>0x14C</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>CRSEN</name>
              <description>clock recovery system peripheral clock enable
Set and reset by software.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <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>SWPMIEN</name>
              <description>SWPMI peripheral clocks enable
Set and reset by software.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="CRSEN"/>
            </field>
            <field>
              <name>OPAMPEN</name>
              <description>OPAMP peripheral clock enable
Set and reset by software.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="CRSEN"/>
            </field>
            <field>
              <name>MDIOSEN</name>
              <description>MDIOS peripheral clock enable
Set and reset by software.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="CRSEN"/>
            </field>
            <field>
              <name>FDCANEN</name>
              <description>FDCAN peripheral clocks enable
Set and reset by software.
The peripheral clocks of the FDCAN are the kernel clock selected by FDCANSEL and provided to fdcan_ker_ck input, and the rcc_pclk1 bus interface clock.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="CRSEN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>APB2ENR</name>
          <displayName>APB2ENR</displayName>
          <addressOffset>0x150</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>TIM1EN</name>
              <description>TIM1 peripheral clock enable
Set and reset by software.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <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
Set and reset by software.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM1EN"/>
            </field>
            <field>
              <name>USART1EN</name>
              <description>USART1 peripheral clocks enable
Set and reset by software.
The peripheral clocks of the USART1 are the kernel clock selected by USART16910SEL and provided to UCKL input, and the rcc_pclk2 bus interface clock.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM1EN"/>
            </field>
            <field>
              <name>USART6EN</name>
              <description>USART6 peripheral clocks enable
Set and reset by software.
The peripheral clocks of the USART6 are the kernel clock selected by USART16910SEL and provided to UCKL input, and the rcc_pclk2 bus interface clock.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM1EN"/>
            </field>
            <field>
              <name>UART9EN</name>
              <description>UART9 peripheral clocks enable
Set and reset by software.
The peripheral clocks of the UART9 are the kernel clock selected by USART16910SEL and provided to UCKL input, and the rcc_pclk2 bus interface clock.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM1EN"/>
            </field>
            <field>
              <name>USART10EN</name>
              <description>USART10 peripheral clocks enable
Set and reset by software.
The peripheral clocks of the USART10 are the kernel clock selected by USART16910SEL and provided to UCKL input, and the rcc_pclk2 bus interface clock.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM1EN"/>
            </field>
            <field>
              <name>SPI1EN</name>
              <description>SPI1 Peripheral Clocks Enable
Set and reset by software.
The peripheral clocks of the SPI1 are: the kernel clock selected by I2S123SRC and provided to spi_ker_ck input, and the rcc_pclk2 bus interface clock.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM1EN"/>
            </field>
            <field>
              <name>SPI4EN</name>
              <description>SPI4 Peripheral Clocks Enable
Set and reset by software.
The peripheral clocks of the SPI4 are: the kernel clock selected by SPI45SEL and provided to spi_ker_ck input, and the rcc_pclk2 bus interface clock.</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM1EN"/>
            </field>
            <field>
              <name>TIM15EN</name>
              <description>TIM15 peripheral clock enable
Set and reset by software.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM1EN"/>
            </field>
            <field>
              <name>TIM16EN</name>
              <description>TIM16 peripheral clock enable
Set and reset by software.</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM1EN"/>
            </field>
            <field>
              <name>TIM17EN</name>
              <description>TIM17 peripheral clock enable
Set and reset by software.</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM1EN"/>
            </field>
            <field>
              <name>SPI5EN</name>
              <description>SPI5 peripheral clocks enable
Set and reset by software.
The peripheral clocks of the SPI5 are the kernel clock selected by SPI45SEL and provided to spi_ker_ck input, and the rcc_pclk2 bus interface clock.</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM1EN"/>
            </field>
            <field>
              <name>SAI1EN</name>
              <description>SAI1 peripheral clocks enable
Set and reset by software.
The peripheral clocks of the SAI1 are: the kernel clock selected by SAI1SEL and provided to sai_a_ker_ck and sai_b_ker_ck inputs, and the rcc_pclk2 bus interface clock.</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM1EN"/>
            </field>
            <field>
              <name>SAI2EN</name>
              <description>SAI2 peripheral clocks enable
Set and reset by software.
The peripheral clocks of the SAI2 are the kernel clock selected by SAI2SEL and provided to sai_a_ker_ck and sai_b_ker_ck inputs, and the rcc_pclk2 bus interface clock.</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM1EN"/>
            </field>
            <field>
              <name>DFSDM1EN</name>
              <description>DFSDM1 peripheral clocks enable
Set and reset by software.
DFSDM1 peripheral clocks are the kernel clocks selected by SAI1SEL and DFSDM1SEL and provided to Aclk and clk inputs respectively,</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM1EN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>APB4ENR</name>
          <displayName>APB4ENR</displayName>
          <addressOffset>0x154</addressOffset>
          <size>0x20</size>
          <resetValue>0x00010000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>SYSCFGEN</name>
              <description>SYSCFG peripheral clock enable
Set and reset by software.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <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
Set and reset by software.
The peripheral clocks of the LPUART1 are the kernel clock selected by LPUART1SEL and provided to lpuart_ker_ck input, and the rcc_pclk4 bus interface clock.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="SYSCFGEN"/>
            </field>
            <field>
              <name>SPI6EN</name>
              <description>SPI6 peripheral clocks enable
Set and reset by software.
The peripheral clocks of the SPI6 are the kernel clock selected by SPI6SEL and provided to spi_ker_ck input, and the rcc_pclk4 bus interface clock.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="SYSCFGEN"/>
            </field>
            <field>
              <name>I2C4EN</name>
              <description>I2C4 peripheral clocks enable
Set and reset by software.
The peripheral clocks of the I2C4 are the kernel clock selected by I2C4SEL and provided to i2C_ker_ck input, and the rcc_pclk4 bus interface clock.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="SYSCFGEN"/>
            </field>
            <field>
              <name>LPTIM2EN</name>
              <description>LPTIM2 peripheral clocks enable
Set and reset by software.
The peripheral clocks of the LPTIM2 are the kernel clock selected by LPTIM2SEL and provided to lptim_ker_ck input, and the rcc_pclk4 bus interface clock.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="SYSCFGEN"/>
            </field>
            <field>
              <name>LPTIM3EN</name>
              <description>LPTIM3 peripheral clocks enable
Set and reset by software.
The peripheral clocks of the LPTIM3 are the kernel clock selected by LPTIM345SEL and provided to lptim_ker_ck input, and the rcc_pclk4 bus interface clock.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="SYSCFGEN"/>
            </field>
            <field>
              <name>DAC2EN</name>
              <description>DAC2 (containing one converter) peripheral clock enable
Set and reset by software.</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="SYSCFGEN"/>
            </field>
            <field>
              <name>COMP12EN</name>
              <description>COMP1 and 2 peripheral clock enable
Set and reset by software.</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="SYSCFGEN"/>
            </field>
            <field>
              <name>VREFEN</name>
              <description>VREF peripheral clock enable
Set and reset by software.</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="SYSCFGEN"/>
            </field>
            <field>
              <name>RTCAPBEN</name>
              <description>RTC APB clock enable
Set and reset by software.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="SYSCFGEN"/>
            </field>
            <field>
              <name>DTSEN</name>
              <description>Digital temperature sensor peripheral clock enable
Set and reset by software.</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="SYSCFGEN"/>
            </field>
            <field>
              <name>DFSDM2EN</name>
              <description>DFSDM2peripheral clock enable
Set and reset by software.</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="SYSCFGEN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>AHB3LPENR</name>
          <displayName>AHB3LPENR</displayName>
          <addressOffset>0x15C</addressOffset>
          <size>0x20</size>
          <resetValue>0xFDE95131</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>MDMALPEN</name>
              <description>MDMA clock enable during CSleep mode
Set and reset by software.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <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
Set and reset by software.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="MDMALPEN"/>
            </field>
            <field>
              <name>JPGDECLPEN</name>
              <description>JPGDEC clock enable during CSleep mode
Set and reset by software.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="MDMALPEN"/>
            </field>
            <field>
              <name>FLASHPREN</name>
              <description>Flash interface clock enable during csleep mode</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>FMCLPEN</name>
              <description>FMC peripheral clocks enable during CSleep mode
Set and reset by software.
The peripheral clocks of the FMC are the kernel clock selected by FMCSEL and provided to fmc_ker_ck input, and the rcc_hclk3 bus interface clock.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="MDMALPEN"/>
            </field>
            <field>
              <name>OCTOSPI1LPEN</name>
              <description>OCTOSPI1 and OCTOSPI1 delay clock enable during CSleep mode
Set and reset by software.</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="MDMALPEN"/>
            </field>
            <field>
              <name>SDMMC1LPEN</name>
              <description>SDMMC1 and SDMMC1 delay clock enable during CSleep mode
Set and reset by software.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="MDMALPEN"/>
            </field>
            <field>
              <name>OCTOSPI2LPEN</name>
              <description>OCTOSPI2 and OCTOSPI2 delay clock enable during CSleep mode
Set and reset by software.</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="MDMALPEN"/>
            </field>
            <field>
              <name>OCTOSPIMLPEN</name>
              <description>OCTOSPIM block clock enable during CSleep mode
Set and reset by software.</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="MDMALPEN"/>
            </field>
            <field>
              <name>OTFD1LPEN</name>
              <description>OTFD1 block clock enable during CSleep mode
Set and reset by software.</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="MDMALPEN"/>
            </field>
            <field>
              <name>OTFD2LPEN</name>
              <description>OTFD2 block clock enable during CSleep mode
Set and reset by software.</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="MDMALPEN"/>
            </field>
            <field>
              <name>GFXMMULPEN</name>
              <description>GFXMMU block clock enable during CSleep mode
Set and reset by software.</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="MDMALPEN"/>
            </field>
            <field>
              <name>AXISRAM2LPEN</name>
              <description>AXISRAM2 block clock enable during CSleep mode
Set and reset by software.</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="MDMALPEN"/>
            </field>
            <field>
              <name>AXISRAM3LPEN</name>
              <description>AXISRAM3 block clock enable during CSleep mode
Set and reset by software.</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="MDMALPEN"/>
            </field>
            <field>
              <name>DTCM1LPEN</name>
              <description>DTCM1 block clock enable during CSleep mode
Set and reset by software.</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="MDMALPEN"/>
            </field>
            <field>
              <name>DTCM2LPEN</name>
              <description>DTCM2 block clock enable during CSleep mode
Set and reset by software.</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="MDMALPEN"/>
            </field>
            <field>
              <name>ITCMLPEN</name>
              <description>ITCM block clock enable during CSleep mode
Set and reset by software.</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="MDMALPEN"/>
            </field>
            <field>
              <name>AXISRAM1LPEN</name>
              <description>AXISRAM1 block clock enable during CSleep mode
Set and reset by software.</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="MDMALPEN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>AHB1LPENR</name>
          <displayName>AHB1LPENR</displayName>
          <addressOffset>0x160</addressOffset>
          <size>0x20</size>
          <resetValue>0x06000223</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>DMA1LPEN</name>
              <description>DMA1 clock enable during CSleep mode
Set and reset by software.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <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
Set and reset by software.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="DMA1LPEN"/>
            </field>
            <field>
              <name>ADC12LPEN</name>
              <description>ADC1 and 2 peripheral clocks enable during CSleep mode
Set and reset by software.
The peripheral clocks of the ADC1 and 2 are the kernel clock selected by ADCSEL and provided to adc_ker_ck input, and the rcc_hclk1 bus interface clock.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="DMA1LPEN"/>
            </field>
            <field>
              <name>CRCLPEN</name>
              <description>CRC peripheral clock enable during CSleep mode
Set and reset by software.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="DMA1LPEN"/>
            </field>
            <field>
              <name>USB1OTGLPEN</name>
              <description>USB1OTG peripheral clock enable during CSleep mode
Set and reset by software.
The peripheral clocks of the USB1OTG are the kernel clock selected by USBSEL and the rcc_hclk1 bus interface clock.</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="DMA1LPEN"/>
            </field>
            <field>
              <name>USB1OTGULPILPEN</name>
              <description>USB_PHY1 clock enable during CSleep mode
Set and reset by software.</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="DMA1LPEN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>AHB2LPENR</name>
          <displayName>AHB2LPENR</displayName>
          <addressOffset>0x164</addressOffset>
          <size>0x20</size>
          <resetValue>0x60000A71</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>DCMI_PSSILPEN</name>
              <description>digital camera interface peripheral clock enable during CSleep mode (DCMI or PSSI depending which IP is active)
Set and reset by software.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>DCMI_PSSILPEN</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
Set and reset by software.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="DCMI_PSSILPEN"/>
            </field>
            <field>
              <name>HASHLPEN</name>
              <description>HASH peripheral clock enable during CSleep mode
Set and reset by software.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="DCMI_PSSILPEN"/>
            </field>
            <field>
              <name>RNGLPEN</name>
              <description>RNG peripheral clock enable during CSleep mode
Set and reset by software.
The peripheral clocks of the RNG are the kernel clock selected by RNGSEL and provided to rng_clk input, and the rcc_hclk2 bus interface clock.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="DCMI_PSSILPEN"/>
            </field>
            <field>
              <name>SDMMC2LPEN</name>
              <description>SDMMC2 and SDMMC2 delay clock enable during CSleep mode
Set and reset by software.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="DCMI_PSSILPEN"/>
            </field>
            <field>
              <name>DFSDMDMALPEN</name>
              <description>DFSDMDMA clock enable during CSleep mode
Set and reset by software.</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="DCMI_PSSILPEN"/>
            </field>
            <field>
              <name>AHBSRAM1LPEN</name>
              <description>AHBSRAM1 clock enable during CSleep mode
Set and reset by software.</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="DCMI_PSSILPEN"/>
            </field>
            <field>
              <name>AHBSRAM2LPEN</name>
              <description>AHBSRAM2 clock enable during CSleep mode
Set and reset by software.</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="DCMI_PSSILPEN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>AHB4LPENR</name>
          <displayName>AHB4LPENR</displayName>
          <addressOffset>0x168</addressOffset>
          <size>0x20</size>
          <resetValue>0x302007FF</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>GPIOALPEN</name>
              <description>GPIOA peripheral clock enable during CSleep mode
Set and reset by software.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <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>GPIOB peripheral clock enable during CSleep mode
Set and reset by software.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="GPIOALPEN"/>
            </field>
            <field>
              <name>GPIOCLPEN</name>
              <description>GPIOC peripheral clock enable during CSleep mode
Set and reset by software.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="GPIOALPEN"/>
            </field>
            <field>
              <name>GPIODLPEN</name>
              <description>GPIOD peripheral clock enable during CSleep mode
Set and reset by software.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="GPIOALPEN"/>
            </field>
            <field>
              <name>GPIOELPEN</name>
              <description>GPIOE peripheral clock enable during CSleep mode
Set and reset by software.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="GPIOALPEN"/>
            </field>
            <field>
              <name>GPIOFLPEN</name>
              <description>GPIOF peripheral clock enable during CSleep mode
Set and reset by software.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="GPIOALPEN"/>
            </field>
            <field>
              <name>GPIOGLPEN</name>
              <description>GPIOG peripheral clock enable during CSleep mode
Set and reset by software.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="GPIOALPEN"/>
            </field>
            <field>
              <name>GPIOHLPEN</name>
              <description>GPIOH peripheral clock enable during CSleep mode
Set and reset by software.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="GPIOALPEN"/>
            </field>
            <field>
              <name>GPIOILPEN</name>
              <description>GPIOI peripheral clock enable during CSleep mode
Set and reset by software.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="GPIOALPEN"/>
            </field>
            <field>
              <name>GPIOJLPEN</name>
              <description>GPIOJ peripheral clock enable during CSleep mode
Set and reset by software.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="GPIOALPEN"/>
            </field>
            <field>
              <name>GPIOKLPEN</name>
              <description>GPIOK peripheral clock enable during CSleep mode
Set and reset by software.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="GPIOALPEN"/>
            </field>
            <field>
              <name>BDMA2LPEN</name>
              <description>SmartRun domain DMA and DMAMUX clock enable during CSleep mode
Set and reset by software.</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="GPIOALPEN"/>
            </field>
            <field>
              <name>BKPRAMLPEN</name>
              <description>Backup RAM clock enable during CSleep mode
Set and reset by software.</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="GPIOALPEN"/>
            </field>
            <field>
              <name>SRDSRAMLPEN</name>
              <description>SmartRun domain SRAM clock enable during CSleep mode
Set and reset by software.</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="GPIOALPEN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>APB3LPENR</name>
          <displayName>APB3LPENR</displayName>
          <addressOffset>0x16C</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000048</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>LTDCLPEN</name>
              <description>LTDC peripheral clock enable during CSleep mode
Set and reset by software.
The LTDC peripheral clocks are the kernel clock provided to ltdc_ker_ck input and the rcc_pclk3 bus interface clock.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <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>WWDGLPEN</name>
              <description>WWDG clock enable during CSleep mode
Set and reset by software.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="LTDCLPEN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>APB1LLPENR</name>
          <displayName>APB1LLPENR</displayName>
          <addressOffset>0x170</addressOffset>
          <size>0x20</size>
          <resetValue>0xE8FFC3FF</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>TIM2LPEN</name>
              <description>TIM2 peripheral clock enable during CSleep mode
Set and reset by software.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <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
Set and reset by software.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2LPEN"/>
            </field>
            <field>
              <name>TIM4LPEN</name>
              <description>TIM4 peripheral clock enable during CSleep mode
Set and reset by software.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2LPEN"/>
            </field>
            <field>
              <name>TIM5LPEN</name>
              <description>TIM5 peripheral clock enable during CSleep mode
Set and reset by software.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2LPEN"/>
            </field>
            <field>
              <name>TIM6LPEN</name>
              <description>TIM6 peripheral clock enable during CSleep mode
Set and reset by software.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2LPEN"/>
            </field>
            <field>
              <name>TIM7LPEN</name>
              <description>TIM7 peripheral clock enable during CSleep mode
Set and reset by software.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2LPEN"/>
            </field>
            <field>
              <name>TIM12LPEN</name>
              <description>TIM12 peripheral clock enable during CSleep mode
Set and reset by software.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2LPEN"/>
            </field>
            <field>
              <name>TIM13LPEN</name>
              <description>TIM13 peripheral clock enable during CSleep mode
Set and reset by software.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2LPEN"/>
            </field>
            <field>
              <name>TIM14LPEN</name>
              <description>TIM14 peripheral clock enable during CSleep mode
Set and reset by software.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2LPEN"/>
            </field>
            <field>
              <name>LPTIM1LPEN</name>
              <description>LPTIM1 peripheral clocks enable during CSleep mode
Set and reset by software.
The peripheral clocks of the LPTIM1 are the kernel clock selected by LPTIM1SEL and provided to lptim_ker_ck input, and the rcc_pclk1 bus interface clock.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2LPEN"/>
            </field>
            <field>
              <name>SPI2LPEN</name>
              <description>SPI2 peripheral clocks enable during CSleep mode
Set and reset by software.
The peripheral clocks of the SPI2 are the kernel clock selected by I2S123SRC and provided to spi_ker_ck input, and the rcc_pclk1 bus interface clock.</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2LPEN"/>
            </field>
            <field>
              <name>SPI3LPEN</name>
              <description>SPI3 peripheral clocks enable during CSleep mode
Set and reset by software.
The peripheral clocks of the SPI3 are the kernel clock selected by I2S123SRC and provided to spi_ker_ck input, and the rcc_pclk1 bus interface clock.</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2LPEN"/>
            </field>
            <field>
              <name>SPDIFRXLPEN</name>
              <description>SPDIFRX peripheral clocks enable during CSleep mode
Set and reset by software.
The peripheral clocks of the SPDIFRX are: the kernel clock selected by SPDIFRXSEL and provided to spdifrx_ker_ck input, and the rcc_pclk1 bus interface clock.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2LPEN"/>
            </field>
            <field>
              <name>USART2LPEN</name>
              <description>USART2 peripheral clocks enable during CSleep mode
Set and reset by software.
The peripheral clocks of the USART2 are the kernel clock selected by USART234578SEL and provided to usart_ker_ck input, and the rcc_pclk1 bus interface clock.</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2LPEN"/>
            </field>
            <field>
              <name>USART3LPEN</name>
              <description>USART3 peripheral clocks enable during CSleep mode
Set and reset by software.
The peripheral clocks of the USART3 are the kernel clock selected by USART234578SEL and provided to usart_ker_ck input, and the rcc_pclk1 bus interface clock.</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2LPEN"/>
            </field>
            <field>
              <name>UART4LPEN</name>
              <description>UART4 peripheral clocks enable during CSleep mode
Set and reset by software.
The peripheral clocks of the UART4 are the kernel clock selected by USART234578SEL and provided to usart_ker_ck input, and the rcc_pclk1 bus interface clock.</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2LPEN"/>
            </field>
            <field>
              <name>UART5LPEN</name>
              <description>UART5 peripheral clocks enable during CSleep mode
Set and reset by software.
The peripheral clocks of the UART5 are the kernel clock selected by USART234578SEL and provided to usart_ker_ck input, and the rcc_pclk1 bus interface clock.</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2LPEN"/>
            </field>
            <field>
              <name>I2C1LPEN</name>
              <description>I2C1 peripheral clocks enable during CSleep mode
Set and reset by software.
The peripheral clocks of the I2C1 are the kernel clock selected by I2C123SEL and provided to i2C_ker_ck input, and the rcc_pclk1 bus interface clock.</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2LPEN"/>
            </field>
            <field>
              <name>I2C2LPEN</name>
              <description>I2C2 peripheral clocks enable during CSleep mode
Set and reset by software.
The peripheral clocks of the I2C2 are the kernel clock selected by I2C123SEL and provided to i2C_ker_ck input, and the rcc_pclk1 bus interface clock.</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2LPEN"/>
            </field>
            <field>
              <name>I2C3LPEN</name>
              <description>I2C3 peripheral clocks enable during CSleep mode
Set and reset by software.
The peripheral clocks of the I2C3 are the kernel clock selected by I2C123SEL and provided to i2C_ker_ck input, and the rcc_pclk1 bus interface clock.</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2LPEN"/>
            </field>
            <field>
              <name>CECLPEN</name>
              <description>HDMI-CEC peripheral clocks enable during CSleep mode
Set and reset by software.
The peripheral clocks of the HDMI-CEC are the kernel clock selected by CECSEL and provided to cec_ker_ck input, and the rcc_pclk1 bus interface clock.</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2LPEN"/>
            </field>
            <field>
              <name>DAC1LPEN</name>
              <description>DAC1 (containing two converters) peripheral clock enable during CSleep mode
Set and reset by software.</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2LPEN"/>
            </field>
            <field>
              <name>UART7LPEN</name>
              <description>UART7 peripheral clocks enable during CSleep mode
Set and reset by software.
The peripheral clocks of the UART7 are the kernel clock selected by USART234578SEL and provided to usart_ker_ck input, and the rcc_pclk1 bus interface clock.</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2LPEN"/>
            </field>
            <field>
              <name>UART8LPEN</name>
              <description>UART8 peripheral clocks enable during CSleep mode
Set and reset by software.
The peripheral clocks of the UART8 are the kernel clock selected by USART234578SEL and provided to usart_ker_ck input, and the rcc_pclk1 bus interface clock.</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2LPEN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>APB1HLPENR</name>
          <displayName>APB1HLPENR</displayName>
          <addressOffset>0x174</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000136</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>CRSLPEN</name>
              <description>clock recovery system peripheral clock enable during CSleep mode
Set and reset by software.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <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>SWPMILPEN</name>
              <description>SWPMI peripheral clocks enable during CSleep mode
Set and reset by software.
The peripheral clocks of the SWPMI are the kernel clock selected by SWPMISEL and provided to swpmi_ker_ck input, and the rcc_pclk1 bus interface clock.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="CRSLPEN"/>
            </field>
            <field>
              <name>OPAMPLPEN</name>
              <description>OPAMP peripheral clock enable during CSleep mode
Set and reset by software.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="CRSLPEN"/>
            </field>
            <field>
              <name>MDIOSLPEN</name>
              <description>MDIOS peripheral clock enable during CSleep mode
Set and reset by software.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="CRSLPEN"/>
            </field>
            <field>
              <name>FDCANLPEN</name>
              <description>FDCAN peripheral clocks enable during CSleep mode
Set and reset by software.
The peripheral clocks of the FDCAN are: the kernel clock selected by FDCANSEL and provided to fdcan_clk input, and the rcc_pclk1 bus interface clock.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="CRSLPEN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>APB2LPENR</name>
          <displayName>APB2LPENR</displayName>
          <addressOffset>0x178</addressOffset>
          <size>0x20</size>
          <resetValue>0x40D730F3</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>TIM1LPEN</name>
              <description>TIM1 peripheral clock enable during CSleep mode
Set and reset by software.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <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
Set and reset by software.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM1LPEN"/>
            </field>
            <field>
              <name>USART1LPEN</name>
              <description>USART1 peripheral clock enable during CSleep mode
Set and reset by software.
The peripheral clocks of the USART1 are the kernel clock selected by USART16910SEL and provided to usart_ker_ck inputs, and the rcc_pclk2 bus interface clock.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM1LPEN"/>
            </field>
            <field>
              <name>USART6LPEN</name>
              <description>USART6 peripheral clock enable during CSleep mode
Set and reset by software.
The peripheral clocks of the USART6 are the kernel clock selected by USART16910SEL and provided to usart_ker_ck input, and the rcc_pclk2 bus interface clock.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM1LPEN"/>
            </field>
            <field>
              <name>UART9LPEN</name>
              <description>UART9 peripheral clock enable during CSleep mode
Set and reset by software.
The peripheral clocks of the UART9 are the kernel clock selected by USART16910SEL and provided to usart_ker_ck input, and the rcc_pclk2 bus interface clock.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM1LPEN"/>
            </field>
            <field>
              <name>USART10LPEN</name>
              <description>USART10 peripheral clock enable during CSleep mode
Set and reset by software.
The peripheral clocks of the USART10 are the kernel clock selected by USART16910SEL and provided to usart_ker_ck input, and the rcc_pclk2 bus interface clock.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM1LPEN"/>
            </field>
            <field>
              <name>SPI1LPEN</name>
              <description>SPI1 peripheral clock enable during CSleep mode
Set and reset by software.
The peripheral clocks of the SPI1 are: the kernel clock selected by I2S123SRC and provided to spi_ker_ck input, and the rcc_pclk2 bus interface clock.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM1LPEN"/>
            </field>
            <field>
              <name>SPI4LPEN</name>
              <description>SPI4 peripheral clock enable during CSleep mode
Set and reset by software.
The peripheral clocks of the SPI4 are: the kernel clock selected by SPI45SEL and provided to spi_ker_ck input, and the rcc_pclk2 bus interface clock.</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM1LPEN"/>
            </field>
            <field>
              <name>TIM15LPEN</name>
              <description>TIM15 peripheral clock enable during CSleep mode
Set and reset by software.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM1LPEN"/>
            </field>
            <field>
              <name>TIM16LPEN</name>
              <description>TIM16 peripheral clock enable during CSleep mode
Set and reset by software.</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM1LPEN"/>
            </field>
            <field>
              <name>TIM17LPEN</name>
              <description>TIM17 peripheral clock enable during CSleep mode
Set and reset by software.</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM1LPEN"/>
            </field>
            <field>
              <name>SPI5LPEN</name>
              <description>SPI5 peripheral clocks enable during CSleep mode
Set and reset by software.
The peripheral clocks of the SPI5 are the kernel clock selected by SPI45SEL and provided to spi_ker_ck input, and the rcc_pclk2 bus interface clock.</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM1LPEN"/>
            </field>
            <field>
              <name>SAI1LPEN</name>
              <description>SAI1 peripheral clocks enable during CSleep mode
Set and reset by software.
The peripheral clocks of the SAI1 are: the kernel clock selected by SAI1SEL and provided to sai_a_ker_ck and sai_b_ker_ck inputs, and the rcc_pclk2 bus interface clock.</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM1LPEN"/>
            </field>
            <field>
              <name>SAI2LPEN</name>
              <description>SAI2 peripheral clocks enable during CSleep mode
Set and reset by software.
The peripheral clocks of the SAI2 are the kernel clock selected by SAI23EL and provided to sai_a_ker_ck and sai_b_ker_ck inputs, and the rcc_pclk2 bus interface clock.</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM1LPEN"/>
            </field>
            <field>
              <name>DFSDM1LPEN</name>
              <description>DFSDM1 peripheral clocks enable during CSleep mode
Set and reset by software.
DFSDM1 peripheral clocks are the kernel clocks selected by SAI1SEL and DFSDM1SEL and provided to Aclk and clk inputs respectively, and the rcc_pclk2 bus interface clock.</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM1LPEN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>APB4LPENR</name>
          <displayName>APB4LPENR</displayName>
          <addressOffset>0x17C</addressOffset>
          <size>0x20</size>
          <resetValue>0x0C01E6AA</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>SYSCFGLPEN</name>
              <description>SYSCFG peripheral clock enable during CSleep mode
Set and reset by software.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <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
Set and reset by software.
The peripheral clocks of the LPUART1 are the kernel clock selected by LPUART1SEL and provided to lpuart_ker_ck input, and the rcc_pclk4 bus interface clock.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="SYSCFGLPEN"/>
            </field>
            <field>
              <name>SPI6LPEN</name>
              <description>SPI6 peripheral clocks enable during CSleep mode
Set and reset by software.
The peripheral clocks of the SPI6 are the kernel clock selected by SPI6SEL and provided to com_ck input, and the rcc_pclk4 bus interface clock.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="SYSCFGLPEN"/>
            </field>
            <field>
              <name>I2C4LPEN</name>
              <description>I2C4 peripheral clocks enable during CSleep mode
Set and reset by software.
The peripheral clocks of the I2C4 are the kernel clock selected by I2C4SEL and provided to i2C_ker_ck input, and the rcc_pclk4 bus interface clock.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="SYSCFGLPEN"/>
            </field>
            <field>
              <name>LPTIM2LPEN</name>
              <description>LPTIM2 peripheral clocks enable during CSleep mode
Set and reset by software.
The peripheral clocks of the LPTIM2 are the kernel clock selected by LPTIM2SEL and provided to lptim_ker_ck input, and the rcc_pclk4 bus interface clock.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="SYSCFGLPEN"/>
            </field>
            <field>
              <name>LPTIM3LPEN</name>
              <description>LPTIM3 peripheral clocks enable during CSleep mode
Set and reset by software.
The peripheral clocks of the LPTIM3 are the kernel clock selected by LPTIM345SEL and provided to lptim_ker_ck input, and the rcc_pclk4 bus interface clock.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="SYSCFGLPEN"/>
            </field>
            <field>
              <name>DAC2LPEN</name>
              <description>DAC2 (containing one converter) peripheral clock enable during CSleep mode
Set and reset by software.</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="SYSCFGLPEN"/>
            </field>
            <field>
              <name>COMP12LPEN</name>
              <description>COMP1 and 2 peripheral clock enable during CSleep mode
Set and reset by software.</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="SYSCFGLPEN"/>
            </field>
            <field>
              <name>VREFLPEN</name>
              <description>VREF peripheral clock enable during CSleep mode
Set and reset by software.</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="SYSCFGLPEN"/>
            </field>
            <field>
              <name>RTCAPBLPEN</name>
              <description>RTC APB clock enable during CSleep mode
Set and reset by software.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="SYSCFGLPEN"/>
            </field>
            <field>
              <name>DTSLPEN</name>
              <description>temperature sensor peripheral clock enable during CSleep mode
Set and reset by software.</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="SYSCFGLPEN"/>
            </field>
            <field>
              <name>DFSDM2LPEN</name>
              <description>DFSDM2 peripheral clock enable during CSleep mode
Set and reset by software.</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="SYSCFGLPEN"/>
            </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>
      <interrupt>
        <name>QUADSPI</name>
        <description>QuadSPI global interrupt</description>
        <value>92</value>
      </interrupt>
      <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>
            <field>
              <name>CONFIGLOCK</name>
              <description>RNG Config lock</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CONFIGLOCK</name>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Writes to the RNG_CR configuration bits [29:4] are allowed</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Writes to the RNG_CR configuration bits [29:4] are ignored until the next RNG reset</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CONDRST</name>
              <description>Conditioning soft reset</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RNG_CONFIG1</name>
              <description>RNG configuration 1</description>
              <bitOffset>20</bitOffset>
              <bitWidth>6</bitWidth>
              <enumeratedValues>
                <name>RNG_CONFIG1</name>
                <enumeratedValue>
                  <name>ConfigA</name>
                  <description>Recommended value for config A (NIST certifiable)</description>
                  <value>15</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ConfigB</name>
                  <description>Recommended value for config B (not NIST certifiable)</description>
                  <value>24</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CLKDIV</name>
              <description>Clock divider factor</description>
              <bitOffset>16</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues>
                <name>CLKDIV</name>
                <enumeratedValue>
                  <name>Div1</name>
                  <description>Internal RNG clock after divider is similar to incoming RNG clock</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div2</name>
                  <description>Divide RNG clock by 2^1</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div4</name>
                  <description>Divide RNG clock by 2^2</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div8</name>
                  <description>Divide RNG clock by 2^3</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div16</name>
                  <description>Divide RNG clock by 2^4</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div32</name>
                  <description>Divide RNG clock by 2^5</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div64</name>
                  <description>Divide RNG clock by 2^6</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div128</name>
                  <description>Divide RNG clock by 2^7</description>
                  <value>7</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div256</name>
                  <description>Divide RNG clock by 2^8</description>
                  <value>8</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div512</name>
                  <description>Divide RNG clock by 2^9</description>
                  <value>9</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div1024</name>
                  <description>Divide RNG clock by 2^10</description>
                  <value>10</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div2048</name>
                  <description>Divide RNG clock by 2^11</description>
                  <value>11</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div4096</name>
                  <description>Divide RNG clock by 2^12</description>
                  <value>12</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div8192</name>
                  <description>Divide RNG clock by 2^13</description>
                  <value>13</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div16384</name>
                  <description>Divide RNG clock by 2^14</description>
                  <value>14</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div32768</name>
                  <description>Divide RNG clock by 2^15</description>
                  <value>15</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RNG_CONFIG2</name>
              <description>RNG configuration 2</description>
              <bitOffset>13</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>RNG_CONFIG2</name>
                <enumeratedValue>
                  <name>ConfigA_B</name>
                  <description>Recommended value for config A and B</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>NISTC</name>
              <description>Non NIST compliant</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>NISTC</name>
                <enumeratedValue>
                  <name>Default</name>
                  <description>Hardware default values for NIST compliant RNG. In this configuration per 128-bit output two conditioning loops are performed and 256 bits of noise source are used</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Custom</name>
                  <description>Custom values for NIST compliant RNG</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RNG_CONFIG3</name>
              <description>RNG configuration 3</description>
              <bitOffset>8</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues>
                <name>RNG_CONFIG3</name>
                <enumeratedValue>
                  <name>ConfigB</name>
                  <description>Recommended value for config B (not NIST certifiable)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ConfigA</name>
                  <description>Recommended value for config A (NIST certifiable)</description>
                  <value>13</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>
        <register>
          <name>HTCR</name>
          <description>health test control register</description>
          <addressOffset>0x10</addressOffset>
          <resetValue>0x00005A4E</resetValue>
          <fields>
            <field>
              <name>HTCFG</name>
              <description>health test configuration</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <enumeratedValues>
                <name>HTCFG</name>
                <enumeratedValue>
                  <name>Recommended</name>
                  <description>Recommended value for RNG certification (0x0000_AA74)</description>
                  <value>43636</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Magic</name>
                  <description>Magic number to be written before any write (0x1759_0ABC)</description>
                  <value>391711420</value>
                </enumeratedValue>
              </enumeratedValues>
            </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) through EXTI Line interrupts)</description>
        <value>41</value>
      </interrupt>
      <interrupt>
        <name>RTC_WKUP</name>
        <description>RTC Wakeup interrupt through the EXTI linet</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>RTC time register</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>SU</name>
              <description>Second units in BCD format</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-write</access>
              <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>
              <access>read-write</access>
              <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>
              <access>read-write</access>
              <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>
              <access>read-write</access>
              <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>
              <access>read-write</access>
              <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>
              <access>read-write</access>
              <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>
              <access>read-write</access>
              <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>RTC date register</description>
          <addressOffset>0x4</addressOffset>
          <size>0x20</size>
          <resetValue>0x00002101</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>DU</name>
              <description>Date units in BCD format</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-write</access>
              <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>
              <access>read-write</access>
              <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>
              <access>read-write</access>
              <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>
              <access>read-write</access>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>1</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>WDU</name>
              <description>Week day units
...</description>
              <bitOffset>13</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <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>
              <access>read-write</access>
              <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>
              <access>read-write</access>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>SSR</name>
          <displayName>SSR</displayName>
          <description>RTC sub second register</description>
          <addressOffset>0x8</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <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>
              <access>read-only</access>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>ICSR</name>
          <displayName>ICSR</displayName>
          <description>RTC initialization control and status register</description>
          <addressOffset>0xC</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000007</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <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>
            </field>
            <field>
              <name>WUTWF</name>
              <description>Wakeup timer write flag
This bit is set by hardware when WUT value can be changed, after the WUTE bit has been set to 0 in RTC_CR.
It is cleared by hardware in initialization mode.</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>
              <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 .</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>
          </fields>
        </register>
        <register>
          <name>PRER</name>
          <displayName>PRER</displayName>
          <description>RTC prescaler register</description>
          <addressOffset>0x10</addressOffset>
          <size>0x20</size>
          <resetValue>0x007F00FF</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <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>
              <access>read-write</access>
              <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>
              <access>read-write</access>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>127</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>WUTR</name>
          <displayName>WUTR</displayName>
          <description>RTC wakeup timer register</description>
          <addressOffset>0x14</addressOffset>
          <size>0x20</size>
          <resetValue>0x0000FFFF</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <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 between WUT and (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>
              <access>read-write</access>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>CR</name>
          <displayName>CR</displayName>
          <description>RTC control register</description>
          <addressOffset>0x18</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>WUCKSEL</name>
              <description>ck_wut wakeup clock selection
10x: ck_spre (usually 1Hz) clock is selected
11x: ck_spre (usually 1Hz) clock is selected and 216is added to the WUT counter value</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>Timestamp 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 APB1 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>TwentyFourHour</name>
                  <description>24 hour/day format</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>AmPm</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
Note: When the wakeup timer is disabled, wait for WUTWF=1 before enabling it again.</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>Timestamp 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>DSTNotChanged</name>
                  <description>Daylight Saving Time change has not been performed</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DSTChanged</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 CALIB.
These frequencies are valid for RTCCLK at 32.768kHz and prescalers at their default values (PREDIV_A = 127 and PREDIV_S = 255). Refer to .</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 TAMPALRM 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 TAMPALRM 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 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 disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Internal event timestamp enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TAMPTS</name>
              <description>Activate timestamp on tamper detection event
TAMPTS is valid even if TSE = 0 in the RTC_CR register. Timestamp flag is set after the tamper flags, therefore if TAMPTS and TSIE are set, it is recommended to disable the tamper interrupts in order to avoid servicing 2 interrupts.</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>TAMPTS</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Tamper detection event does not cause a RTC timestamp to be saved</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Save RTC timestamp on tamper detection event</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TAMPOE</name>
              <description>Tamper detection output enable on TAMPALRM</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>TAMPOE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>The tamper flag is not routed on TAMPALRM</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>The tamper flag is routed on TAMPALRM, combined with the signal provided by OSEL and with the polarity provided by POL</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TAMPALRM_PU</name>
              <description>TAMPALRM pull-up enable</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>TAMPALRM_PU</name>
                <enumeratedValue>
                  <name>NoPullUp</name>
                  <description>No pull-up is applied on TAMPALRM output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PullUp</name>
                  <description>A pull-up is applied on TAMPALRM output</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TAMPALRM_TYPE</name>
              <description>TAMPALRM output type</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>TAMPALRM_TYPE</name>
                <enumeratedValue>
                  <name>PushPull</name>
                  <description>TAMPALRM is push-pull output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OpenDrain</name>
                  <description>TAMPALRM is open-drain output</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OUT2EN</name>
              <description>RTC_OUT2 output enable
Setting this bit allows to remap the RTC outputs on RTC_OUT2 as follows:
OUT2EN = 0: RTC output 2 disable
If OSEL different  00 or TAMPOE = 1: TAMPALRM is output on RTC_OUT1
If OSEL = 00 and TAMPOE = 0 and COE = 1: CALIB is output on RTC_OUT1
OUT2EN = 1: RTC output 2 enable
If (OSEL different  00 or TAMPOE = 1) and COE = 0: TAMPALRM is output on RTC_OUT2
If OSEL = 00 and TAMPOE = 0 and COE = 1: CALIB is output on RTC_OUT2
If (OSELdifferent  00 or TAMPOE = 1) and COE = 1: CALIB is output on RTC_OUT2 and TAMPALRM is output on RTC_OUT1.</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>OUT2EN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>RTC output 2 disable</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>RTC output 2 enable</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>WPR</name>
          <displayName>WPR</displayName>
          <description>RTC write protection register</description>
          <addressOffset>0x24</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>KEY</name>
              <description>Write protection key
This byte is written by software.
Reading this byte always returns 0x00.
Refer to  for a description of how to unlock RTC register write protection.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>write-only</access>
              <enumeratedValues>
                <name>KEY</name>
                <enumeratedValue>
                  <name>Activate</name>
                  <description>Activate write protection (any value that is not the keys)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Deactivate2</name>
                  <description>Key 2</description>
                  <value>83</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Deactivate1</name>
                  <description>Key 1</description>
                  <value>202</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CALR</name>
          <displayName>CALR</displayName>
          <description>RTC calibration register</description>
          <addressOffset>0x28</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <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 32768Hz). This decreases the frequency of the calendar with a resolution of 0.9537ppm.
To increase the frequency of the calendar, this feature should be used in conjunction with CALP. See .</description>
              <bitOffset>0</bitOffset>
              <bitWidth>9</bitWidth>
              <access>read-write</access>
              <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 calibration.</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>CALW16</name>
                <enumeratedValue>
                  <name>SixteenSeconds</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 digital calibration.</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>CALW8</name>
                <enumeratedValue>
                  <name>EightSeconds</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.5ppm
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 32768Hz, the number of RTCCLK pulses added during a 32-second window is calculated as follows: (512 x CALP) - CALM.
Refer to .</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <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>SHIFTR</name>
          <displayName>SHIFTR</displayName>
          <description>RTC shift control register</description>
          <addressOffset>0x2C</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <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_ICSR).
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>
              <access>write-only</access>
              <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_ICSR).
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>
              <access>write-only</access>
              <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>RTC timestamp time register</description>
          <addressOffset>0x30</addressOffset>
        </register>
        <register derivedFrom="DR">
          <name>TSDR</name>
          <displayName>TSDR</displayName>
          <description>RTC timestamp date register</description>
          <addressOffset>0x34</addressOffset>
        </register>
        <register derivedFrom="SSR">
          <name>TSSSR</name>
          <displayName>TSSSR</displayName>
          <description>RTC timestamp sub second register</description>
          <addressOffset>0x38</addressOffset>
        </register>
        <register>
          <dim>2</dim>
          <dimIncrement>0x8</dimIncrement>
          <dimIndex>A,B</dimIndex>
          <name>ALRM%sR</name>
          <displayName>ALRM%sR</displayName>
          <description>Alarm %s register</description>
          <addressOffset>0x40</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>SU</name>
              <description>Second units in BCD format</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-write</access>
              <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>
              <access>read-write</access>
              <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>
              <access>read-write</access>
              <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>
              <access>read-write</access>
              <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>
              <access>read-write</access>
              <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>
              <access>read-write</access>
              <enumeratedValues derivedFrom="MSK1"/>
            </field>
            <field>
              <name>HU</name>
              <description>Hour units in BCD format</description>
              <bitOffset>16</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-write</access>
              <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>
              <access>read-write</access>
              <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>
              <access>read-write</access>
              <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>
              <access>read-write</access>
              <enumeratedValues derivedFrom="MSK1"/>
            </field>
            <field>
              <name>DU</name>
              <description>Date units or day in BCD format</description>
              <bitOffset>24</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-write</access>
              <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>
              <access>read-write</access>
              <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>
              <access>read-write</access>
              <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>
              <access>read-write</access>
              <enumeratedValues derivedFrom="MSK1"/>
            </field>
          </fields>
        </register>
        <register>
          <dim>2</dim>
          <dimIncrement>0x8</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>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <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>
              <access>read-write</access>
              <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
2:	SS[14:2] are don't care in alarm A comparison. Only SS[1:0] are compared.
3:	SS[14:3] are don't care in alarm A comparison. Only SS[2:0] are compared.
...
12:	SS[14:12] are don't care in alarm A comparison. SS[11:0] are compared.
13:	SS[14:13] are don't care in alarm A comparison. SS[12:0] are compared.
14:	SS[14] is don't care in alarm A comparison. SS[13:0] are compared.
15:	All 15 SS bits are compared and must match to activate alarm.
The overflow bits of the synchronous counter (bits 15) is never compared. This bit can be different from 0 only after a shift operation.
Note: 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>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>SR</name>
          <displayName>SR</displayName>
          <description>RTC status register</description>
          <addressOffset>0x50</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <dim>2</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>A,B</dimIndex>
              <name>ALR%sF</name>
              <description>Alarm %s flag</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>ALRAF</name>
                <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_ALRxBR)</description>
                  <value>1</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 must be cleared by software at least 1.5 RTCCLK periods before WUTF is set to 1 again.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>WUTF</name>
                <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>
            </field>
            <field>
              <name>TSF</name>
              <description>Timestamp flag
This flag is set by hardware when a timestamp event occurs.
If ITSF flag is set, TSF must be cleared together with ITSF.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>TSF</name>
                <enumeratedValue>
                  <name>TimestampEvent</name>
                  <description>This flag is set by hardware when a time-stamp event occurs</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TSOVF</name>
              <description>Timestamp overflow flag
This flag is set by hardware when a timestamp event occurs while TSF is already set.
It is recommended to check and then clear TSOVF only after clearing the TSF bit. Otherwise, an overflow might not be noticed if a timestamp event occurs immediately before the TSF bit is cleared.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>TSOVF</name>
                <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>
            </field>
            <field>
              <name>ITSF</name>
              <description>Internal timestamp flag
This flag is set by hardware when a timestamp on the internal event occurs.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>ITSF</name>
                <enumeratedValue>
                  <name>TimestampEvent</name>
                  <description>This flag is set by hardware when a timestamp on the internal event occurs</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>MISR</name>
          <displayName>MISR</displayName>
          <description>RTC masked interrupt status register</description>
          <addressOffset>0x54</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <dim>2</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>A,B</dimIndex>
              <name>ALR%sMF</name>
              <description>Alarm %s masked flag</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>ALRAMF</name>
                <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>
            </field>
            <field>
              <name>WUTMF</name>
              <description>Wakeup timer masked flag
This flag is set by hardware when the wakeup timer interrupt occurs.
This flag must be cleared by software at least 1.5 RTCCLK periods before WUTF is set to 1 again.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>WUTMF</name>
                <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>
            </field>
            <field>
              <name>TSMF</name>
              <description>Timestamp masked flag
This flag is set by hardware when a timestamp interrupt occurs.
If ITSF flag is set, TSF must be cleared together with ITSF.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>TSMF</name>
                <enumeratedValue>
                  <name>TimestampEvent</name>
                  <description>This flag is set by hardware when a time-stamp event occurs</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TSOVMF</name>
              <description>Timestamp overflow masked flag
This flag is set by hardware when a timestamp interrupt occurs while TSMF is already set.
It is recommended to check and then clear TSOVF only after clearing the TSF bit. Otherwise, an overflow might not be noticed if a timestamp event occurs immediately before the TSF bit is cleared.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>TSOVMF</name>
                <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>
            </field>
            <field>
              <name>ITSMF</name>
              <description>Internal timestamp masked flag
This flag is set by hardware when a timestamp on the internal event occurs and timestampinterrupt is raised.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>ITSMF</name>
                <enumeratedValue>
                  <name>TimestampEvent</name>
                  <description>This flag is set by hardware when a timestamp on the internal event occurs</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>SCR</name>
          <displayName>SCR</displayName>
          <description>RTC status clear register</description>
          <addressOffset>0x5C</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>CALRAF</name>
              <description>Clear alarm A flag
Writing 1 in this bit clears the ALRBF bit in the RTC_SR register.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
              <enumeratedValues>
                <name>CALRAF</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear interrupt flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CALRBF</name>
              <description>Clear alarm B flag
Writing 1 in this bit clears the ALRBF bit in the RTC_SR register.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
              <enumeratedValues derivedFrom="CALRAF"/>
            </field>
            <field>
              <name>CWUTF</name>
              <description>Clear wakeup timer flag
Writing 1 in this bit clears the WUTF bit in the RTC_SR register.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
              <enumeratedValues derivedFrom="CALRAF"/>
            </field>
            <field>
              <name>CTSF</name>
              <description>Clear timestamp flag
Writing 1 in this bit clears the TSOVF bit in the RTC_SR register.
If ITSF flag is set, TSF must be cleared together with ITSF by setting CRSF and CITSF.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
              <enumeratedValues derivedFrom="CALRAF"/>
            </field>
            <field>
              <name>CTSOVF</name>
              <description>Clear timestamp overflow flag
Writing 1 in this bit clears the TSOVF bit in the RTC_SR register.
It is recommended to check and then clear TSOVF only after clearing the TSF bit. Otherwise, an overflow might not be noticed if a timestamp event occurs immediately before the TSF bit is cleared.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
              <enumeratedValues derivedFrom="CALRAF"/>
            </field>
            <field>
              <name>CITSF</name>
              <description>Clear internal timestamp flag
Writing 1 in this bit clears the ITSF bit in the RTC_SR register.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
              <enumeratedValues derivedFrom="CALRAF"/>
            </field>
          </fields>
        </register>
        <register>
          <name>CFGR</name>
          <displayName>CFGR</displayName>
          <description>RTC configuration register</description>
          <addressOffset>0x60</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>OUT2_RMP</name>
              <description>RTC_OUT2 mapping</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>SAI1</name>
      <description>SAI</description>
      <groupName>SAI</groupName>
      <baseAddress>0x40015800</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>SAI1</name>
        <description>SAI1 global interrupt</description>
        <value>87</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>
              <field>
                <name>MCKEN</name>
                <description>Master clock generation enable</description>
                <bitOffset>27</bitOffset>
                <bitWidth>1</bitWidth>
              </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="SAI1">
      <name>SAI2</name>
      <baseAddress>0x40015C00</baseAddress>
      <interrupt>
        <name>SAI2</name>
        <description>SAI2 global interrupt</description>
        <value>91</value>
      </interrupt>
    </peripheral>
    <peripheral>
      <name>SDMMC1</name>
      <description>SDMMC1</description>
      <groupName>SDMMC</groupName>
      <baseAddress>0x52007000</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x3FD</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>SDMMC1</name>
        <description>SDMMC global interrupt</description>
        <value>49</value>
      </interrupt>
      <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>
      <interrupt>
        <name>SDMMC</name>
        <description>SDMMC global interrupt</description>
        <value>124</value>
      </interrupt>
    </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>SPDIFRX</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>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-write</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-write</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>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>SYSCFG</name>
      <description>System configuration controller</description>
      <groupName>SYSCFG</groupName>
      <baseAddress>0x58000400</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>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>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>CFGR</name>
          <displayName>SYSCFG_BRK_LOCKUPR</displayName>
          <description>SYSCFG timer break lockup
          register</description>
          <addressOffset>0x18</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>PVDL</name>
              <description>PVD lock enable bit.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>FLASHL</name>
              <description>Flash double ECC error lock
              bit</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CM7L</name>
              <description>Cortex-M7
              LOCKUP (HardFault) output enable bit</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DTCML</name>
              <description>D1TCM or D0TCM double ECC error signal
              lock</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ITCML</name>
              <description>ITCM double ECC error signal
              lock</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>TAMP</name>
      <description>Tamper and backup</description>
      <groupName>TAMP</groupName>
      <baseAddress>0x58004400</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <registers>
        <register>
          <name>CR1</name>
          <displayName>CR1</displayName>
          <description>TAMP control register 1</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <resetValue>0xFFFF0000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>TAMP1E</name>
              <description>Tamper detection on TAMP_IN1 enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TAMP2E</name>
              <description>Tamper detection on TAMP_IN2 enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TAMP3E</name>
              <description>Tamper detection on TAMP_IN3 enable</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ITAMP1E</name>
              <description>Internal tamper 1 enable: RTC power domain supply monitoring</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ITAMP2E</name>
              <description>Internal tamper 2 enable: Temperature monitoring</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ITAMP3E</name>
              <description>Internal tamper 3 enable: LSE monitoring</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ITAMP4E</name>
              <description>Internal tamper 4 enable: HSE monitoring</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ITAMP5E</name>
              <description>Internal tamper 5 enable: RTC calendar overflow</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ITAMP6E</name>
              <description>Internal tamper 6 enable: ST manufacturer readout</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ITAMP8E</name>
              <description>Internal tamper 8 enable: monotonic counter overflow</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>CR2</name>
          <displayName>CR2</displayName>
          <description>TAMP control register 2</description>
          <addressOffset>0x4</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>TAMP1NOER</name>
              <description>Tamper 1 no erase</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TAMP2NOER</name>
              <description>Tamper 2 no erase</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TAMP3NOER</name>
              <description>Tamper 3 no erase</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TAMP1MSK</name>
              <description>Tamper 1 mask
The tamper 1 interrupt must not be enabled when TAMP1MSK is set.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TAMP2MSK</name>
              <description>Tamper 2 mask
The tamper 2 interrupt must not be enabled when TAMP2MSK is set.</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TAMP3MSK</name>
              <description>Tamper 3 mask
The tamper 3 interrupt must not be enabled when TAMP3MSK is set.</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TAMP1TRG</name>
              <description>Active level for tamper 1 input (active mode disabled)
If TAMPFLT = 00 Tamper 1 input rising edge and high level triggers a tamper detection event.
If TAMPFLT = 00 Tamper 1 input falling edge and low level triggers a tamper detection event.</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TAMP2TRG</name>
              <description>Active level for tamper 2 input (active mode disabled)
If TAMPFLT = 00 Tamper 2 input rising edge and high level triggers a tamper detection event.
If TAMPFLT = 00 Tamper 2 input falling edge and low level triggers a tamper detection event.</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TAMP3TRG</name>
              <description>Active level for tamper 3 input (active mode disabled)
If TAMPFLT = 00 Tamper 3 input rising edge and high level triggers a tamper detection event.
If TAMPFLT = 00 Tamper 3 input falling edge and low level triggers a tamper detection event.</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>FLTCR</name>
          <displayName>FLTCR</displayName>
          <description>TAMP filter control register</description>
          <addressOffset>0xC</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>TAMPFREQ</name>
              <description>Tamper sampling frequency
Determines the frequency at which each of the TAMP_INx inputs are sampled.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TAMPFLT</name>
              <description>TAMP_INx 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 TAMP_INx inputs.</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TAMPPRCH</name>
              <description>TAMP_INx 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 TAMP_INx inputs.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TAMPPUDIS</name>
              <description>TAMP_INx pull-up disable
This bit determines if each of the TAMPx pins are precharged before each sample.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>ATCR1</name>
          <displayName>ATCR1</displayName>
          <description>TAMP active tamper control register 1</description>
          <addressOffset>0x10</addressOffset>
          <size>0x20</size>
          <resetValue>0x00070000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>TAMP1AM</name>
              <description>Tamper 1 active mode</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TAMP2AM</name>
              <description>Tamper 2 active mode</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TAMP3AM</name>
              <description>Tamper 3 active mode</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ATOSEL1</name>
              <description>Active tamper shared output 1 selection
The selected output must be available in the package pinout</description>
              <bitOffset>8</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ATOSEL2</name>
              <description>Active tamper shared output 2 selection
The selected output must be available in the package pinout</description>
              <bitOffset>10</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ATOSEL3</name>
              <description>Active tamper shared output 3 selection
The selected output must be available in the package pinout</description>
              <bitOffset>12</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ATCKSEL</name>
              <description>Active tamper RTC asynchronous prescaler clock selection
These bits selects the RTC asynchronous prescaler stage output.The selected clock is CK_ATPRE.
fCK_ATPRE = fRTCCLK / 2ATCKSEL when (PREDIV_A+1) = 128.
...
Note: These bits can be written only when all active tampers are disabled. The write protection remains for up to 1.5 ck_atpre cycles after all the active tampers are disable.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ATPER</name>
              <description>Active tamper output change period
The tamper output is changed every CK_ATPER = (2ATPER x CK_ATPRE) cycles. Refer to .</description>
              <bitOffset>24</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ATOSHARE</name>
              <description>Active tamper output sharing</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>FLTEN</name>
              <description>Active tamper filter enable</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>ATSEEDR</name>
          <displayName>ATSEEDR</displayName>
          <description>TAMP active tamper seed register</description>
          <addressOffset>0x14</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>SEED</name>
              <description>Pseudo-random generator seed value
This register must be written four times with 32-bit values to provide the 128-bit seed to the PRNG. Writing to this register automatically sends the seed value to the PRNG.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>write-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>ATOR</name>
          <displayName>ATOR</displayName>
          <description>TAMP active tamper output register</description>
          <addressOffset>0x18</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>PRNG</name>
              <description>Pseudo-random generator value
This field provides the values of the PRNG output. Because of potential inconsistencies due to synchronization delays, PRNG must be read at least twice. The read value is correct if it is equal to previous read value.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>SEEDF</name>
              <description>Seed running flag
This flag is set by hardware when a new seed is written in the TAMP_ATSEEDR. It is cleared by hardware when the PRNG has absorbed this new seed, and by system reset. The TAMP APB cock must not be switched off as long as SEEDF is set.</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>INITS</name>
              <description>Active tamper initialization status
This flag is set by hardware when the PRNG has absorbed the first 128-bit seed, meaning that the enabled active tampers are functional. This flag is left unchanged when the active tampers are disabled.</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>IER</name>
          <displayName>IER</displayName>
          <description>TAMP interrupt enable register</description>
          <addressOffset>0x2C</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>TAMP1IE</name>
              <description>Tamper 1 interrupt enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TAMP2IE</name>
              <description>Tamper 2 interrupt enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>TAMP3IE</name>
              <description>Tamper 3 interrupt enable</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ITAMP1IE</name>
              <description>Internal tamper 1 interrupt enable: RTC power domain supply monitoring</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ITAMP2IE</name>
              <description>Internal tamper 2 interrupt enable: Temperature monitoring</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ITAMP3IE</name>
              <description>Internal tamper 3 interrupt enable: LSE monitoring</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ITAMP4IE</name>
              <description>Internal tamper 4 interrupt enable: HSE monitoring</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ITAMP5IE</name>
              <description>Internal tamper 5 interrupt enable: RTC calendar overflow</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ITAMP6IE</name>
              <description>Internal tamper 6 interrupt enable: ST manufacturer readout</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>ITAMP8IE</name>
              <description>Internal tamper 8 interrupt enable: monotonic counter overflow</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>SR</name>
          <displayName>SR</displayName>
          <description>TAMP status register</description>
          <addressOffset>0x30</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>TAMP1F</name>
              <description>TAMP1 detection flag
This flag is set by hardware when a tamper detection event is detected on the TAMP1 input.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>TAMP2F</name>
              <description>TAMP2 detection flag
This flag is set by hardware when a tamper detection event is detected on the TAMP2 input.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>TAMP3F</name>
              <description>TAMP3 detection flag
This flag is set by hardware when a tamper detection event is detected on the TAMP3 input.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>ITAMP1F</name>
              <description>RTC power domain voltage monitoring tamper detection flag
This flag is set by hardware when a tamper detection event is detected on the internal tamper 1.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>ITAMP2F</name>
              <description>Temperature monitoring tamper detection flag
This flag is set by hardware when a tamper detection event is detected on the internal tamper 2.</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>ITAMP3F</name>
              <description>LSE monitoring tamper detection flag
This flag is set by hardware when a tamper detection event is detected on the internal tamper 3.</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>ITAMP4F</name>
              <description>HSE monitoring tamper detection flag
This flag is set by hardware when a tamper detection event is detected on the internal tamper 4.</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>ITAMP5F</name>
              <description>RTC calendar overflow tamper detection flag
This flag is set by hardware when a tamper detection event is detected on the internal tamper 5.</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>ITAMP6F</name>
              <description>ST manufacturer readout tamper detection flag
This flag is set by hardware when a tamper detection event is detected on the internal tamper 6.</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>ITAMP8F</name>
              <description>Monotonic counter overflow tamper flag
This flag is set by hardware when a tamper detection event is detected on the internal tamper 8.</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>MISR</name>
          <displayName>MISR</displayName>
          <description>TAMP masked interrupt status register</description>
          <addressOffset>0x34</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>TAMP1MF</name>
              <description>TAMP1 interrupt masked flag
This flag is set by hardware when the tamper 1 interrupt is raised.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>TAMP2MF</name>
              <description>TAMP2 interrupt masked flag
This flag is set by hardware when the tamper 2 interrupt is raised.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>TAMP3MF</name>
              <description>TAMP3 interrupt masked flag
This flag is set by hardware when the tamper 3 interrupt is raised.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>ITAMP1MF</name>
              <description>RTC power domain voltage monitoring tamper interrupt masked flag
This flag is set by hardware when the internal tamper 1 interrupt is raised.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>ITAMP2MF</name>
              <description>Temperature monitoring tamper interrupt masked flag
This flag is set by hardware when the internal tamper 2 interrupt is raised.</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>ITAMP3MF</name>
              <description>LSE monitoring tamper interrupt masked flag
This flag is set by hardware when the internal tamper 3 interrupt is raised.</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>ITAMP4MF</name>
              <description>HSE monitoring tamper interrupt masked flag
This flag is set by hardware when the internal tamper 4 interrupt is raised.</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>ITAMP5MF</name>
              <description>RTC calendar overflow tamper interrupt masked flag
This flag is set by hardware when the internal tamper 5 interrupt is raised.</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>ITAMP6MF</name>
              <description>ST manufacturer readout tamper interrupt masked flag
This flag is set by hardware when the internal tamper 6 interrupt is raised.</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>ITAMP8MF</name>
              <description>Monotonic counter overflow interrupt masked flag
This flag is set by hardware when the internal tamper 8 interrupt is raised.</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>SCR</name>
          <displayName>SCR</displayName>
          <description>TAMP status clear register</description>
          <addressOffset>0x3C</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>CTAMP1F</name>
              <description>Clear TAMP1 detection flag
Writing 1 in this bit clears the TAMP1F bit in the TAMP_SR register.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
            </field>
            <field>
              <name>CTAMP2F</name>
              <description>Clear TAMP2 detection flag
Writing 1 in this bit clears the TAMP2F bit in the TAMP_SR register.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
            </field>
            <field>
              <name>CTAMP3F</name>
              <description>Clear TAMP3 detection flag
Writing 1 in this bit clears the TAMP3F bit in the TAMP_SR register.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
            </field>
            <field>
              <name>CITAMP1F</name>
              <description>Clear ITAMP1 detection flag
Writing 1 in this bit clears the ITAMP1F bit in the TAMP_SR register.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
            </field>
            <field>
              <name>CITAMP2F</name>
              <description>Clear ITAMP2 detection flag
Writing 1 in this bit clears the ITAMP2F bit in the TAMP_SR register.</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
            </field>
            <field>
              <name>CITAMP3F</name>
              <description>Clear ITAMP3 detection flag
Writing 1 in this bit clears the ITAMP3F bit in the TAMP_SR register.</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
            </field>
            <field>
              <name>CITAMP4F</name>
              <description>Clear ITAMP4 detection flag
Writing 1 in this bit clears the ITAMP4F bit in the TAMP_SR register.</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
            </field>
            <field>
              <name>CITAMP5F</name>
              <description>Clear ITAMP5 detection flag
Writing 1 in this bit clears the ITAMP5F bit in the TAMP_SR register.</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
            </field>
            <field>
              <name>CITAMP6F</name>
              <description>Clear ITAMP6 detection flag
Writing 1 in this bit clears the ITAMP6F bit in the TAMP_SR register.</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
            </field>
            <field>
              <name>CITAMP8F</name>
              <description>Clear ITAMP8 detection flag
Writing 1 in this bit clears the ITAMP8F bit in the TAMP_SR register.</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>COUNTR</name>
          <displayName>COUNTR</displayName>
          <description>TAMP monotonic counter register</description>
          <addressOffset>0x40</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>COUNT</name>
              <description>This register is read-only only and is incremented by one when a write access is done to this register. This register cannot roll-over and is frozen when reaching the maximum value.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-only</access>
            </field>
          </fields>
        </register>
        <register>
          <name>CFGR</name>
          <displayName>CFGR</displayName>
          <description>TAMP configuration register</description>
          <addressOffset>0x50</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>OUT3_RMP</name>
              <description>TAMP_OUT3 mapping</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <dim>32</dim>
          <dimIncrement>0x4</dimIncrement>
          <dimIndex>0-31</dimIndex>
          <name>BKP%sR</name>
          <displayName>BKP%sR</displayName>
          <description>TAMP backup %s register</description>
          <addressOffset>0x100</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <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.
In the default configuration this register is reset on a tamper detection event. It is forced to reset value as long as there is at least one internal or external tamper flag being set. This register is also reset when the readout protection (RDP) is disabled.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>TIM1</name>
      <description>Advanced-timers</description>
      <groupName>TIM</groupName>
      <baseAddress>0x40010000</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>TIM1_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>CRR6</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>
      <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>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_DAC1</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>TIM8</name>
      <description>Advanced-timers</description>
      <groupName>TIM</groupName>
      <baseAddress>0x40010400</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>TIM8_CC</name>
        <description>TIM8 capture / compare</description>
        <value>46</value>
      </interrupt>
      <interrupt>
        <name>TIM8_TRG_COM_TIM14</name>
        <description>TIM8 and 14 trigger /commutation and
        global</description>
        <value>45</value>
      </interrupt>
      <interrupt>
        <name>TIM8_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>
      <registers>
        <register derivedFrom="TIM1.CR1">
          <name>CR1</name>
          <displayName>CR1</displayName>
          <description>control register 1</description>
          <addressOffset>0x0</addressOffset>
        </register>
        <register derivedFrom="TIM1.CR2">
          <name>CR2</name>
          <displayName>CR2</displayName>
          <description>control register 2</description>
          <addressOffset>0x4</addressOffset>
        </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 derivedFrom="TIM1.SMCR.SMS">
              <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>
              <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 derivedFrom="TIM1.SMCR.MSM">
              <name>MSM</name>
              <description>Master/Slave mode</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="TIM1.SMCR.ETF">
              <name>ETF</name>
              <description>External trigger filter</description>
              <bitOffset>8</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field derivedFrom="TIM1.SMCR.ETPS">
              <name>ETPS</name>
              <description>External trigger prescaler</description>
              <bitOffset>12</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field derivedFrom="TIM1.SMCR.ECE">
              <name>ECE</name>
              <description>External clock enable</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="TIM1.SMCR.ETP">
              <name>ETP</name>
              <description>External trigger polarity</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field derivedFrom="TIM1.SMCR.SMS_3">
              <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 derivedFrom="TIM1.DIER">
          <name>DIER</name>
          <displayName>DIER</displayName>
          <description>DMA/Interrupt enable register</description>
          <addressOffset>0xC</addressOffset>
        </register>
        <register derivedFrom="TIM1.SR">
          <name>SR</name>
          <displayName>SR</displayName>
          <description>status register</description>
          <addressOffset>0x10</addressOffset>
        </register>
        <register derivedFrom="TIM1.EGR">
          <name>EGR</name>
          <displayName>EGR</displayName>
          <description>event generation register</description>
          <addressOffset>0x14</addressOffset>
        </register>
        <register derivedFrom="TIM1.CCMR1_Output">
          <name>CCMR1_Output</name>
          <displayName>CCMR1_Output</displayName>
          <description>capture/compare mode register 1 (output
          mode)</description>
          <addressOffset>0x18</addressOffset>
        </register>
        <register derivedFrom="TIM1.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="TIM1.CCMR2_Output">
          <name>CCMR2_Output</name>
          <displayName>CCMR2_Output</displayName>
          <description>capture/compare mode register 2 (output
          mode)</description>
          <addressOffset>0x1C</addressOffset>
        </register>
        <register derivedFrom="TIM1.CCMR2_Input">
          <name>CCMR2_Input</name>
          <displayName>CCMR2_Input</displayName>
          <description>capture/compare mode register 2 (input
          mode)</description>
          <alternateRegister>CCMR2_Output</alternateRegister>
          <addressOffset>0x1C</addressOffset>
        </register>
        <register derivedFrom="TIM1.CCER">
          <name>CCER</name>
          <displayName>CCER</displayName>
          <description>capture/compare enable
          register</description>
          <addressOffset>0x20</addressOffset>
        </register>
        <register derivedFrom="TIM1.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="TIM1.PSC">
          <name>PSC</name>
          <displayName>PSC</displayName>
          <description>prescaler</description>
          <addressOffset>0x28</addressOffset>
        </register>
        <register derivedFrom="TIM1.ARR">
          <name>ARR</name>
          <displayName>ARR</displayName>
          <description>auto-reload register</description>
          <addressOffset>0x2C</addressOffset>
        </register>
        <register derivedFrom="TIM1.CCR%s">
          <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>
        </register>
        <register derivedFrom="TIM1.DCR">
          <name>DCR</name>
          <displayName>DCR</displayName>
          <description>DMA control register</description>
          <addressOffset>0x48</addressOffset>
        </register>
        <register derivedFrom="TIM1.DMAR">
          <name>DMAR</name>
          <displayName>DMAR</displayName>
          <description>DMA address for full transfer</description>
          <addressOffset>0x4C</addressOffset>
        </register>
        <register derivedFrom="TIM1.RCR">
          <name>RCR</name>
          <displayName>RCR</displayName>
          <description>repetition counter register</description>
          <addressOffset>0x30</addressOffset>
        </register>
        <register derivedFrom="TIM1.BDTR">
          <name>BDTR</name>
          <displayName>BDTR</displayName>
          <description>break and dead-time register</description>
          <addressOffset>0x44</addressOffset>
        </register>
        <register derivedFrom="TIM1.CCMR3_Output">
          <name>CCMR3_Output</name>
          <displayName>CCMR3_Output</displayName>
          <description>capture/compare mode register 3 (output
          mode)</description>
          <addressOffset>0x54</addressOffset>
        </register>
        <register derivedFrom="TIM1.CCR5">
          <name>CCR5</name>
          <displayName>CCR5</displayName>
          <description>capture/compare register</description>
          <addressOffset>0x58</addressOffset>
        </register>
        <register derivedFrom="TIM1.CCR6">
          <name>CCR6</name>
          <displayName>CCR6</displayName>
          <description>capture/compare register</description>
          <addressOffset>0x5C</addressOffset>
        </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>
      <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>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>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>FDCAN1</name>
      <description>FDCAN1</description>
      <groupName>FDCAN</groupName>
      <baseAddress>0x4000A000</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <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>0x32141218</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>0x87654321</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>0x00000A33</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>0x00000001</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>0x00000A33</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>0xFFFF0000</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>0x0000FFFF</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>0x00000707</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>0x00010000</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-only</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>
      <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>0x00000000</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>UART9</name>
      <baseAddress>0x40011800</baseAddress>
      <interrupt>
        <name>UART9</name>
        <description>UART9 global interrupt</description>
        <value>140</value>
      </interrupt>
    </peripheral>
    <peripheral derivedFrom="USART1">
      <name>USART10</name>
      <baseAddress>0x40011C00</baseAddress>
      <interrupt>
        <name>USART10</name>
        <description>USART10 global interrupt</description>
        <value>141</value>
      </interrupt>
    </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>WWDG</name>
      <description>WWDG</description>
      <groupName>WWDG</groupName>
      <baseAddress>0x50003000</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>WWDG</name>
        <description>Window Watchdog interrupt</description>
        <value>0</value>
      </interrupt>
      <interrupt>
        <name>WWDG1_RST</name>
        <description>Window Watchdog interrupt</description>
        <value>143</value>
      </interrupt>
      <registers>
        <register>
          <name>CR</name>
          <displayName>CR</displayName>
          <description>Control register</description>
          <addressOffset>0x0</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x0000007F</resetValue>
          <fields>
            <field>
              <name>T</name>
              <description>7-bit counter (MSB to LSB) These bits
              contain the value of the watchdog counter. It is
              decremented every (4096 x 2WDGTB[1:0]) PCLK cycles. A
              reset is produced when it is decremented from 0x40 to
              0x3F (T6 becomes cleared).</description>
              <bitOffset>0</bitOffset>
              <bitWidth>7</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>127</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>WDGA</name>
              <description>Activation bit This bit is set by
              software and only cleared by hardware after a reset.
              When WDGA=1, the watchdog can generate a
              reset.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>WDGA</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Watchdog disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Watchdog enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CFR</name>
          <displayName>CFR</displayName>
          <description>Configuration register</description>
          <addressOffset>0x4</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x0000007F</resetValue>
          <fields>
            <field>
              <name>W</name>
              <description>7-bit window value These bits contain
              the window value to be compared to the
              downcounter.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>7</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>127</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>WDGTB</name>
              <description>Timer base The time base of the
              prescaler can be modified as follows:</description>
              <bitOffset>11</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>WDGTB</name>
                <enumeratedValue>
                  <name>Div1</name>
                  <description>Counter clock (PCLK1 div 4096) div 1</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div2</name>
                  <description>Counter clock (PCLK1 div 4096) div 2</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div4</name>
                  <description>Counter clock (PCLK1 div 4096) div 4</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div8</name>
                  <description>Counter clock (PCLK1 div 4096) div 8</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div16</name>
                  <description>Counter clock (PCLK1 div 4096) div 16</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div32</name>
                  <description>Counter clock (PCLK1 div 4096) div 32</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div64</name>
                  <description>Counter clock (PCLK1 div 4096) div 64</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div128</name>
                  <description>Counter clock (PCLK1 div 4096) div 128</description>
                  <value>7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EWI</name>
              <description>Early wakeup interrupt When set, an
              interrupt occurs whenever the counter reaches the
              value 0x40. This interrupt is only cleared by
              hardware after a reset.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>EWIW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Enable</name>
                  <description>interrupt occurs whenever the counter reaches the value 0x40</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>SR</name>
          <displayName>SR</displayName>
          <description>Status register</description>
          <addressOffset>0x8</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>EWIF</name>
              <description>Early wakeup interrupt flag This bit is
              set by hardware when the counter has reached the
              value 0x40. It must be cleared by software by writing
              0. A write of 1 has no effect. This bit is also set
              if the interrupt is not enabled.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>zeroToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>EWIFR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Finished</name>
                  <description>The EWI Interrupt Service Routine has been serviced</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Pending</name>
                  <description>The EWI Interrupt Service Routine has been triggered</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>EWIFW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Finished</name>
                  <description>The EWI Interrupt Service Routine has been serviced</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>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>