<?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>STM32WL5X_CM4</name>
  <version>2.2</version>
  <description>STM32WL5x_CM4</description>
  <cpu>
    <name>CM4</name>
    <revision>r0p1</revision>
    <endian>little</endian>
    <mpuPresent>true</mpuPresent>
    <fpuPresent>false</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>ADC</name>
      <description>Analog to digital convertor</description>
      <groupName>ADC</groupName>
      <baseAddress>0x40012400</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>ADC</name>
        <description>ADC 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>ADRDY</name>
              <description>ADRDY</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>ADRDYR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NotReady</name>
                  <description>ADC not yet ready to start conversion</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Ready</name>
                  <description>ADC ready to start conversion</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>ADRDYW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear the ADC ready flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EOSMP</name>
              <description>EOSMP</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>EOSMPR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NotAtEnd</name>
                  <description>Not at the end of the samplings phase</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>AtEnd</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 the sampling phase flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EOC</name>
              <description>EOC</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>EOCR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NotComplete</name>
                  <description>Channel conversion is not complete</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Complete</name>
                  <description>Channel conversion complete</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>EOCW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear the channel conversion flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EOS</name>
              <description>EOS</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>EOSR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NotComplete</name>
                  <description>Conversion sequence is not complete</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Complete</name>
                  <description>Conversion sequence complete</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>EOSW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear the conversion sequence flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OVR</name>
              <description>OVR</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 the overrun 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 the analog watchdog event flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EOCAL</name>
              <description>EOCAL</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>EOCALR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NotComplete</name>
                  <description>Calibration is not complete</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Complete</name>
                  <description>Calibration complete</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>EOCALW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear the calibration flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CCRDY</name>
              <description>CCRDY</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>CCRDYR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NotComplete</name>
                  <description>Channel configuration update not applied</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Complete</name>
                  <description>Channel configuration update is applied</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>CCRDYW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear the channel configuration 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>ADRDYIE</name>
              <description>ADRDYIE</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ADRDYIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>ADRDY interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>ADRDY interrupt enabled. An interrupt is generated when the ADRDY bit is set.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EOSMPIE</name>
              <description>EOSMPIE</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>EOSMPIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>EOSMP interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>EOSMP interrupt enabled. An interrupt is generated when the EOSMP bit is set.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EOCIE</name>
              <description>EOCIE</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>EOCIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>EOC interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>EOC interrupt enabled. An interrupt is generated when the EOC bit is set.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EOSIE</name>
              <description>EOSIE</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>EOSIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>EOS interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>EOS interrupt enabled. An interrupt is generated when the EOS bit is set.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OVRIE</name>
              <description>OVRIE</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. An interrupt is generated when the OVR bit is set.</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>EOCALIE</name>
              <description>EOCALIE</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>EOCALIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>End of calibration interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>End of calibration interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CCRDYIE</name>
              <description>CCRDYIE</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CCRDYIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Channel configuration ready interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Channel configuration ready interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CR</name>
          <displayName>CR</displayName>
          <description>ADC control register</description>
          <addressOffset>0x8</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>ADEN</name>
              <description>ADEN</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>
            <field>
              <name>ADDIS</name>
              <description>ADDIS</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>ADSTART</name>
              <description>ADSTART</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>ADSTP</name>
              <description>ADSTP</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>ADVREGEN</name>
              <description>ADVREGEN</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>
              <name>ADCAL</name>
              <description>ADCAL</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>
          </fields>
        </register>
        <register>
          <name>CFGR1</name>
          <displayName>CFGR1</displayName>
          <description>ADC configuration register 1</description>
          <addressOffset>0xC</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DMAEN</name>
              <description>DMAEN</description>
              <bitOffset>0</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>DMACFG</name>
              <description>DMACFG</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DMACFG</name>
                <enumeratedValue>
                  <name>OneShot</name>
                  <description>DMA one shot mode selected</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Circular</name>
                  <description>DMA circular mode selected</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SCANDIR</name>
              <description>SCANDIR</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SCANDIR</name>
                <enumeratedValue>
                  <name>Upward</name>
                  <description>Upward scan (from CHSEL0 to CHSEL17)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Backward</name>
                  <description>Backward scan (from CHSEL17 to CHSEL0)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RES</name>
              <description>RES</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>RES</name>
                <enumeratedValue>
                  <name>Bits12</name>
                  <description>12 bits</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bits10</name>
                  <description>10 bits</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bits8</name>
                  <description>8 bits</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bits6</name>
                  <description>6 bits</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ALIGN</name>
              <description>ALIGN</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ALIGN</name>
                <enumeratedValue>
                  <name>Right</name>
                  <description>Right alignment</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Left</name>
                  <description>Left alignment</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EXTSEL</name>
              <description>EXTSEL</description>
              <bitOffset>6</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>EXTSEL</name>
                <enumeratedValue>
                  <name>TIM1_TRGO2</name>
                  <description>Timer 1 TRGO 2 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_CH4</name>
                  <description>Timer 2 CH4 event</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TIM2_CH3</name>
                  <description>Timer 2 CH3 event</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>EXTI11</name>
                  <description>EXTI line 11 event</description>
                  <value>7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EXTEN</name>
              <description>EXTEN</description>
              <bitOffset>10</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>EXTEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Hardware trigger detection disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>RisingEdge</name>
                  <description>Hardware trigger detection on the rising edge</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FallingEdge</name>
                  <description>Hardware trigger detection on the falling edge</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>BothEdges</name>
                  <description>Hardware trigger detection on both the rising and falling edges</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OVRMOD</name>
              <description>OVRMOD</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>OVRMOD</name>
                <enumeratedValue>
                  <name>Preserve</name>
                  <description>ADC_DR register is preserved with the old data when an overrun is detected</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Overwrite</name>
                  <description>ADC_DR register is overwritten with the last conversion result when an overrun is detected</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CONT</name>
              <description>CONT</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>WAIT</name>
              <description>WAIT</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>WAIT</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Wait conversion mode off</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Wait conversion mode on</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>AUTOFF</name>
              <description>AUTOFF</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>AUTOFF</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Auto-off mode disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Auto-off mode enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DISCEN</name>
              <description>DISCEN</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DISCEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Discontinuous mode disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Discontinuous mode enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CHSELRMOD</name>
              <description>CHSELRMOD</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CHSELRMOD</name>
                <enumeratedValue>
                  <name>BitPerInput</name>
                  <description>Each bit of the ADC_CHSELR register enables an input</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Sequence</name>
                  <description>ADC_CHSELR register is able to sequence up to 8 channels</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>AWD1SGL</name>
              <description>AWD1SGL</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>AWD1SGL</name>
                <enumeratedValue>
                  <name>AllChannels</name>
                  <description>Analog watchdog 1 enabled on all channels</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SingleChannel</name>
                  <description>Analog watchdog 1 enabled on a single channel</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>AWD1EN</name>
              <description>AWD1EN</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>AWD1EN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Analog watchdog 1 disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Analog watchdog 1 enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>AWD1CH</name>
              <description>AWD1CH</description>
              <bitOffset>26</bitOffset>
              <bitWidth>5</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>17</maximum>
                </range>
              </writeConstraint>
            </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>OVSE</name>
              <description>OVSE</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>OVSE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Oversampler disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Oversampler enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OVSR</name>
              <description>OVSR0</description>
              <bitOffset>2</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>OVSR</name>
                <enumeratedValue>
                  <name>Mul2</name>
                  <description>2x</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Mul4</name>
                  <description>4x</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Mul8</name>
                  <description>8x</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Mul16</name>
                  <description>16x</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Mul32</name>
                  <description>32x</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Mul64</name>
                  <description>64x</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Mul128</name>
                  <description>128x</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Mul256</name>
                  <description>256x</description>
                  <value>7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OVSS</name>
              <description>OVSS0</description>
              <bitOffset>5</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues>
                <name>OVSS</name>
                <enumeratedValue>
                  <name>NoShift</name>
                  <description>No shift</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Shift1</name>
                  <description>Shift 1-bit</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Shift2</name>
                  <description>Shift 2-bits</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Shift3</name>
                  <description>Shift 3-bits</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Shift4</name>
                  <description>Shift 4-bits</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Shift5</name>
                  <description>Shift 5-bits</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Shift6</name>
                  <description>Shift 6-bits</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Shift7</name>
                  <description>Shift 7-bits</description>
                  <value>7</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Shift8</name>
                  <description>Shift 8-bits</description>
                  <value>8</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TOVS</name>
              <description>TOVS</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TOVS</name>
                <enumeratedValue>
                  <name>TriggerAll</name>
                  <description>All oversampled conversions for a channel are done consecutively after a trigger</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TriggerEach</name>
                  <description>Each oversampled conversion for a channel needs a trigger</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LFTRIG</name>
              <description>LFTRIG</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>LFTRIG</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Low Frequency Trigger Mode disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Low Frequency Trigger Mode enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CKMODE</name>
              <description>CKMODE</description>
              <bitOffset>30</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>CKMODE</name>
                <enumeratedValue>
                  <name>ADCLK</name>
                  <description>ADCCLK (Asynchronous clock mode)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PCLK_Div2</name>
                  <description>PCLK/2 (Synchronous clock mode)</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PCLK_Div4</name>
                  <description>PCLK/4 (Synchronous clock mode)</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PCLK</name>
                  <description>PCLK (Synchronous clock mode)</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>SMPR</name>
          <displayName>SMPR</displayName>
          <description>ADC sampling time register</description>
          <addressOffset>0x14</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>2</dim>
              <dimIncrement>0x4</dimIncrement>
              <dimIndex>1-2</dimIndex>
              <name>SMP%s</name>
              <description>Sampling time selection %s</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>SMP1</name>
                <enumeratedValue>
                  <name>Cycles1_5</name>
                  <description>1.5 ADC clock cycles</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Cycles3_5</name>
                  <description>3.5 ADC clock cycles</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Cycles7_5</name>
                  <description>7.5 ADC clock cycles</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Cycles12_5</name>
                  <description>12.5 ADC clock cycles</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Cycles19_5</name>
                  <description>19.5 ADC clock cycles</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Cycles39_5</name>
                  <description>39.5 ADC clock cycles</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Cycles79_5</name>
                  <description>79.5 ADC clock cycles</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Cycles160_5</name>
                  <description>160.5 ADC clock cycles</description>
                  <value>7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>18</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>0-17</dimIndex>
              <name>SMPSEL%s</name>
              <description>Channel-%s sampling time selection</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SMPSEL0</name>
                <enumeratedValue>
                  <name>Smp1</name>
                  <description>Sampling time of CHANNELx use the setting of SMP1 register</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Smp2</name>
                  <description>Sampling time of CHANNELx use the setting of SMP2 register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>AWD1TR</name>
          <displayName>AWD1TR</displayName>
          <description>ADC watchdog threshold           register</description>
          <addressOffset>0x20</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x0FFF0000</resetValue>
          <fields>
            <field>
              <name>LT1</name>
              <description>LT1</description>
              <bitOffset>0</bitOffset>
              <bitWidth>12</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4095</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>HT1</name>
              <description>HT1</description>
              <bitOffset>16</bitOffset>
              <bitWidth>12</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4095</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>AWD2TR</name>
          <displayName>AWD2TR</displayName>
          <description>ADC watchdog threshold           register</description>
          <addressOffset>0x24</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>LT2</name>
              <description>LT2</description>
              <bitOffset>0</bitOffset>
              <bitWidth>12</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4095</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>HT2</name>
              <description>HT2</description>
              <bitOffset>16</bitOffset>
              <bitWidth>12</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4095</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>CHSELR0</name>
          <displayName>CHSELR0</displayName>
          <description>channel selection register</description>
          <addressOffset>0x28</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>18</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>0-17</dimIndex>
              <name>CHSEL%s</name>
              <description>Channel-%s selection</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CHSEL0</name>
                <enumeratedValue>
                  <name>NotSelected</name>
                  <description>Input Channel is not selected for conversion</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Selected</name>
                  <description>Input Channel is selected for conversion</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CHSELR1</name>
          <displayName>CHSELR1</displayName>
          <description>channel selection register</description>
          <alternateRegister>CHSELR0</alternateRegister>
          <addressOffset>0x28</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>8</dim>
              <dimIncrement>0x4</dimIncrement>
              <dimIndex>1-8</dimIndex>
              <name>SQ%s</name>
              <description>%s conversion of the sequence</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues>
                <name>SQ1</name>
                <enumeratedValue>
                  <name>Ch0</name>
                  <description>Channel 0 selected for the Nth conversion</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Ch1</name>
                  <description>Channel 1 selected for the Nth conversion</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Ch2</name>
                  <description>Channel 2 selected for the Nth conversion</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Ch3</name>
                  <description>Channel 3 selected for the Nth conversion</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Ch4</name>
                  <description>Channel 4 selected for the Nth conversion</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Ch5</name>
                  <description>Channel 5 selected for the Nth conversion</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Ch6</name>
                  <description>Channel 6 selected for the Nth conversion</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Ch7</name>
                  <description>Channel 7 selected for the Nth conversion</description>
                  <value>7</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Ch8</name>
                  <description>Channel 8 selected for the Nth conversion</description>
                  <value>8</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Ch9</name>
                  <description>Channel 9 selected for the Nth conversion</description>
                  <value>9</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Ch10</name>
                  <description>Channel 10 selected for the Nth conversion</description>
                  <value>10</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Ch11</name>
                  <description>Channel 11 selected for the Nth conversion</description>
                  <value>11</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Ch12</name>
                  <description>Channel 12 selected for the Nth conversion</description>
                  <value>12</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Ch13</name>
                  <description>Channel 13 selected for the Nth conversion</description>
                  <value>13</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Ch14</name>
                  <description>Channel 14 selected for the Nth conversion</description>
                  <value>14</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>EOS</name>
                  <description>End of sequence</description>
                  <value>15</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>AWD3TR</name>
          <displayName>AWD3TR</displayName>
          <description>ADC watchdog threshold           register</description>
          <addressOffset>0x2C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x0FFF0000</resetValue>
          <fields>
            <field>
              <name>LT3</name>
              <description>LT3</description>
              <bitOffset>0</bitOffset>
              <bitWidth>12</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4095</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>HT3</name>
              <description>HT3</description>
              <bitOffset>16</bitOffset>
              <bitWidth>12</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4095</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>DR</name>
          <displayName>DR</displayName>
          <description>ADC data register</description>
          <addressOffset>0x40</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DATA</name>
              <description>DATA</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>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>18</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>0-17</dimIndex>
              <name>AWD2CH%s</name>
              <description>AWD2CH</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>AWD2CH0</name>
                <enumeratedValue>
                  <name>NotMonitored</name>
                  <description>ADC analog channel-x is not monitored by AWD2</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Monitored</name>
                  <description>ADC analog channel-x is monitored by AWD2</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>18</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>0-17</dimIndex>
              <name>AWD3CH%s</name>
              <description>AWD3CH</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>AWD3CH0</name>
                <enumeratedValue>
                  <name>NotMonitored</name>
                  <description>ADC analog channel-x is not monitored by AWD3</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Monitored</name>
                  <description>ADC analog channel-x is monitored by AWD3</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CALFACT</name>
          <displayName>CALFACT</displayName>
          <description>ADC Calibration factor</description>
          <addressOffset>0xB4</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CALFACT</name>
              <description>CALFACT</description>
              <bitOffset>0</bitOffset>
              <bitWidth>7</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>127</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>CCR</name>
          <displayName>CCR</displayName>
          <description>ADC common configuration           register</description>
          <addressOffset>0x308</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>PRESC</name>
              <description>PRESC0</description>
              <bitOffset>18</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues>
                <name>PRESC</name>
                <enumeratedValue>
                  <name>Div1</name>
                  <description>Input ADC clock not divided</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div2</name>
                  <description>Input ADC clock divided by 2</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div4</name>
                  <description>Input ADC clock divided by 4</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div6</name>
                  <description>Input ADC clock divided by 6</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div8</name>
                  <description>Input ADC clock divided by 8</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div10</name>
                  <description>Input ADC clock divided by 10</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div12</name>
                  <description>Input ADC clock divided by 12</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div16</name>
                  <description>Input ADC clock divided by 16</description>
                  <value>7</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div32</name>
                  <description>Input ADC clock divided by 32</description>
                  <value>8</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div64</name>
                  <description>Input ADC clock divided by 64</description>
                  <value>9</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div128</name>
                  <description>Input ADC clock divided by 128</description>
                  <value>10</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div256</name>
                  <description>Input ADC clock divided by 256</description>
                  <value>11</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>VREFEN</name>
              <description>VREFEN</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>VREFEN</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>TSEN</name>
              <description>TSEN</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="VREFEN"/>
            </field>
            <field>
              <name>VBATEN</name>
              <description>VBATEN</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="VREFEN"/>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>AES</name>
      <description>Advanced encryption standard hardware       accelerator 1</description>
      <groupName>AES</groupName>
      <baseAddress>0x58001800</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>AES</name>
        <description>AES global interrupt</description>
        <value>51</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>NPBLB</name>
              <description>Number of padding bytes in last block of               payload</description>
              <bitOffset>20</bitOffset>
              <bitWidth>4</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>KEYSIZE</name>
              <description>Key size selection</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>KEYSIZE</name>
                <enumeratedValue>
                  <name>AES128</name>
                  <description>128</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>AES256</name>
                  <description>256</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CHMOD_2</name>
              <description>AES chaining mode Bit2</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CHMOD_2</name>
                <enumeratedValue>
                  <name>CHMOD</name>
                  <description>Mode as per CHMOD (ECB, CBC, CTR, GCM)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CCM</name>
                  <description>Counter with CBC-MAC (CCM) - CHMOD must be 0 (ECB)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>GCMPH</name>
              <description>Used only for GCM, CCM and GMAC               algorithms and has no effect when other algorithms               are selected</description>
              <bitOffset>13</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>GCMPH</name>
                <enumeratedValue>
                  <name>Init</name>
                  <description>Init phase</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Header</name>
                  <description>Header phase</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Payload</name>
                  <description>Payload phase</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Final</name>
                  <description>Final Phase</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DMAOUTEN</name>
              <description>Enable DMA management of data output               phase</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DMAOUTEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Disable DMA Output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Enabled DMA Output</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DMAINEN</name>
              <description>Enable DMA management of data input               phase</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DMAINEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Disable DMA Input</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Enable DMA Input</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ERRIE</name>
              <description>Error interrupt enable</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ERRIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Disable (mask) error interrupt</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Enable error interrupt</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CCFIE</name>
              <description>CCF flag interrupt enable</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CCFIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Disable (mask) CCF interrupt</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Enable CCF interrupt</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ERRC</name>
              <description>Error clear</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ERRCW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear RDERR and WRERR flags</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CCFC</name>
              <description>Computation Complete Flag               Clear</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CCFCW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear computation complete flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CHMOD</name>
              <description>AES chaining mode Bit1               Bit0</description>
              <bitOffset>5</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>CHMOD</name>
                <enumeratedValue>
                  <name>ECB</name>
                  <description>Electronic codebook (ECB) / Counter with CBC-MAC (CCM) if CHMOD2 is 1</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CBC</name>
                  <description>Cipher-block chaining (CBC)</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CTR</name>
                  <description>Counter mode (CTR)</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>GCM</name>
                  <description>Galois counter mode (GCM) and Galois message authentication code (GMAC)</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODE</name>
              <description>AES operating mode</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>MODE</name>
                <enumeratedValue>
                  <name>Mode1</name>
                  <description>Mode 1: encryption</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Mode2</name>
                  <description>Mode 2: key derivation (or key preparation for ECB/CBC decryption)</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Mode3</name>
                  <description>Mode 3: decryption</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Mode4</name>
                  <description>Mode 4: key derivation then single decryption</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DATATYPE</name>
              <description>Data type selection (for data in and               data out to/from the cryptographic               block)</description>
              <bitOffset>1</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>DATATYPE</name>
                <enumeratedValue>
                  <name>None</name>
                  <description>Word</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HalfWord</name>
                  <description>Half-word (16-bit)</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Byte</name>
                  <description>Byte (8-bit)</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bit</name>
                  <description>Bit</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EN</name>
              <description>AES enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>EN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Disable AES</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Enable AES</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>BUSY</name>
              <description>Busy flag</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>BUSY</name>
                <enumeratedValue>
                  <name>Idle</name>
                  <description>Idle</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Busy</name>
                  <description>Busy</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>WRERR</name>
              <description>Write error flag</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>WRERR</name>
                <enumeratedValue>
                  <name>NoError</name>
                  <description>Write error not detected</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Error</name>
                  <description>Write error detected</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RDERR</name>
              <description>Read error flag</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RDERR</name>
                <enumeratedValue>
                  <name>NoError</name>
                  <description>Read error not detected</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Error</name>
                  <description>Read error detected</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CCF</name>
              <description>Computation complete flag</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CCF</name>
                <enumeratedValue>
                  <name>Complete</name>
                  <description>Computation complete</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>NotComplete</name>
                  <description>Computation not complete</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>DINR</name>
          <displayName>DINR</displayName>
          <description>data input register</description>
          <addressOffset>0x8</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DIN</name>
              <description>Data Input Register</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4294967295</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>DOUTR</name>
          <displayName>DOUTR</displayName>
          <description>data output register</description>
          <addressOffset>0xC</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DOUT</name>
              <description>Data output register</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4294967295</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>KEYR0</name>
          <displayName>KEYR0</displayName>
          <description>key register 0</description>
          <addressOffset>0x10</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>KEY</name>
              <description>Data Output Register (LSB key               [31:0])</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4294967295</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>KEYR1</name>
          <displayName>KEYR1</displayName>
          <description>key register 1</description>
          <addressOffset>0x14</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>KEY</name>
              <description>AES key register (key               [63:32])</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4294967295</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>KEYR2</name>
          <displayName>KEYR2</displayName>
          <description>key register 2</description>
          <addressOffset>0x18</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>KEY</name>
              <description>AES key register (key               [95:64])</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4294967295</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>KEYR3</name>
          <displayName>KEYR3</displayName>
          <description>key register 3</description>
          <addressOffset>0x1C</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>KEY</name>
              <description>AES key register (MSB key               [127:96])</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4294967295</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>IVR0</name>
          <displayName>IVR0</displayName>
          <description>initialization vector register           0</description>
          <addressOffset>0x20</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>IVI</name>
              <description>initialization vector register (LSB IVR               [31:0])</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4294967295</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>IVR1</name>
          <displayName>IVR1</displayName>
          <description>initialization vector register           1</description>
          <addressOffset>0x24</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>IVI</name>
              <description>Initialization Vector Register (IVR               [63:32])</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4294967295</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>IVR2</name>
          <displayName>IVR2</displayName>
          <description>initialization vector register           2</description>
          <addressOffset>0x28</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>IVI</name>
              <description>Initialization Vector Register (IVR               [95:64])</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4294967295</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>IVR3</name>
          <displayName>IVR3</displayName>
          <description>initialization vector register           3</description>
          <addressOffset>0x2C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>IVI</name>
              <description>Initialization Vector Register (MSB IVR               [127:96])</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4294967295</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>KEYR4</name>
          <displayName>KEYR4</displayName>
          <description>key register 4</description>
          <addressOffset>0x30</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>KEY</name>
              <description>AES key register (MSB key               [159:128])</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4294967295</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>KEYR5</name>
          <displayName>KEYR5</displayName>
          <description>key register 5</description>
          <addressOffset>0x34</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>KEY</name>
              <description>AES key register (MSB key               [191:160])</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4294967295</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>KEYR6</name>
          <displayName>KEYR6</displayName>
          <description>key register 6</description>
          <addressOffset>0x38</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>KEY</name>
              <description>AES key register (MSB key               [223:192])</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4294967295</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>KEYR7</name>
          <displayName>KEYR7</displayName>
          <description>key register 7</description>
          <addressOffset>0x3C</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>KEY</name>
              <description>AES key register (MSB key               [255:224])</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4294967295</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>SUSP0R</name>
          <displayName>SUSP0R</displayName>
          <description>AES suspend register 0</description>
          <addressOffset>0x40</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>SUSP</name>
              <description>AES suspend register 0</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4294967295</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>SUSP1R</name>
          <displayName>SUSP1R</displayName>
          <description>AES suspend register 1</description>
          <addressOffset>0x44</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>SUSP</name>
              <description>AES suspend register 1</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4294967295</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>SUSP2R</name>
          <displayName>SUSP2R</displayName>
          <description>AES suspend register 2</description>
          <addressOffset>0x48</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>SUSP</name>
              <description>AES suspend register 2</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4294967295</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>SUSP3R</name>
          <displayName>SUSP3R</displayName>
          <description>AES suspend register 3</description>
          <addressOffset>0x4C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>SUSP</name>
              <description>AES suspend register 3</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4294967295</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>SUSP4R</name>
          <displayName>SUSP4R</displayName>
          <description>AES suspend register 4</description>
          <addressOffset>0x50</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>SUSP</name>
              <description>AES suspend register 4</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4294967295</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>SUSP5R</name>
          <displayName>SUSP5R</displayName>
          <description>AES suspend register 5</description>
          <addressOffset>0x54</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>SUSP</name>
              <description>AES suspend register 5</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4294967295</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>SUSP6R</name>
          <displayName>SUSP6R</displayName>
          <description>AES suspend register 6</description>
          <addressOffset>0x58</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>SUSP</name>
              <description>AES suspend register 6</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4294967295</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>SUSP7R</name>
          <displayName>SUSP7R</displayName>
          <description>AES suspend register 7</description>
          <addressOffset>0x5C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>SUSP</name>
              <description>AES suspend register 7</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4294967295</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>COMP</name>
      <description>Comparator</description>
      <groupName>COMP</groupName>
      <baseAddress>0x40010200</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x200</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>COMP</name>
        <description>COMP2 and COMP1 interrupt
         through EXTI[22:21]</description>
        <value>21</value>
      </interrupt>
      <registers>
        <register>
          <name>COMP1_CSR</name>
          <displayName>COMP1_CSR</displayName>
          <description>COMP1_CSR</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>LOCK</name>
              <description>COMP1_CSR register lock               bit</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>LOCK</name>
                <enumeratedValue>
                  <name>Unlocked</name>
                  <description>Comparator CSR bits are read-write</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Locked</name>
                  <description>Comparator CSR bits are read-only</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>VALUE</name>
              <description>Comparator 1 output status               bit</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>VALUE</name>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Comparator output is low</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Comparator output is high</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INMESEL</name>
              <description>comparator 1 input minus extended               selection bits.</description>
              <bitOffset>25</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>INMESEL</name>
                <enumeratedValue>
                  <name>PA10</name>
                  <description>PA10 connected to input minus</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PA11</name>
                  <description>PA11 connected to input minus</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PA15</name>
                  <description>PA15 connected to input minus</description>
                  <value>2</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SCALEN</name>
              <description>Voltage scaler enable bit</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>SCALEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Voltage scaler disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Voltage scaler enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BRGEN</name>
              <description>Scaler bridge enable</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>BRGEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Scaler resistor bridge disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Scaler resistor bridge enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BLANKING</name>
              <description>Comparator 1 blanking source selection               bits</description>
              <bitOffset>18</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>BLANKING</name>
                <enumeratedValue>
                  <name>NoBlanking</name>
                  <description>No blanking</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TIM1OC5</name>
                  <description>TIM1 OC5 selected as blanking source</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TIM2OC3</name>
                  <description>TIM2 OC3 selected as blanking source</description>
                  <value>2</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>HYST</name>
              <description>Comparator 1 hysteresis selection               bits</description>
              <bitOffset>16</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>HYST</name>
                <enumeratedValue>
                  <name>None</name>
                  <description>No hysteresis</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Low hysteresis</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Medium</name>
                  <description>Medium hysteresis</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>High hysteresis</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>POLARITY</name>
              <description>Comparator 1 polarity selection               bit</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>POLARITY</name>
                <enumeratedValue>
                  <name>Normal</name>
                  <description>Comparator X output value not inverted</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Inverted</name>
                  <description>Comparator X output value inverted</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INPSEL</name>
              <description>Comparator1 input plus selection               bit</description>
              <bitOffset>7</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>INPSEL</name>
                <enumeratedValue>
                  <name>PB4</name>
                  <description>PB4 connected to input plus</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PB2</name>
                  <description>PB2 connected to input plus</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INMSEL</name>
              <description>Comparator 1 input minus selection               bits</description>
              <bitOffset>4</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>INMSEL</name>
                <enumeratedValue>
                  <name>OneQuarterVRef</name>
                  <description>1/4 of VRefint</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OneHalfVRef</name>
                  <description>1/2 of VRefint</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ThreeQuarterVRef</name>
                  <description>3/4 of VRefint</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>VRef</name>
                  <description>VRefint</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DAC_CH1</name>
                  <description>DAC Channel 1</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PB3</name>
                  <description>PB3</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>GPIO</name>
                  <description>GPIO pin selected by INMESEL</description>
                  <value>7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PWRMODE</name>
              <description>Power Mode of the comparator               1</description>
              <bitOffset>2</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>PWRMODE</name>
                <enumeratedValue>
                  <name>HighSpeed</name>
                  <description>High speed / full power</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>MediumSpeed</name>
                  <description>Medium speed / medium power</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LowSpeed</name>
                  <description>Low speed / low power</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>VeryLowSpeed</name>
                  <description>Very-low speed / ultra-low power</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EN</name>
              <description>Comparator 1 enable bit</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>EN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Comparator X disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Comparator X enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>COMP2_CSR</name>
          <displayName>COMP2_CSR</displayName>
          <description>COMP2_CSR</description>
          <addressOffset>0x4</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>LOCK</name>
              <description>CSR register lock bit</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>LOCK</name>
                <enumeratedValue>
                  <name>Unlocked</name>
                  <description>Comparator CSR bits are read-write</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Locked</name>
                  <description>Comparator CSR bits are read-only</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>VALUE</name>
              <description>Comparator 2 output status               bit</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>VALUE</name>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Comparator output is low</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Comparator output is high</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INMESEL</name>
              <description>comparator 2 input minus extended               selection bits.</description>
              <bitOffset>25</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>INMESEL</name>
                <enumeratedValue>
                  <name>PB2</name>
                  <description>PB2 connected to input minus</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PA10</name>
                  <description>PA10 connected to input minus</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PA11</name>
                  <description>PA11 connected to input minus</description>
                  <value>2</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SCALEN</name>
              <description>Voltage scaler enable bit</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>SCALEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Voltage scaler disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Voltage scaler enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BRGEN</name>
              <description>Scaler bridge enable</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>BRGEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Scaler resistor bridge disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Scaler resistor bridge enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BLANKING</name>
              <description>Comparator 2 blanking source selection               bits</description>
              <bitOffset>18</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>BLANKING</name>
                <enumeratedValue>
                  <name>NoBlanking</name>
                  <description>No blanking</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TIM1OC5</name>
                  <description>TIM1 OC5 selected as blanking source</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TIM2OC3</name>
                  <description>TIM2 OC3 selected as blanking source</description>
                  <value>2</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>HYST</name>
              <description>Comparator 2 hysteresis selection               bits</description>
              <bitOffset>16</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>HYST</name>
                <enumeratedValue>
                  <name>None</name>
                  <description>No hysteresis</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Low hysteresis</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Medium</name>
                  <description>Medium hysteresis</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>High hysteresis</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>POLARITY</name>
              <description>Comparator 2 polarity selection               bit</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>POLARITY</name>
                <enumeratedValue>
                  <name>Normal</name>
                  <description>Comparator X output value not inverted</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Inverted</name>
                  <description>Comparator X output value inverted</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>WINMODE</name>
              <description>Windows mode selection bit</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>WINMODE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>COMP2 input plus is not connected to COMP1</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>COMP2 input plus is connected to COMP1</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INPSEL</name>
              <description>Comparator 1 input plus selection               bit</description>
              <bitOffset>7</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>INPSEL</name>
                <enumeratedValue>
                  <name>PB4</name>
                  <description>PB4 connected to input plus</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PB1</name>
                  <description>PB1 connected to input plus</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PA15</name>
                  <description>PA15 connected to input plus</description>
                  <value>2</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>INMSEL</name>
              <description>Comparator 2 input minus selection               bits</description>
              <bitOffset>4</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>INMSEL</name>
                <enumeratedValue>
                  <name>OneQuarterVRef</name>
                  <description>1/4 of VRefint</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OneHalfVRef</name>
                  <description>1/2 of VRefint</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ThreeQuarterVRef</name>
                  <description>3/4 of VRefint</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>VRef</name>
                  <description>VRefint</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DAC_CH1</name>
                  <description>DAC Channel 1</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PB3</name>
                  <description>PB3</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>GPIO</name>
                  <description>GPIO pin selected by INMESEL</description>
                  <value>7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PWRMODE</name>
              <description>Power Mode of the comparator               2</description>
              <bitOffset>2</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>PWRMODE</name>
                <enumeratedValue>
                  <name>HighSpeed</name>
                  <description>High speed / full power</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>MediumSpeed</name>
                  <description>Medium speed / medium power</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LowSpeed</name>
                  <description>Low speed / low power</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>VeryLowSpeed</name>
                  <description>Very-low speed / ultra-low power</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EN</name>
              <description>Comparator 2 enable bit</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>EN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Comparator X disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Comparator X enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>CRC</name>
      <description>Cyclic redundancy check calculation       unit</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 bits</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>General-purpose 32-bit data register               bits</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>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>REV_OUT</name>
              <description>Reverse output data</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <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>
            <field>
              <name>REV_IN</name>
              <description>Reverse input data</description>
              <bitOffset>5</bitOffset>
              <bitWidth>2</bitWidth>
              <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>POLYSIZE</name>
              <description>Polynomial size</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <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>RESET</name>
              <description>RESET bit</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RESETW</name>
                <usage>write</usage>
                <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>
          </fields>
        </register>
        <register>
          <name>INIT</name>
          <displayName>INIT</displayName>
          <description>Initial CRC value</description>
          <addressOffset>0x10</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0xFFFFFFFF</resetValue>
          <fields>
            <field>
              <name>INIT</name>
              <description>Programmable initial CRC               value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4294967295</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>POL</name>
          <displayName>POL</displayName>
          <description>polynomial</description>
          <addressOffset>0x14</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x04C11DB7</resetValue>
          <fields>
            <field>
              <name>POL</name>
              <description>Programmable polynomial</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4294967295</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>DAC</name>
      <description>Digital-to-analog converter</description>
      <groupName>DAC</groupName>
      <baseAddress>0x40007400</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>DAC</name>
        <description>DAC global interrupt</description>
        <value>19</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>
              <dim>1</dim>
              <dimIncrement>0x0</dimIncrement>
              <dimIndex>1-1</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>
              <dim>1</dim>
              <dimIncrement>0x0</dimIncrement>
              <dimIndex>1-1</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>1</dim>
              <dimIncrement>0x0</dimIncrement>
              <dimIndex>1-1</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>1</dim>
              <dimIncrement>0x0</dimIncrement>
              <dimIndex>1-1</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>1</dim>
              <dimIncrement>0x0</dimIncrement>
              <dimIndex>1-1</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>
              <name>TSEL1</name>
              <description>DAC channel1 trigger               selection</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>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>Lptim3Out</name>
                  <description>LPTIM3 OUT event</description>
                  <value>13</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>EXTI9</name>
                  <description>dac_chx_trg14</description>
                  <value>14</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>1</dim>
              <dimIncrement>0x0</dimIncrement>
              <dimIndex>1-1</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>
              <dim>1</dim>
              <dimIncrement>0x0</dimIncrement>
              <dimIndex>1-1</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>
          </fields>
        </register>
        <register>
          <name>SWTRGR</name>
          <displayName>SWTRGR</displayName>
          <description>software trigger register</description>
          <addressOffset>0x4</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>1</dim>
              <dimIncrement>0x0</dimIncrement>
              <dimIndex>1-1</dimIndex>
              <name>SWTRIG%s</name>
              <description>DAC channel%s software trigger</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
              <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>1</dim>
          <dimIncrement>0x4</dimIncrement>
          <dimIndex>1-1</dimIndex>
          <name>DHR12R%s</name>
          <displayName>DHR%s2R1</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</description>
              <bitOffset>0</bitOffset>
              <bitWidth>12</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4095</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <dim>1</dim>
          <dimIncrement>0x4</dimIncrement>
          <dimIndex>1-1</dimIndex>
          <name>DHR12L%s</name>
          <displayName>DHR%s2L1</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</description>
              <bitOffset>4</bitOffset>
              <bitWidth>12</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4095</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <dim>1</dim>
          <dimIncrement>0x4</dimIncrement>
          <dimIndex>1-1</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</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>1</dim>
              <dimIncrement>0x0</dimIncrement>
              <dimIndex>1-1</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>1</dim>
              <dimIncrement>0x0</dimIncrement>
              <dimIndex>1-1</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>1</dim>
              <dimIncrement>0x0</dimIncrement>
              <dimIndex>1-1</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>1</dim>
          <dimIncrement>0x4</dimIncrement>
          <dimIndex>1-1</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>DACC1DOR</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>0x34</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>1</dim>
              <dimIncrement>0x0</dimIncrement>
              <dimIndex>1-1</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>
            <field>
              <dim>1</dim>
              <dimIncrement>0x0</dimIncrement>
              <dimIndex>1-1</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>1</dim>
              <dimIncrement>0x0</dimIncrement>
              <dimIndex>1-1</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>
          </fields>
        </register>
        <register>
          <name>CCR</name>
          <displayName>CCR</displayName>
          <description>calibration control register</description>
          <addressOffset>0x38</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>1</dim>
              <dimIncrement>0x0</dimIncrement>
              <dimIndex>1-1</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>mode control register</description>
          <addressOffset>0x3C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>1</dim>
              <dimIncrement>0x0</dimIncrement>
              <dimIndex>1-1</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>1</dim>
          <dimIncrement>0x4</dimIncrement>
          <dimIndex>1-1</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 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>SHHR</name>
          <displayName>SHHR</displayName>
          <description>Sample and Hold hold time           register</description>
          <addressOffset>0x48</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00010001</resetValue>
          <fields>
            <field>
              <dim>1</dim>
              <dimIncrement>0x0</dimIncrement>
              <dimIndex>1-1</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>Sample and Hold refresh time           register</description>
          <addressOffset>0x4C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00010001</resetValue>
          <fields>
            <field>
              <dim>1</dim>
              <dimIncrement>0x0</dimIncrement>
              <dimIndex>1-1</dimIndex>
              <name>TREFRESH%s</name>
              <description>DAC channel%s refresh time (only valid in Sample and hold mode)</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>DBGMCU</name>
      <description>Microcontroller Debug Unit</description>
      <groupName>DBGMCU</groupName>
      <baseAddress>0xE0042000</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <registers>
        <register>
          <name>IDCODER</name>
          <displayName>IDCODER</displayName>
          <description>DBGMCU Identity Code Register</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x10006497</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>DBG_SLEEP</name>
              <description>Allow debug in SLEEP mode</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DBG_SLEEP</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Debug Sleep Mode Disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Debug Sleep Mode Enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DBG_STOP</name>
              <description>Allow debug in STOP mode</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DBG_STOP</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Debug Stop Mode Disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Debug Stop Mode Enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DBG_STANDBY</name>
              <description>Allow debug in STANDBY               mode</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DBG_STANDBY</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Debug Standby Mode Disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Debug Standby Mode Enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>APB1FZR1</name>
          <displayName>APB1FZR1</displayName>
          <description>DBGMCU CPU1 APB1 Peripheral Freeze Register           1</description>
          <addressOffset>0x3C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DBG_TIM2_STOP</name>
              <description>TIM2 stop in CPU1 debug</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DBG_TIM2_STOP</name>
                <enumeratedValue>
                  <name>Continue</name>
                  <description>The counter clock of TIMx is fed even if the core is halted</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Stop</name>
                  <description>The counter clock of TIMx is stopped when the core is halted</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DBG_RTC_STOP</name>
              <description>RTC stop in CPU1 debug</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DBG_RTC_STOP</name>
                <enumeratedValue>
                  <name>Continue</name>
                  <description>The clock of the RTC counter is fed even if the core is halted</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Stop</name>
                  <description>The clock of the RTC counter is stopped when the core is halted</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DBG_WWDG_STOP</name>
              <description>WWDG stop in CPU1 debug</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DBG_WWDG_STOP</name>
                <enumeratedValue>
                  <name>Continue</name>
                  <description>The window watchdog counter clock continues even if the core is halted</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Stop</name>
                  <description>The window watchdog counter clock is stopped when the core is halted</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DBG_IWDG_STOP</name>
              <description>IWDG stop in CPU1 debug</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DBG_IWDG_STOP</name>
                <enumeratedValue>
                  <name>Continue</name>
                  <description>The independent watchdog counter clock continues even if the core is halted</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Stop</name>
                  <description>The independent watchdog counter clock is stopped when the core is halted</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DBG_I2C1_STOP</name>
              <description>I2C1 SMBUS timeout stop in CPU1               debug</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DBG_I2C1_STOP</name>
                <enumeratedValue>
                  <name>NormalMode</name>
                  <description>Same behavior as in normal mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SMBusTimeoutFrozen</name>
                  <description>I2Cx SMBUS timeout is frozen</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DBG_I2C2_STOP</name>
              <description>I2C2 SMBUS timeout stop in CPU1               debug</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DBG_I2C1_STOP"/>
            </field>
            <field>
              <name>DBG_I2C3_STOP</name>
              <description>I2C3 SMBUS timeout stop in CPU1               debug</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DBG_I2C1_STOP"/>
            </field>
            <field>
              <name>DBG_LPTIM1_STOP</name>
              <description>LPTIM1 stop in CPU1 debug</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DBG_LPTIM1_STOP</name>
                <enumeratedValue>
                  <name>Continue</name>
                  <description>LPTIMx counter clock is fed even if the core is halted</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Stop</name>
                  <description>LPTIMx counter clock is stopped when the core is halted</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>C2APB1FZR1</name>
          <displayName>C2APB1FZR1</displayName>
          <description>DBGMCU CPU2 APB1 Peripheral Freeze Register           1 [dual core device</description>
          <addressOffset>0x40</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DBG_TIM2_STOP</name>
              <description>DBG_TIM2_STOP</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DBG_RTC_STOP</name>
              <description>DBG_RTC_STOP</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DBG_IWDG_STOP</name>
              <description>DBG_IWDG_STOP</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DBG_I2C1_STOP</name>
              <description>DBG_I2C1_STOP</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DBG_I2C2_STOP</name>
              <description>DBG_I2C2_STOP</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DBG_I2C3_STOP</name>
              <description>DBG_I2C3_STOP</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DBG_LPTIM1_STOP</name>
              <description>DBG_LPTIM1_STOP</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>APB1FZR2</name>
          <displayName>APB1FZR2</displayName>
          <description>DBGMCU CPU1 APB1 Peripheral Freeze Register           2</description>
          <addressOffset>0x44</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DBG_LPTIM2_STOP</name>
              <description>DBG_LPTIM2_STOP</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DBG_LPTIM2_STOP</name>
                <enumeratedValue>
                  <name>Continue</name>
                  <description>LPTIMx counter clock is fed even if the core is halted</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Stop</name>
                  <description>LPTIMx counter clock is stopped when the core is halted</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DBG_LPTIM3_STOP</name>
              <description>DBG_LPTIM3_STOP</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DBG_LPTIM2_STOP"/>
            </field>
          </fields>
        </register>
        <register>
          <name>C2APB1FZR2</name>
          <displayName>C2APB1FZR2</displayName>
          <description>DBGMCU CPU2 APB1 Peripheral Freeze Register           2 [dual core device</description>
          <addressOffset>0x48</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DBG_LPTIM2_STOP</name>
              <description>DBG_LPTIM2_STOP</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DBG_LPTIM3_STOP</name>
              <description>DBG_LPTIM3_STOP</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>APB2FZR</name>
          <displayName>APB2FZR</displayName>
          <description>DBGMCU CPU1 APB2 Peripheral Freeze           Register</description>
          <addressOffset>0x4C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DBG_TIM1_STOP</name>
              <description>DBG_TIM1_STOP</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DBG_TIM1_STOP</name>
                <enumeratedValue>
                  <name>Continue</name>
                  <description>The counter clock of TIMx is fed even if the core is halted</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Stop</name>
                  <description>The counter clock of TIMx is stopped when the core is halted</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DBG_TIM16_STOP</name>
              <description>DBG_TIM16_STOP</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DBG_TIM1_STOP"/>
            </field>
            <field>
              <name>DBG_TIM17_STOP</name>
              <description>DBG_TIM17_STOP</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DBG_TIM1_STOP"/>
            </field>
          </fields>
        </register>
        <register>
          <name>C2APB2FZR</name>
          <displayName>C2APB2FZR</displayName>
          <description>DBGMCU CPU2 APB2 Peripheral Freeze Register           [dual core device</description>
          <addressOffset>0x50</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DBG_TIM1_STOP</name>
              <description>DBG_TIM1_STOP</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DBG_TIM16_STOP</name>
              <description>DBG_TIM16_STOP</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DBG_TIM17_STOP</name>
              <description>DBG_TIM17_STOP</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>DMA1</name>
      <description>Direct memory access controller</description>
      <groupName>DMA</groupName>
      <baseAddress>0x40020000</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>DMA1_CH1</name>
        <description>DMA1 channel 1 non-secure interrupt</description>
        <value>11</value>
      </interrupt>
      <interrupt>
        <name>DMA1_CH2</name>
        <description>DMA1 channel 2 non-secure interrupt</description>
        <value>12</value>
      </interrupt>
      <interrupt>
        <name>DMA1_CH3</name>
        <description>DMA1 channel 3 non-secure interrupt</description>
        <value>13</value>
      </interrupt>
      <interrupt>
        <name>DMA1_CH4</name>
        <description>DMA1 channel 4 non-secure interrupt</description>
        <value>14</value>
      </interrupt>
      <interrupt>
        <name>DMA1_CH5</name>
        <description>DMA1 channel 5 non-secure interrupt</description>
        <value>15</value>
      </interrupt>
      <interrupt>
        <name>DMA1_CH6</name>
        <description>DMA1 channel 6 non-secure interrupt</description>
        <value>16</value>
      </interrupt>
      <interrupt>
        <name>DMA1_CH7</name>
        <description>DMA1 channel 7 non-secure interrupt</description>
        <value>17</value>
      </interrupt>
      <registers>
        <register>
          <name>ISR</name>
          <displayName>ISR</displayName>
          <description>interrupt status register</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>7</dim>
              <dimIncrement>0x4</dimIncrement>
              <dimIndex>1-7</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</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Error</name>
                  <description>A transfer error has occured</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>7</dim>
              <dimIncrement>0x4</dimIncrement>
              <dimIndex>1-7</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</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Half</name>
                  <description>A half transfer event has occured</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>7</dim>
              <dimIncrement>0x4</dimIncrement>
              <dimIndex>1-7</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</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Complete</name>
                  <description>A transfer complete event has occured</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>7</dim>
              <dimIncrement>0x4</dimIncrement>
              <dimIndex>1-7</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 transfer error, half event, complete event</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Event</name>
                  <description>A transfer error, half event or complete event has occured</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>IFCR</name>
          <displayName>IFCR</displayName>
          <description>interrupt flag clear register</description>
          <addressOffset>0x4</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>7</dim>
              <dimIncrement>0x4</dimIncrement>
              <dimIndex>1-7</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>Clears the TEIF flag in the ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>7</dim>
              <dimIncrement>0x4</dimIncrement>
              <dimIndex>1-7</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>Clears the HTIF flag in the ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>7</dim>
              <dimIncrement>0x4</dimIncrement>
              <dimIndex>1-7</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>Clears the TCIF flag in the ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <dim>7</dim>
              <dimIncrement>0x4</dimIncrement>
              <dimIndex>1-7</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>Clears the GIF, TEIF, HTIF, TCIF flags in the ISR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <cluster>
          <dim>7</dim>
          <dimIncrement>0x14</dimIncrement>
          <dimIndex>1-7</dimIndex>
          <name>CH%s</name>
          <description>Channel cluster: CCR?, CNDTR?, CPAR?, and CMAR? registers</description>
          <addressOffset>0x8</addressOffset>
          <register>
            <name>CR</name>
            <displayName>CCR1</displayName>
            <description>channel x configuration           register</description>
            <addressOffset>0x0</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>PRIV</name>
                <description>rivileged mode</description>
                <bitOffset>20</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>PRIV</name>
                  <enumeratedValue>
                    <name>Disabled</name>
                    <description>Disabled</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Enabled</name>
                    <description>Enabled</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>DSEC</name>
                <description>ecurity of the DMA transfer to the               destination</description>
                <bitOffset>19</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>SSEC</name>
                <description>ecurity of the DMA transfer from the               source</description>
                <bitOffset>18</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>SECM</name>
                <description>ecure mode</description>
                <bitOffset>17</bitOffset>
                <bitWidth>1</bitWidth>
              </field>
              <field>
                <name>MEM2MEM</name>
                <description>memory-to-memory mode</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>PL</name>
                <description>priority level</description>
                <bitOffset>12</bitOffset>
                <bitWidth>2</bitWidth>
                <enumeratedValues>
                  <name>PL</name>
                  <enumeratedValue>
                    <name>Low</name>
                    <description>Low priority</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Medium</name>
                    <description>Medium priority</description>
                    <value>1</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>High</name>
                    <description>High priority</description>
                    <value>2</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>VeryHigh</name>
                    <description>Very high priority</description>
                    <value>3</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>PSIZE</name>
                <description>peripheral size</description>
                <bitOffset>8</bitOffset>
                <bitWidth>2</bitWidth>
                <enumeratedValues>
                  <name>PSIZE</name>
                  <enumeratedValue>
                    <name>Bits8</name>
                    <description>8-bit size</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Bits16</name>
                    <description>16-bit size</description>
                    <value>1</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Bits32</name>
                    <description>32-bit size</description>
                    <value>2</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>MSIZE</name>
                <description>memory size</description>
                <bitOffset>10</bitOffset>
                <bitWidth>2</bitWidth>
                <enumeratedValues derivedFrom="PSIZE"/>
              </field>
              <field>
                <name>PINC</name>
                <description>peripheral increment mode</description>
                <bitOffset>6</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>PINC</name>
                  <enumeratedValue>
                    <name>Disabled</name>
                    <description>Increment mode disabled</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Enabled</name>
                    <description>Increment mode enabled</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>MINC</name>
                <description>memory increment mode</description>
                <bitOffset>7</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues derivedFrom="PINC"/>
              </field>
              <field>
                <name>CIRC</name>
                <description>circular mode</description>
                <bitOffset>5</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>CIRC</name>
                  <enumeratedValue>
                    <name>Disabled</name>
                    <description>Circular buffer disabled</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Enabled</name>
                    <description>Circular buffer enabled</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>DIR</name>
                <description>data transfer direction</description>
                <bitOffset>4</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>DIR</name>
                  <enumeratedValue>
                    <name>FromPeripheral</name>
                    <description>Read from peripheral</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>FromMemory</name>
                    <description>Read from memory</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>TEIE</name>
                <description>transfer error interrupt               enable</description>
                <bitOffset>3</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>TEIE</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>HTIE</name>
                <description>half transfer interrupt               enable</description>
                <bitOffset>2</bitOffset>
                <bitWidth>1</bitWidth>
                <enumeratedValues>
                  <name>HTIE</name>
                  <enumeratedValue>
                    <name>Disabled</name>
                    <description>Half Transfer interrupt disabled</description>
                    <value>0</value>
                  </enumeratedValue>
                  <enumeratedValue>
                    <name>Enabled</name>
                    <description>Half Transfer interrupt enabled</description>
                    <value>1</value>
                  </enumeratedValue>
                </enumeratedValues>
              </field>
              <field>
                <name>TCIE</name>
                <description>transfer complete interrupt               enable</description>
                <bitOffset>1</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>EN</name>
                <description>channel enable</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>
            </fields>
          </register>
          <register>
            <name>NDTR</name>
            <displayName>CNDTR1</displayName>
            <description>channel x number of data to transfer           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 (0 to 218 -               1)</description>
                <bitOffset>0</bitOffset>
                <bitWidth>18</bitWidth>
                <writeConstraint>
                  <range>
                    <minimum>0</minimum>
                    <maximum>262143</maximum>
                  </range>
                </writeConstraint>
              </field>
            </fields>
          </register>
          <register>
            <name>PAR</name>
            <displayName>CPAR1</displayName>
            <description>channel 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>MAR</name>
            <displayName>CMAR1</displayName>
            <description>channel x memory address           register</description>
            <addressOffset>0xC</addressOffset>
            <size>0x20</size>
            <access>read-write</access>
            <resetValue>0x00000000</resetValue>
            <fields>
              <field>
                <name>MA</name>
                <description>peripheral address</description>
                <bitOffset>0</bitOffset>
                <bitWidth>32</bitWidth>
              </field>
            </fields>
          </register>
        </cluster>
      </registers>
    </peripheral>
    <peripheral derivedFrom="DMA1">
      <name>DMA2</name>
      <baseAddress>0x40020400</baseAddress>
      <interrupt>
        <name>DMA2_CH1</name>
        <description>DMA2 channel 1 non-secure interrupt</description>
        <value>54</value>
      </interrupt>
      <interrupt>
        <name>DMA2_CH2</name>
        <description>DMA2 channel 2 non-secure interrupt</description>
        <value>55</value>
      </interrupt>
      <interrupt>
        <name>DMA2_CH3</name>
        <description>DMA2 channel 3 non-secure interrupt</description>
        <value>56</value>
      </interrupt>
      <interrupt>
        <name>DMA2_CH4</name>
        <description>DMA2 channel 4 non-secure interrupt</description>
        <value>57</value>
      </interrupt>
      <interrupt>
        <name>DMA2_CH5</name>
        <description>DMA2 channel 5 non-secure interrupt</description>
        <value>58</value>
      </interrupt>
      <interrupt>
        <name>DMA2_CH6</name>
        <description>DMA2 channel 6 non-secure interrupt</description>
        <value>59</value>
      </interrupt>
      <interrupt>
        <name>DMA2_CH7</name>
        <description>DMA2 channel 7 non-secure interrupt</description>
        <value>60</value>
      </interrupt>
    </peripheral>
    <peripheral>
      <name>DMAMUX</name>
      <description>DMA request multiplexer</description>
      <groupName>DMAMUX</groupName>
      <baseAddress>0x40020800</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>DMAMUX1_OVR</name>
        <description>DMAMUX1 overrun interrupt</description>
        <value>61</value>
      </interrupt>
      <registers>
        <register>
          <dim>14</dim>
          <dimIncrement>0x4</dimIncrement>
          <dimIndex>0-13</dimIndex>
          <name>CCR%s</name>
          <displayName>C%sCR</displayName>
          <description>DMA Multiplexer Channel %s Control register</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>SYNC_ID</name>
              <description>Synchronization               identification</description>
              <bitOffset>24</bitOffset>
              <bitWidth>5</bitWidth>
              <enumeratedValues>
                <name>SYNC_ID</name>
                <enumeratedValue>
                  <name>exti0</name>
                  <description>Signal `EXTIx` selected as synchronization input</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>exti1</name>
                  <description>Signal `EXTIx` selected as synchronization input</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>exti2</name>
                  <description>Signal `EXTIx` selected as synchronization input</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>exti3</name>
                  <description>Signal `EXTIx` selected as synchronization input</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>exti4</name>
                  <description>Signal `EXTIx` selected as synchronization input</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>exti5</name>
                  <description>Signal `EXTIx` selected as synchronization input</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>exti6</name>
                  <description>Signal `EXTIx` selected as synchronization input</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>exti7</name>
                  <description>Signal `EXTIx` selected as synchronization input</description>
                  <value>7</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>exti8</name>
                  <description>Signal `EXTIx` selected as synchronization input</description>
                  <value>8</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>exti9</name>
                  <description>Signal `EXTIx` selected as synchronization input</description>
                  <value>9</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>exti10</name>
                  <description>Signal `EXTIx` selected as synchronization input</description>
                  <value>10</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>exti11</name>
                  <description>Signal `EXTIx` selected as synchronization input</description>
                  <value>11</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>exti12</name>
                  <description>Signal `EXTIx` selected as synchronization input</description>
                  <value>12</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>exti13</name>
                  <description>Signal `EXTIx` selected as synchronization input</description>
                  <value>13</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>exti14</name>
                  <description>Signal `EXTIx` selected as synchronization input</description>
                  <value>14</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>exti15</name>
                  <description>Signal `EXTIx` selected as synchronization input</description>
                  <value>15</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>dmamux1_evt0</name>
                  <description>Signal `dmamux1_evt0` selected as synchronization input</description>
                  <value>16</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>dmamux1_evt1</name>
                  <description>Signal `dmamux1_evt1` selected as synchronization input</description>
                  <value>17</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>lptim1_out</name>
                  <description>Signal `lptim1_out` selected as synchronization input</description>
                  <value>18</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>lptim2_out</name>
                  <description>Signal `lptim2_out` selected as synchronization input</description>
                  <value>19</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>lptim3_out</name>
                  <description>Signal `lptim3_out` selected as synchronization input</description>
                  <value>20</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>NBREQ</name>
              <description>Number of DMA requests minus 1 to               forward</description>
              <bitOffset>19</bitOffset>
              <bitWidth>5</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>31</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>SPOL</name>
              <description>Synchronization polarity</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>SE</name>
              <description>Synchronization enable</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>EGE</name>
              <description>Event generation enable</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>SOIE</name>
              <description>Synchronization overrun interrupt               enable</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>DMAREQ_ID</name>
              <description>DMA request identification</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <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>adc</name>
                  <description>Signal `adc1_dma` selected as request input</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>dat_out1</name>
                  <description>Signal `dac_out1_dma` selected as request input</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>spi1_rx_dma</name>
                  <description>Signal `spi1_rx_dma` selected as request input</description>
                  <value>7</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>spi1_tx_dma</name>
                  <description>Signal `spi1_tx_dma` selected as request input</description>
                  <value>8</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>spi2_rx_dma</name>
                  <description>Signal `spi2_rx_dma` selected as request input</description>
                  <value>9</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>spi2_tx_dma</name>
                  <description>Signal `spi2_tx_dma` selected as request input</description>
                  <value>10</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>i2c1_rx_dma</name>
                  <description>Signal `i2c1_rx_dma` selected as request input</description>
                  <value>11</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>i2c1_tx_dma</name>
                  <description>Signal `i2c1_tx_dma` selected as request input</description>
                  <value>12</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>i2c2_rx_dma</name>
                  <description>Signal `i2c2_rx_dma` selected as request input</description>
                  <value>13</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>i2c2_tx_dma</name>
                  <description>Signal `i2c2_tx_dma` selected as request input</description>
                  <value>14</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>i2c3_rx_dma</name>
                  <description>Signal `i2c3_rx_dma` selected as request input</description>
                  <value>15</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>i2c3_tx_dma</name>
                  <description>Signal `i2c3_tx_dma` selected as request input</description>
                  <value>16</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>usart1_rx_dma</name>
                  <description>Signal `usart1_rx_dma` selected as request input</description>
                  <value>17</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>usart1_tx_dma</name>
                  <description>Signal `usart1_tx_dma` selected as request input</description>
                  <value>18</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>usart2_rx_dma</name>
                  <description>Signal `usart2_rx_dma` selected as request input</description>
                  <value>19</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>usart2_tx_dma</name>
                  <description>Signal `usart2_tx_dma` selected as request input</description>
                  <value>20</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>lpuart1_rx_dma</name>
                  <description>Signal `lpuart1_rx_dma` selected as request input</description>
                  <value>21</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>lpuart1_tx_dma</name>
                  <description>Signal `lpuart1_tx_dma` selected as request input</description>
                  <value>22</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>tim1_ch1</name>
                  <description>Signal `tim1_ch1` selected as request input</description>
                  <value>23</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>tim1_ch2</name>
                  <description>Signal `tim1_ch2` selected as request input</description>
                  <value>24</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>tim1_ch3</name>
                  <description>Signal `tim1_ch3` selected as request input</description>
                  <value>25</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>tim1_ch4</name>
                  <description>Signal `tim1_ch4` selected as request input</description>
                  <value>26</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>tim1_up</name>
                  <description>Signal `tim1_up` selected as request input</description>
                  <value>27</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>tim1_trig</name>
                  <description>Signal `tim1_trig` selected as request input</description>
                  <value>28</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>tim1_com</name>
                  <description>Signal `tim1_com` selected as request input</description>
                  <value>29</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>tim2_ch1</name>
                  <description>Signal `tim2_ch1` selected as request input</description>
                  <value>30</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>tim2_ch2</name>
                  <description>Signal `tim2_ch2` selected as request input</description>
                  <value>31</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>tim2_ch3</name>
                  <description>Signal `tim2_ch3` selected as request input</description>
                  <value>32</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>tim2_ch4</name>
                  <description>Signal `tim2_ch4` selected as request input</description>
                  <value>33</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>tim2_up</name>
                  <description>Signal `tim2_up` selected as request input</description>
                  <value>34</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>tim16_ch1</name>
                  <description>Signal `tim16_ch1` selected as request input</description>
                  <value>35</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>tim16_up</name>
                  <description>Signal `tim16_up` selected as request input</description>
                  <value>36</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>tim17_ch1</name>
                  <description>Signal `tim17_ch1` selected as request input</description>
                  <value>37</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>tim17_up</name>
                  <description>Signal `tim17_up` selected as request input</description>
                  <value>38</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>aes_in</name>
                  <description>Signal `aes_in` selected as request input</description>
                  <value>39</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>aes_out</name>
                  <description>Signal `aes_out` selected as request input</description>
                  <value>40</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>subghzspi_rx</name>
                  <description>Signal `subghzspi_rx` selected as request input</description>
                  <value>41</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>subghzspi_tx</name>
                  <description>Signal `subghzspi_tx` selected as request input</description>
                  <value>42</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CSR</name>
          <displayName>CSR</displayName>
          <description>request line multiplexer interrupt channel           status register</description>
          <addressOffset>0x80</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>14</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>0-13</dimIndex>
              <name>SOF%s</name>
              <description>Synchronization Overrun Flag %s</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <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>CCFR</name>
          <displayName>CCFR</displayName>
          <description>request line multiplexer interrupt channel           clear flag register</description>
          <addressOffset>0x84</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>14</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>0-13</dimIndex>
              <name>CSOF%s</name>
              <description>Synchronization Clear Overrun Flag %s</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <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>4</dim>
          <dimIncrement>0x4</dimIncrement>
          <dimIndex>0-3</dimIndex>
          <name>RGCR%s</name>
          <displayName>RG%sCR</displayName>
          <description>request generator channel x configuration           register</description>
          <addressOffset>0x100</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>GNBREQ</name>
              <description>Number of DMA requests to be generated               (minus 1)</description>
              <bitOffset>19</bitOffset>
              <bitWidth>5</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>31</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>GPOL</name>
              <description>DMA request generator trigger               polarity</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>GE</name>
              <description>DMA request generator channel x               enable</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>OIE</name>
              <description>Trigger overrun interrupt               enable</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>SIG_ID</name>
              <description>Signal identification</description>
              <bitOffset>0</bitOffset>
              <bitWidth>5</bitWidth>
              <enumeratedValues>
                <name>SIG_ID</name>
                <enumeratedValue>
                  <name>exti0</name>
                  <description>Signal `EXTIx` selected as synchronization input</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>exti1</name>
                  <description>Signal `EXTIx` selected as synchronization input</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>exti2</name>
                  <description>Signal `EXTIx` selected as synchronization input</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>exti3</name>
                  <description>Signal `EXTIx` selected as synchronization input</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>exti4</name>
                  <description>Signal `EXTIx` selected as synchronization input</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>exti5</name>
                  <description>Signal `EXTIx` selected as synchronization input</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>exti6</name>
                  <description>Signal `EXTIx` selected as synchronization input</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>exti7</name>
                  <description>Signal `EXTIx` selected as synchronization input</description>
                  <value>7</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>exti8</name>
                  <description>Signal `EXTIx` selected as synchronization input</description>
                  <value>8</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>exti9</name>
                  <description>Signal `EXTIx` selected as synchronization input</description>
                  <value>9</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>exti10</name>
                  <description>Signal `EXTIx` selected as synchronization input</description>
                  <value>10</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>exti11</name>
                  <description>Signal `EXTIx` selected as synchronization input</description>
                  <value>11</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>exti12</name>
                  <description>Signal `EXTIx` selected as synchronization input</description>
                  <value>12</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>exti13</name>
                  <description>Signal `EXTIx` selected as synchronization input</description>
                  <value>13</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>exti14</name>
                  <description>Signal `EXTIx` selected as synchronization input</description>
                  <value>14</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>exti15</name>
                  <description>Signal `EXTIx` selected as synchronization input</description>
                  <value>15</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>dmamux1_evt0</name>
                  <description>Signal `dmamux1_evt0` selected as synchronization input</description>
                  <value>16</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>dmamux1_evt1</name>
                  <description>Signal `dmamux1_evt1` selected as synchronization input</description>
                  <value>17</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>lptim1_out</name>
                  <description>Signal `lptim1_out` selected as synchronization input</description>
                  <value>18</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>lptim2_out</name>
                  <description>Signal `lptim2_out` selected as synchronization input</description>
                  <value>19</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>lptim3_out</name>
                  <description>Signal `lptim3_out` selected as synchronization input</description>
                  <value>20</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>RGSR</name>
          <displayName>RGSR</displayName>
          <description>request generator interrupt status           register</description>
          <addressOffset>0x140</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>4</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>0-3</dimIndex>
              <name>OF%s</name>
              <description>Generator Overrun Flag %s</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <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>
          <description>request generator interrupt clear flag           register</description>
          <addressOffset>0x144</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>4</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>0-3</dimIndex>
              <name>COF%s</name>
              <description>Generator Clear Overrun Flag %s</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>
      </registers>
    </peripheral>
    <peripheral>
      <name>EXTI</name>
      <description>External interrupt/event       controller</description>
      <groupName>EXTI</groupName>
      <baseAddress>0x58000800</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>PVD_PVM_3</name>
        <description>PVD through EXTI[16],
             PVM[3] through EXTI[34]</description>
        <value>1</value>
      </interrupt>
      <interrupt>
        <name>EXTI0</name>
        <description>EXTI line 0 interrupt through
        EXTI</description>
        <value>6</value>
      </interrupt>
      <interrupt>
        <name>EXTI1</name>
        <description>EXTI line 1 interrupt through
        EXTI</description>
        <value>7</value>
      </interrupt>
      <interrupt>
        <name>EXTI2</name>
        <description>EXTI line 2 interrupt through
        EXTI</description>
        <value>8</value>
      </interrupt>
      <interrupt>
        <name>EXTI3</name>
        <description>EXTI line 3 interrupt through
        EXTI</description>
        <value>9</value>
      </interrupt>
      <interrupt>
        <name>EXTI4</name>
        <description>EXTI line 4 interrupt through
        EXTI</description>
        <value>10</value>
      </interrupt>
      <interrupt>
        <name>EXTI9_5</name>
        <description>EXTI line 9_5 interrupt through
        EXTI</description>
        <value>22</value>
      </interrupt>
      <interrupt>
        <name>EXTI15_10</name>
        <description>EXTI line 15_10] interrupt through
        EXTI</description>
        <value>41</value>
      </interrupt>
      <interrupt>
        <name>Radio_IRQ_Busy</name>
        <description>Radio IRQs, RFBUSY interrupt through
        EXTI</description>
        <value>50</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>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>RT0</name>
              <description>rising trigger event configuration bit of configurable event input 0</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <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>RT1</name>
              <description>rising trigger event configuration bit of configurable event input 1</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="RisingTrigger"/>
            </field>
            <field>
              <name>RT2</name>
              <description>rising trigger event configuration bit of configurable event input 2</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="RisingTrigger"/>
            </field>
            <field>
              <name>RT3</name>
              <description>rising trigger event configuration bit of configurable event input 3</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="RisingTrigger"/>
            </field>
            <field>
              <name>RT4</name>
              <description>rising trigger event configuration bit of configurable event input 4</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="RisingTrigger"/>
            </field>
            <field>
              <name>RT5</name>
              <description>rising trigger event configuration bit of configurable event input 5</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="RisingTrigger"/>
            </field>
            <field>
              <name>RT6</name>
              <description>rising trigger event configuration bit of configurable event input 6</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="RisingTrigger"/>
            </field>
            <field>
              <name>RT7</name>
              <description>rising trigger event configuration bit of configurable event input 7</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="RisingTrigger"/>
            </field>
            <field>
              <name>RT8</name>
              <description>rising trigger event configuration bit of configurable event input 8</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="RisingTrigger"/>
            </field>
            <field>
              <name>RT9</name>
              <description>rising trigger event configuration bit of configurable event input 9</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="RisingTrigger"/>
            </field>
            <field>
              <name>RT10</name>
              <description>rising trigger event configuration bit of configurable event input 10</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="RisingTrigger"/>
            </field>
            <field>
              <name>RT11</name>
              <description>rising trigger event configuration bit of configurable event input 11</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="RisingTrigger"/>
            </field>
            <field>
              <name>RT12</name>
              <description>rising trigger event configuration bit of configurable event input 12</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="RisingTrigger"/>
            </field>
            <field>
              <name>RT13</name>
              <description>rising trigger event configuration bit of configurable event input 13</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="RisingTrigger"/>
            </field>
            <field>
              <name>RT14</name>
              <description>rising trigger event configuration bit of configurable event input 14</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="RisingTrigger"/>
            </field>
            <field>
              <name>RT15</name>
              <description>rising trigger event configuration bit of configurable event input 15</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="RisingTrigger"/>
            </field>
            <field>
              <name>RT16</name>
              <description>rising trigger event configuration bit of configurable event input 16</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="RisingTrigger"/>
            </field>
            <field>
              <name>RT21</name>
              <description>rising trigger event configuration bit of configurable event input 21</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="RisingTrigger"/>
            </field>
            <field>
              <name>RT22</name>
              <description>rising trigger event configuration bit of configurable event input 22
Note: The configurable event inputs are edge triggered. No glitch must be generated on these inputs. If a rising edge on the configurable event input occurs while writing to the register, the associated pending bit is not set.
Note: Rising and falling edge triggers can be set for the same configurable event input. In this case, both edges generate a trigger.</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <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>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>FT0</name>
              <description>falling trigger event configuration bit of configurable event input 0</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <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>FT1</name>
              <description>falling trigger event configuration bit of configurable event input 1</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="FallingTrigger"/>
            </field>
            <field>
              <name>FT2</name>
              <description>falling trigger event configuration bit of configurable event input 2</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="FallingTrigger"/>
            </field>
            <field>
              <name>FT3</name>
              <description>falling trigger event configuration bit of configurable event input 3</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="FallingTrigger"/>
            </field>
            <field>
              <name>FT4</name>
              <description>falling trigger event configuration bit of configurable event input 4</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="FallingTrigger"/>
            </field>
            <field>
              <name>FT5</name>
              <description>falling trigger event configuration bit of configurable event input 5</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="FallingTrigger"/>
            </field>
            <field>
              <name>FT6</name>
              <description>falling trigger event configuration bit of configurable event input 6</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="FallingTrigger"/>
            </field>
            <field>
              <name>FT7</name>
              <description>falling trigger event configuration bit of configurable event input 7</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="FallingTrigger"/>
            </field>
            <field>
              <name>FT8</name>
              <description>falling trigger event configuration bit of configurable event input 8</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="FallingTrigger"/>
            </field>
            <field>
              <name>FT9</name>
              <description>falling trigger event configuration bit of configurable event input 9</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="FallingTrigger"/>
            </field>
            <field>
              <name>FT10</name>
              <description>falling trigger event configuration bit of configurable event input 10</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="FallingTrigger"/>
            </field>
            <field>
              <name>FT11</name>
              <description>falling trigger event configuration bit of configurable event input 11</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="FallingTrigger"/>
            </field>
            <field>
              <name>FT12</name>
              <description>falling trigger event configuration bit of configurable event input 12</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="FallingTrigger"/>
            </field>
            <field>
              <name>FT13</name>
              <description>falling trigger event configuration bit of configurable event input 13</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="FallingTrigger"/>
            </field>
            <field>
              <name>FT14</name>
              <description>falling trigger event configuration bit of configurable event input 14</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="FallingTrigger"/>
            </field>
            <field>
              <name>FT15</name>
              <description>falling trigger event configuration bit of configurable event input 15</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="FallingTrigger"/>
            </field>
            <field>
              <name>FT16</name>
              <description>falling trigger event configuration bit of configurable event input 16</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="FallingTrigger"/>
            </field>
            <field>
              <name>FT21</name>
              <description>falling trigger event configuration bit of configurable event input 21</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="FallingTrigger"/>
            </field>
            <field>
              <name>FT22</name>
              <description>falling trigger event configuration bit of configurable event input 22
Note: The configurable event inputs are edge triggered. No glitch must be generated on these inputs. If a falling edge on the configurable event input occurs while writing to the register, the associated pending bit is not set.
Note: Rising and falling edge triggers can be set for the same configurable event input. In this case, both edges generate a trigger.</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <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>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>SWI0</name>
              <description>Software interrupt on line 0</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <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>SWI1</name>
              <description>Software interrupt on line 1</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="SoftwareInterrupt"/>
            </field>
            <field>
              <name>SWI2</name>
              <description>Software interrupt on line 2</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="SoftwareInterrupt"/>
            </field>
            <field>
              <name>SWI3</name>
              <description>Software interrupt on line 3</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="SoftwareInterrupt"/>
            </field>
            <field>
              <name>SWI4</name>
              <description>Software interrupt on line 4</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="SoftwareInterrupt"/>
            </field>
            <field>
              <name>SWI5</name>
              <description>Software interrupt on line 5</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="SoftwareInterrupt"/>
            </field>
            <field>
              <name>SWI6</name>
              <description>Software interrupt on line 6</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="SoftwareInterrupt"/>
            </field>
            <field>
              <name>SWI7</name>
              <description>Software interrupt on line 7</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="SoftwareInterrupt"/>
            </field>
            <field>
              <name>SWI8</name>
              <description>Software interrupt on line 8</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="SoftwareInterrupt"/>
            </field>
            <field>
              <name>SWI9</name>
              <description>Software interrupt on line 9</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="SoftwareInterrupt"/>
            </field>
            <field>
              <name>SWI10</name>
              <description>Software interrupt on line 10</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="SoftwareInterrupt"/>
            </field>
            <field>
              <name>SWI11</name>
              <description>Software interrupt on line 11</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="SoftwareInterrupt"/>
            </field>
            <field>
              <name>SWI12</name>
              <description>Software interrupt on line 12</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="SoftwareInterrupt"/>
            </field>
            <field>
              <name>SWI13</name>
              <description>Software interrupt on line 13</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="SoftwareInterrupt"/>
            </field>
            <field>
              <name>SWI14</name>
              <description>Software interrupt on line 14</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="SoftwareInterrupt"/>
            </field>
            <field>
              <name>SWI15</name>
              <description>Software interrupt on line 15</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="SoftwareInterrupt"/>
            </field>
            <field>
              <name>SWI16</name>
              <description>Software interrupt on line 16</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="SoftwareInterrupt"/>
            </field>
            <field>
              <name>SWI21</name>
              <description>Software interrupt on line 21</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="SoftwareInterrupt"/>
            </field>
            <field>
              <name>SWI22</name>
              <description>Software interrupt on line 22
A software interrupt is generated independently from the setting in EXTI_RTSR and EXTI_FTSR. This bit always returns 0 when read.
This bit is automatically cleared by hardware.</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="SoftwareInterrupt"/>
            </field>
          </fields>
        </register>
        <register>
          <name>PR1</name>
          <displayName>PR1</displayName>
          <description>EXTI pending register</description>
          <addressOffset>0xC</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>PIF0</name>
              <description>pending bit on event input 0</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>PIF0R</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>PIF0W</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clears pending bit</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIF1</name>
              <description>pending bit on event input 1</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues derivedFrom="PIF0R">
                <usage>read</usage>
              </enumeratedValues>
              <enumeratedValues derivedFrom="PIF0W">
                <usage>write</usage>
              </enumeratedValues>
            </field>
            <field>
              <name>PIF2</name>
              <description>pending bit on event input 2</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues derivedFrom="PIF0R">
                <usage>read</usage>
              </enumeratedValues>
              <enumeratedValues derivedFrom="PIF0W">
                <usage>write</usage>
              </enumeratedValues>
            </field>
            <field>
              <name>PIF3</name>
              <description>pending bit on event input 3</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues derivedFrom="PIF0R">
                <usage>read</usage>
              </enumeratedValues>
              <enumeratedValues derivedFrom="PIF0W">
                <usage>write</usage>
              </enumeratedValues>
            </field>
            <field>
              <name>PIF4</name>
              <description>pending bit on event input 4</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues derivedFrom="PIF0R">
                <usage>read</usage>
              </enumeratedValues>
              <enumeratedValues derivedFrom="PIF0W">
                <usage>write</usage>
              </enumeratedValues>
            </field>
            <field>
              <name>PIF5</name>
              <description>pending bit on event input 5</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues derivedFrom="PIF0R">
                <usage>read</usage>
              </enumeratedValues>
              <enumeratedValues derivedFrom="PIF0W">
                <usage>write</usage>
              </enumeratedValues>
            </field>
            <field>
              <name>PIF6</name>
              <description>pending bit on event input 6</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues derivedFrom="PIF0R">
                <usage>read</usage>
              </enumeratedValues>
              <enumeratedValues derivedFrom="PIF0W">
                <usage>write</usage>
              </enumeratedValues>
            </field>
            <field>
              <name>PIF7</name>
              <description>pending bit on event input 7</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues derivedFrom="PIF0R">
                <usage>read</usage>
              </enumeratedValues>
              <enumeratedValues derivedFrom="PIF0W">
                <usage>write</usage>
              </enumeratedValues>
            </field>
            <field>
              <name>PIF8</name>
              <description>pending bit on event input 8</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues derivedFrom="PIF0R">
                <usage>read</usage>
              </enumeratedValues>
              <enumeratedValues derivedFrom="PIF0W">
                <usage>write</usage>
              </enumeratedValues>
            </field>
            <field>
              <name>PIF9</name>
              <description>pending bit on event input 9</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues derivedFrom="PIF0R">
                <usage>read</usage>
              </enumeratedValues>
              <enumeratedValues derivedFrom="PIF0W">
                <usage>write</usage>
              </enumeratedValues>
            </field>
            <field>
              <name>PIF10</name>
              <description>pending bit on event input 10</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues derivedFrom="PIF0R">
                <usage>read</usage>
              </enumeratedValues>
              <enumeratedValues derivedFrom="PIF0W">
                <usage>write</usage>
              </enumeratedValues>
            </field>
            <field>
              <name>PIF11</name>
              <description>pending bit on event input 11</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues derivedFrom="PIF0R">
                <usage>read</usage>
              </enumeratedValues>
              <enumeratedValues derivedFrom="PIF0W">
                <usage>write</usage>
              </enumeratedValues>
            </field>
            <field>
              <name>PIF12</name>
              <description>pending bit on event input 12</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues derivedFrom="PIF0R">
                <usage>read</usage>
              </enumeratedValues>
              <enumeratedValues derivedFrom="PIF0W">
                <usage>write</usage>
              </enumeratedValues>
            </field>
            <field>
              <name>PIF13</name>
              <description>pending bit on event input 13</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues derivedFrom="PIF0R">
                <usage>read</usage>
              </enumeratedValues>
              <enumeratedValues derivedFrom="PIF0W">
                <usage>write</usage>
              </enumeratedValues>
            </field>
            <field>
              <name>PIF14</name>
              <description>pending bit on event input 14</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues derivedFrom="PIF0R">
                <usage>read</usage>
              </enumeratedValues>
              <enumeratedValues derivedFrom="PIF0W">
                <usage>write</usage>
              </enumeratedValues>
            </field>
            <field>
              <name>PIF15</name>
              <description>pending bit on event input 15</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues derivedFrom="PIF0R">
                <usage>read</usage>
              </enumeratedValues>
              <enumeratedValues derivedFrom="PIF0W">
                <usage>write</usage>
              </enumeratedValues>
            </field>
            <field>
              <name>PIF16</name>
              <description>pending bit on event input 16</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues derivedFrom="PIF0R">
                <usage>read</usage>
              </enumeratedValues>
              <enumeratedValues derivedFrom="PIF0W">
                <usage>write</usage>
              </enumeratedValues>
            </field>
            <field>
              <name>PIF21</name>
              <description>pending bit on event input 21</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues derivedFrom="PIF0R">
                <usage>read</usage>
              </enumeratedValues>
              <enumeratedValues derivedFrom="PIF0W">
                <usage>write</usage>
              </enumeratedValues>
            </field>
            <field>
              <name>PIF22</name>
              <description>pending bit on event input 22
These bits are set when the selected edge event or an EXTI_SWIER software trigger arrives on the configurable event line. This bit is cleared by writing 1 to it.</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues derivedFrom="PIF0R">
                <usage>read</usage>
              </enumeratedValues>
              <enumeratedValues derivedFrom="PIF0W">
                <usage>write</usage>
              </enumeratedValues>
            </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>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>RT34</name>
              <description>rising trigger event configuration bit of configurable event input 34</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <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>RT40</name>
              <description>rising trigger event configuration bit of configurable event input 40</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="RisingTrigger"/>
            </field>
            <field>
              <name>RT41</name>
              <description>rising trigger event configuration bit of configurable event input 41</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="RisingTrigger"/>
            </field>
            <field>
              <name>RT45</name>
              <description>rising trigger event configuration bit of configurable event input 45
Note: The configurable event inputs are edge triggered. No glitch must be generated on these inputs. If a rising edge on the configurable event input occurs while writing to the register, the associated pending bit is not set.
Note: Rising and falling edge triggers can be set for the same configurable event input. In this case, both edges generate a trigger.</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <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>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>FT34</name>
              <description>falling trigger event configuration bit of configurable event input 34</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <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>FT40</name>
              <description>falling trigger event configuration bit of configurable event input 40</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="FallingTrigger"/>
            </field>
            <field>
              <name>FT41</name>
              <description>falling trigger event configuration bit of configurable event input 41</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="FallingTrigger"/>
            </field>
            <field>
              <name>FT45</name>
              <description>falling trigger event configuration bit of configurable event input 45
Note: The configurable event inputs are edge triggered. No glitch must be generated on these inputs. If a falling edge on the configurable event input occurs while writing to the register, the associated pending bit is not set.
Note: Rising and falling edge triggers can be set for the same configurable event input. In this case, both edges generate a trigger.</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <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>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>SWI34</name>
              <description>software interrupt on event 34</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <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>SWI40</name>
              <description>software interrupt on event 40</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="SoftwareInterrupt"/>
            </field>
            <field>
              <name>SWI41</name>
              <description>software interrupt on event 41</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="SoftwareInterrupt"/>
            </field>
            <field>
              <name>SWI45</name>
              <description>software interrupt on event 45
A software interrupt is generated independently from the setting in EXTI_RTSR and EXTI_FTSR. This bit always returns 0 when read.
This bit is automatically cleared by hardware.</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="SoftwareInterrupt"/>
            </field>
          </fields>
        </register>
        <register>
          <name>PR2</name>
          <displayName>PR2</displayName>
          <description>EXTI pending register</description>
          <addressOffset>0x2C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>PIF34</name>
              <description>pending bit on event input 34</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>PIF34R</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>PIF34W</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clears pending bit</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PIF40</name>
              <description>pending bit on event input 40</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues derivedFrom="PIF34R">
                <usage>read</usage>
              </enumeratedValues>
              <enumeratedValues derivedFrom="PIF34W">
                <usage>write</usage>
              </enumeratedValues>
            </field>
            <field>
              <name>PIF41</name>
              <description>pending bit on event input 41</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues derivedFrom="PIF34R">
                <usage>read</usage>
              </enumeratedValues>
              <enumeratedValues derivedFrom="PIF34W">
                <usage>write</usage>
              </enumeratedValues>
            </field>
            <field>
              <name>PIF45</name>
              <description>pending bit on event input 45
These bits are set when the selected edge event or an EXTI_SWIER software trigger arrives on the configurable event line. This bit is cleared by writing 1 to it.</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <modifiedWriteValues>oneToClear</modifiedWriteValues>
              <enumeratedValues derivedFrom="PIF34R">
                <usage>read</usage>
              </enumeratedValues>
              <enumeratedValues derivedFrom="PIF34W">
                <usage>write</usage>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>C1IMR1</name>
          <displayName>C1IMR1</displayName>
          <description>EXTI interrupt mask register</description>
          <addressOffset>0x80</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>IM</name>
              <description>Wake-up with interrupt mask on event input x
For each bit of this field:</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
              <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>C1EMR1</name>
          <displayName>C1EMR1</displayName>
          <description>EXTI event mask register</description>
          <addressOffset>0x84</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>EM0</name>
              <description>Wake-up with event generation mask on event input 0</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <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>EM1</name>
              <description>Wake-up with event generation mask on event input 1</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>EM2</name>
              <description>Wake-up with event generation mask on event input 2</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>EM3</name>
              <description>Wake-up with event generation mask on event input 3</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>EM4</name>
              <description>Wake-up with event generation mask on event input 4</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>EM5</name>
              <description>Wake-up with event generation mask on event input 5</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>EM6</name>
              <description>Wake-up with event generation mask on event input 6</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>EM7</name>
              <description>Wake-up with event generation mask on event input 7</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>EM8</name>
              <description>Wake-up with event generation mask on event input 8</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>EM9</name>
              <description>Wake-up with event generation mask on event input 19</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>EM10</name>
              <description>Wake-up with event generation mask on event input 10</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>EM11</name>
              <description>Wake-up with event generation mask on event input 11</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>EM12</name>
              <description>Wake-up with event generation mask on event input 12</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>EM13</name>
              <description>Wake-up with event generation mask on event input 13</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>EM14</name>
              <description>Wake-up with event generation mask on event input 14</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>EM15</name>
              <description>Wake-up with event generation mask on event input 15</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>EM17</name>
              <description>Wake-up with event generation mask on event input 17</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>EM18</name>
              <description>Wake-up with event generation mask on event input 18</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>EM19</name>
              <description>Wake-up with event generation mask on event input 19</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>EM20</name>
              <description>Wake-up with event generation mask on event input 20</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>EM21</name>
              <description>Wake-up with event generation mask on event input 21</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>EM22</name>
              <description>Wake-up with event generation mask on event input 22</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
          </fields>
        </register>
        <register>
          <name>C1IMR2</name>
          <displayName>C1IMR2</displayName>
          <description>EXTI interrupt mask register</description>
          <addressOffset>0x90</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>IM34</name>
              <description>Wake-up with interrupt mask on event input 34</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <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>IM36</name>
              <description>Wake-up with interrupt mask on event input 36</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>IM37</name>
              <description>Wake-up with interrupt mask on event input 37</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>IM38</name>
              <description>Wake-up with interrupt mask on event input 38</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>IM39</name>
              <description>Wake-up with interrupt mask on event input 39</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>IM40</name>
              <description>Wake-up with interrupt mask on event input 40</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>IM41</name>
              <description>Wake-up with interrupt mask on event input 41</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>IM42</name>
              <description>Wake-up with interrupt mask on event input 42</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>IM43</name>
              <description>Wake-up with interrupt mask on event input 43</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>IM44</name>
              <description>Wake-up with interrupt mask on event input 44</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>IM45</name>
              <description>Wake-up with interrupt mask on event input 45</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>IM46</name>
              <description>Wake-up with interrupt mask on event input 46</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
          </fields>
        </register>
        <register>
          <name>C1EMR2</name>
          <displayName>C1EMR2</displayName>
          <description>EXTI event mask register</description>
          <addressOffset>0x94</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>EM40</name>
              <description>Wake-up with event generation mask on event input 40</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <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>EM41</name>
              <description>Wake-up with event generation mask on event input 41</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
          </fields>
        </register>
        <register>
          <name>C2IMR1</name>
          <displayName>C2IMR1</displayName>
          <description>EXTI interrupt mask register</description>
          <addressOffset>0xC0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>IM</name>
              <description>Wake-up with interrupt mask on event input x
For each bit of this field:</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <access>read-write</access>
              <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>C2EMR1</name>
          <displayName>C2EMR1</displayName>
          <description>EXTI event mask register</description>
          <addressOffset>0xC4</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>EM0</name>
              <description>Wake-up with event generation mask on event input 0</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <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>EM1</name>
              <description>Wake-up with event generation mask on event input 1</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>EM2</name>
              <description>Wake-up with event generation mask on event input 2</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>EM3</name>
              <description>Wake-up with event generation mask on event input 3</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>EM4</name>
              <description>Wake-up with event generation mask on event input 4</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>EM5</name>
              <description>Wake-up with event generation mask on event input 5</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>EM6</name>
              <description>Wake-up with event generation mask on event input 6</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>EM7</name>
              <description>Wake-up with event generation mask on event input 7</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>EM8</name>
              <description>Wake-up with event generation mask on event input 8</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>EM9</name>
              <description>Wake-up with event generation mask on event input 19</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>EM10</name>
              <description>Wake-up with event generation mask on event input 10</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>EM11</name>
              <description>Wake-up with event generation mask on event input 11</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>EM12</name>
              <description>Wake-up with event generation mask on event input 12</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>EM13</name>
              <description>Wake-up with event generation mask on event input 13</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>EM14</name>
              <description>Wake-up with event generation mask on event input 14</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>EM15</name>
              <description>Wake-up with event generation mask on event input 15</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>EM17</name>
              <description>Wake-up with event generation mask on event input 17</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>EM18</name>
              <description>Wake-up with event generation mask on event input 18</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>EM19</name>
              <description>Wake-up with event generation mask on event input 19</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>EM20</name>
              <description>Wake-up with event generation mask on event input 20</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>EM21</name>
              <description>Wake-up with event generation mask on event input 21</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
            <field>
              <name>EM22</name>
              <description>Wake-up with event generation mask on event input 22</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
          </fields>
        </register>
        <register>
          <name>C2IMR2</name>
          <displayName>C2IMR2</displayName>
          <description>EXTI interrupt mask register</description>
          <addressOffset>0xD0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>IM34</name>
              <description>Wake-up with interrupt mask on event input 34</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <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>IM36</name>
              <description>Wake-up with interrupt mask on event input 36</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>IM37</name>
              <description>Wake-up with interrupt mask on event input 37</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>IM38</name>
              <description>Wake-up with interrupt mask on event input 38</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>IM39</name>
              <description>Wake-up with interrupt mask on event input 39</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>IM40</name>
              <description>Wake-up with interrupt mask on event input 40</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>IM41</name>
              <description>Wake-up with interrupt mask on event input 41</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>IM42</name>
              <description>Wake-up with interrupt mask on event input 42</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>IM43</name>
              <description>Wake-up with interrupt mask on event input 43</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>IM44</name>
              <description>Wake-up with interrupt mask on event input 44</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>IM45</name>
              <description>Wake-up with interrupt mask on event input 45</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
            <field>
              <name>IM46</name>
              <description>Wake-up with interrupt mask on event input 46</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="InterruptMask"/>
            </field>
          </fields>
        </register>
        <register>
          <name>C2EMR2</name>
          <displayName>C2EMR2</displayName>
          <description>EXTI event mask register</description>
          <addressOffset>0xD4</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <resetMask>0xFFFFFFFF</resetMask>
          <fields>
            <field>
              <name>EM40</name>
              <description>Wake-up with event generation mask on event input 40</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <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>EM41</name>
              <description>Wake-up with event generation mask on event input 41</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="EventMask"/>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>FLASH</name>
      <description>Flash</description>
      <groupName>Flash</groupName>
      <baseAddress>0x58004000</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>FLASH</name>
        <description>Flash memory global interrupt and Flash memory ECC
          single error 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>0x00000600</resetValue>
          <fields>
            <field>
              <name>LATENCY</name>
              <description>Latency</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>LATENCY</name>
                <enumeratedValue>
                  <name>WS0</name>
                  <description>0 wait states</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>WS1</name>
                  <description>1 wait states</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>WS2</name>
                  <description>2 wait states</description>
                  <value>2</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PRFTEN</name>
              <description>Prefetch enable</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>PRFTEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Prefetch is disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Prefetch is enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ICEN</name>
              <description>Instruction cache enable</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ICEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Instruction cache is disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Instruction cache is enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DCEN</name>
              <description>Data cache enable</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DCEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Data cache is disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Data cache is enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ICRST</name>
              <description>Instruction cache reset</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ICRST</name>
                <enumeratedValue>
                  <name>NotReset</name>
                  <description>Instruction cache is not reset</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Reset</name>
                  <description>Instruction cache is reset</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DCRST</name>
              <description>Data cache reset</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DCRST</name>
                <enumeratedValue>
                  <name>NotReset</name>
                  <description>Data cache is not reset</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Reset</name>
                  <description>Data cache is reset</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PES</name>
              <description>CPU1 programm erase suspend               request</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>PES</name>
                <enumeratedValue>
                  <name>Granted</name>
                  <description>Flash program and erase operations granted</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Suspended</name>
                  <description>Any new Flash program and erase operation is suspended until this bit is cleared. The PESD bit in FLASH_SR is set when PES bit in FLASH_ACR is set</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EMPTY</name>
              <description>Flash User area empty</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>EMPTY</name>
                <enumeratedValue>
                  <name>Programmed</name>
                  <description>User Flash programmend</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Empty</name>
                  <description>User Flash empty</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>ACR2</name>
          <displayName>ACR2</displayName>
          <description>Flash access control register           2</description>
          <addressOffset>0x4</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>PRIVMODE</name>
              <description>CFI privileged mode enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>HDPADIS</name>
              <description>Flash user hide protection area access disable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>C2SWDBGEN</name>
              <description>CPU2 Software debug enable</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>KEYR</name>
          <displayName>KEYR</displayName>
          <description>Flash key register</description>
          <addressOffset>0x8</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>KEY</name>
              <description>KEY</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4294967295</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>OPTKEYR</name>
          <displayName>OPTKEYR</displayName>
          <description>Option byte key register</description>
          <addressOffset>0xC</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>OPTKEY</name>
              <description>Option byte key</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>0x10</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>EOP</name>
              <description>End of operation</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>EOPR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoEvent</name>
                  <description>No EOP operation occurred</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Event</name>
                  <description>An EOP event occurred</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>EOPW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear the flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OPERR</name>
              <description>Operation error</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>OPERRR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoError</name>
                  <description>No memory opreation error happened</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Error</name>
                  <description>Memory operation error happened</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>OPERRW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear the flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROGERR</name>
              <description>Programming error</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>PROGERRR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoError</name>
                  <description>No size programming error happened</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Error</name>
                  <description>Programming error happened</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>PROGERRW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear the flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>WRPERR</name>
              <description>Write protected error</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>WRPERRR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoError</name>
                  <description>No write protection error happened</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Error</name>
                  <description>Write protection error happened</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>WRPERRW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear the flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PGAERR</name>
              <description>Programming alignment               error</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>PGAERRR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoError</name>
                  <description>No programming alignment error happened</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Error</name>
                  <description>Programming alignment error happened</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>PGAERRW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear the flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SIZERR</name>
              <description>Size error</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>SIZERRR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoError</name>
                  <description>No size error happened</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Error</name>
                  <description>Size error happened</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>SIZERRW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear the flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PGSERR</name>
              <description>Programming sequence error</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>PGSERRR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoError</name>
                  <description>No fast programming sequence error happened</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Error</name>
                  <description>Fast programming sequence error happened</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>PGSERRW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear the flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MISSERR</name>
              <description>Fast programming data miss               error</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>MISSERRR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoError</name>
                  <description>No fast programming data miss error happened</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Error</name>
                  <description>Fast programming data miss error happened</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>MISSERRW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear the flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FASTERR</name>
              <description>Fast programming error</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>FASTERRR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoError</name>
                  <description>No fast programming error happened</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Error</name>
                  <description>Fast programming error happened</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>FASTERRW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear the flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OPTNV</name>
              <description>User Option OPTIVAL               indication</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>OPTNV</name>
                <enumeratedValue>
                  <name>Valid</name>
                  <description>The OBL user option OPTVAL indicates "valid"</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Invalid</name>
                  <description>The OBL user option OPTVAL indicates "invalid"</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RDERR</name>
              <description>PCROP read error</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>RDERRR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoError</name>
                  <description>No read-only error happened</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Error</name>
                  <description>Read-only error happened</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>RDERRW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear the flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OPTVERR</name>
              <description>Option validity error</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>OPTVERRR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoError</name>
                  <description>No error in option and engineering bits</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Error</name>
                  <description>Error in option and engineering bits</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>OPTVERRW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear the flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BSY</name>
              <description>Busy</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>BSY</name>
                <enumeratedValue>
                  <name>Inactive</name>
                  <description>No write/erase operation is in progress</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Active</name>
                  <description>No write/erase operation is in progress</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CFGBSY</name>
              <description>Programming or erase configuration               busy</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>CFGBSY</name>
                <enumeratedValue>
                  <name>Free</name>
                  <description>PG, PNB, PER, MER bits available for writing</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Busy</name>
                  <description>PG, PNB, PER, MER bits not available for writing (operation ongoing)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PESD</name>
              <description>Programming / erase operation               suspended</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>PESD</name>
                <enumeratedValue>
                  <name>Granted</name>
                  <description>Flash program and erase operations granted</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Suspended</name>
                  <description>Any new Flash program and erase operation is suspended until this bit is cleared. This bit is set when the PES bit in FLASH_ACR is set</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CR</name>
          <displayName>CR</displayName>
          <description>Flash control register</description>
          <addressOffset>0x14</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0xC0000000</resetValue>
          <fields>
            <field>
              <name>PG</name>
              <description>Programming</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>PG</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Flash programming disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Flash programming enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PER</name>
              <description>Page erase</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>PER</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Page erase disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Page erase enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MER</name>
              <description>Mass erase</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>MER</name>
                <enumeratedValue>
                  <name>NoErase</name>
                  <description>No mass erase</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>MassErase</name>
                  <description>Trigger mass erase</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PNB</name>
              <description>Page number</description>
              <bitOffset>3</bitOffset>
              <bitWidth>7</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>127</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>STRT</name>
              <description>Start</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>STRTR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Done</name>
                  <description>Options modification completed or idle</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>STRTW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Start</name>
                  <description>Trigger options programming operation</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OPTSTRT</name>
              <description>Options modification start</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>OPTSTRTR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Done</name>
                  <description>Options modification completed or idle</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>OPTSTRTW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Start</name>
                  <description>Trigger options programming operation</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FSTPG</name>
              <description>Fast programming</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>FSTPG</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Fast programming disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Fast programming enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EOPIE</name>
              <description>End of operation interrupt               enable</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>EOPIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>End of program interrupt disable</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>End of program interrupt enable</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ERRIE</name>
              <description>Error interrupt enable</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ERRIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>OPERR Error interrupt disable</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>OPERR Error interrupt enable</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RDERRIE</name>
              <description>PCROP read error interrupt               enable</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RDERRIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>PCROP read error interrupt disable</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>PCROP read error interrupt enable</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OBL_LAUNCH</name>
              <description>Force the option byte               loading</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>OBL_LAUNCHR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Complete</name>
                  <description>Option byte loaded</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>NotComplete</name>
                  <description>Option byte loading to be done</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>OBL_LAUNCHW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Reload</name>
                  <description>Reload option byte</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OPTLOCK</name>
              <description>Options Lock</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>OPTLOCKR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Unlocked</name>
                  <description>FLASH_CR options are unlocked</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>OPTLOCKW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Locked</name>
                  <description>FLASH_CR options are locked</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LOCK</name>
              <description>FLASH_CR Lock</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>LOCKR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Unlocked</name>
                  <description>FLASH_CR is unlocked</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>LOCKW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Locked</name>
                  <description>FLASH_CR is locked</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>ECCR</name>
          <displayName>ECCR</displayName>
          <description>Flash ECC register</description>
          <addressOffset>0x18</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>ADDR_ECC</name>
              <description>ECC fail address</description>
              <bitOffset>0</bitOffset>
              <bitWidth>17</bitWidth>
              <access>read-only</access>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>131071</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>SYSF_ECC</name>
              <description>System Flash ECC fail</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>SYSF_ECC</name>
                <enumeratedValue>
                  <name>NotInFlash</name>
                  <description>No System Flash memory ECC fail</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>InFlash</name>
                  <description>System Flash memory ECC fail</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ECCCIE</name>
              <description>ECC correction interrupt               enable</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>ECCCIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>ECCC interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>ECCC interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CPUID</name>
              <description>CPU identification</description>
              <bitOffset>26</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>ECCC</name>
              <description>ECC correction</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>ECCCR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoEvent</name>
                  <description>ECC error corrected</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Event</name>
                  <description>No ECC error corrected</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>ECCCW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear the flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ECCD</name>
              <description>ECC detection</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>ECCDR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoEvent</name>
                  <description>Two ECC errors detected</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Event</name>
                  <description>No two ECC errors detected</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>ECCDW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear the flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>OPTR</name>
          <displayName>OPTR</displayName>
          <description>Flash option register</description>
          <addressOffset>0x20</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x3FFFF0AA</resetValue>
          <fields>
            <field>
              <name>RDP</name>
              <description>Read protection level</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <enumeratedValues>
                <name>RDP</name>
                <enumeratedValue>
                  <name>Level1</name>
                  <description>Level 1, memories readout protection active (writes 0x88)</description>
                  <value>136</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Level0</name>
                  <description>Level 0, readout protection not active</description>
                  <value>170</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Level2</name>
                  <description>Level 2, chip readout protection active</description>
                  <value>204</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ESE</name>
              <description>System security enabled               flag</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ESE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Security disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Security enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BOR_LEV</name>
              <description>BOR reset Level</description>
              <bitOffset>9</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>BOR_LEV</name>
                <enumeratedValue>
                  <name>Level0</name>
                  <description>BOR level 0. Reset level threshold is around 1.7 V</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Level1</name>
                  <description>BOR level 1. Reset level threshold is around 2.0 V</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Level2</name>
                  <description>BOR level 2. Reset level threshold is around 2.2 V</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Level3</name>
                  <description>BOR level 3. Reset level threshold is around 2.5 V</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Level4</name>
                  <description>BOR level 4. Reset level threshold is around 2.8 V</description>
                  <value>4</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>nRST_STOP</name>
              <description>nRST_STOP</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>nRST_STOP</name>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Reset generated when entering the Standby mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>No reset generated when entering the Standby mode</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>nRST_STDBY</name>
              <description>nRST_STDBY</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>nRST_STDBY</name>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Reset generated when entering the Standby mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>No reset generated when entering the Standby mode</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>nRST_SHDW</name>
              <description>nRSTSHDW</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>nRST_SHDW</name>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Reset generated when entering the Shutdown mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>No reset generated when entering the Shutdown mode</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>IWDG_SW</name>
              <description>Independent watchdog               selection</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>IWDG_SW</name>
                <enumeratedValue>
                  <name>Hardware</name>
                  <description>Hardware independent watchdog</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Software</name>
                  <description>Software independent watchdog</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>IWDG_STOP</name>
              <description>Independent watchdog counter freeze in               Stop mode</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>IWDG_STOP</name>
                <enumeratedValue>
                  <name>Frozen</name>
                  <description>Independent watchdog counter frozen in Stop mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Running</name>
                  <description>Independent watchdog counter running in Stop mode</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>IWDG_STDBY</name>
              <description>Independent watchdog counter freeze in               Standby mode</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>IWDG_STDBY</name>
                <enumeratedValue>
                  <name>Frozen</name>
                  <description>Independent watchdog counter frozen in Standby mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Running</name>
                  <description>Independent watchdog counter running in Standby mode</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>WWDG_SW</name>
              <description>Window watchdog selection</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>WWDG_SW</name>
                <enumeratedValue>
                  <name>Hardware</name>
                  <description>Hardware window watchdog</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Software</name>
                  <description>Software window watchdog</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>nBOOT1</name>
              <description>Boot configuration</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>nBOOT1</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>When nSWBOOT0 is cleared, select boot mode together with nBOOT0</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Set</name>
                  <description>When nSWBOOT0 is cleared, select boot mode together with nBOOT0</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SRAM2_PE</name>
              <description>SRAM2 parity check enable</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SRAM2_PE</name>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>SRAM2 Parity check enabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>SRAM2 Parity check disabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SRAM_RST</name>
              <description>SRAM2 Erase when system               reset</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SRAM_RST</name>
                <enumeratedValue>
                  <name>Reset</name>
                  <description>SRAM1 and SRAM2 erased when a system reset occurs</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>NotReset</name>
                  <description>SRAM1 and SRAM2 not erased when a system reset occurs</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>nSWBOOT0</name>
              <description>Software BOOT0 selection</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>nSWBOOT0</name>
                <enumeratedValue>
                  <name>Bit</name>
                  <description>BOOT0 taken from nBOOT0 in this register</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Pin</name>
                  <description>BOOT0 taken from GPIO PH3/BOOT0</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>nBOOT0</name>
              <description>nBOOT0 option bit</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>nBOOT0</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>When nSWBOOT0 is cleared, select boot mode together with nBOOT1</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Set</name>
                  <description>When nSWBOOT0 is cleared, select boot mode together with nBOOT1</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BOOT_LOCK</name>
              <description>CPU1 CM4 Unique Boot entry enable option               bit</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>BOOT_LOCK</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Boot lock is disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Boot lock is enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>C2BOOT_LOCK</name>
              <description>CPU2 CM0+ Unique Boot entry enable               option bit</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>PCROP1ASR</name>
          <displayName>PCROP1ASR</displayName>
          <description>Flash PCROP zone A Start address           register</description>
          <addressOffset>0x24</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0xFFFFFFFF</resetValue>
          <fields>
            <field>
              <name>PCROP1A_STRT</name>
              <description>PCROP1A area start offset</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>PCROP1AER</name>
          <displayName>PCROP1AER</displayName>
          <description>Flash PCROP zone A End address           register</description>
          <addressOffset>0x28</addressOffset>
          <size>0x20</size>
          <resetValue>0xFFFFFF00</resetValue>
          <fields>
            <field>
              <name>PCROP1A_END</name>
              <description>PCROP area end offset</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>PCROP_RDP</name>
              <description>PCROP area preserved when RDP level               decreased</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
            </field>
          </fields>
        </register>
        <register>
          <name>WRP1AR</name>
          <displayName>WRP1AR</displayName>
          <description>Flash WRP area A address           register</description>
          <addressOffset>0x2C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0xFF80FFFF</resetValue>
          <fields>
            <field>
              <name>WRP1A_STRT</name>
              <description>Bank 1 WRP first area start               offset</description>
              <bitOffset>0</bitOffset>
              <bitWidth>7</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>127</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>WRP1A_END</name>
              <description>Bank 1 WRP first area A end               offset</description>
              <bitOffset>16</bitOffset>
              <bitWidth>7</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>127</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>WRP1BR</name>
          <displayName>WRP1BR</displayName>
          <description>Flash WRP area B address           register</description>
          <addressOffset>0x30</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0xFF80FFFF</resetValue>
          <fields>
            <field>
              <name>WRP1B_STRT</name>
              <description>Bank 1 WRP second area B end               offset</description>
              <bitOffset>0</bitOffset>
              <bitWidth>7</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>127</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>WRP1B_END</name>
              <description>Bank 1 WRP second area B start               offset</description>
              <bitOffset>16</bitOffset>
              <bitWidth>7</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>127</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>PCROP1BSR</name>
          <displayName>PCROP1BSR</displayName>
          <description>Flash PCROP zone B Start address           register</description>
          <addressOffset>0x34</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0xFFFFFFFF</resetValue>
          <fields>
            <field>
              <name>PCROP1B_STRT</name>
              <description>Bank 1 WRP second area B end               offset</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>PCROP1BER</name>
          <displayName>PCROP1BER</displayName>
          <description>Flash PCROP zone B End address           register</description>
          <addressOffset>0x38</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0xFFFFFF00</resetValue>
          <fields>
            <field>
              <name>PCROP1B_END</name>
              <description>PCROP1B area end offset</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>IPCCBR</name>
          <displayName>IPCCBR</displayName>
          <description>Flash IPCC data buffer address           register</description>
          <addressOffset>0x3C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0xFFFFFFFF</resetValue>
          <fields>
            <field>
              <name>IPCCDBA</name>
              <description>IPCCDBA</description>
              <bitOffset>0</bitOffset>
              <bitWidth>14</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>16383</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>C2ACR</name>
          <displayName>C2ACR</displayName>
          <description>Flash CPU2 access control           register</description>
          <addressOffset>0x5C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000600</resetValue>
          <fields>
            <field>
              <name>PRFTEN</name>
              <description>CPU2 Prefetch enable</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>PRFTEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>CPU2 prefetch is disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>CPU2 prefetch is enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ICEN</name>
              <description>CPU2 Instruction cache               enable</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ICEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>CPU2 instruction cache is disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>CPU2 instruction cache is enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ICRST</name>
              <description>CPU2 Instruction cache               reset</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ICRST</name>
                <enumeratedValue>
                  <name>NotReset</name>
                  <description>CPU2 instruction cache is not reset</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Reset</name>
                  <description>CPU2 instruction cache is reset</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PES</name>
              <description>CPU2 program / erase suspend               request</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>PES</name>
                <enumeratedValue>
                  <name>Granted</name>
                  <description>Flash program and erase operations granted</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Suspended</name>
                  <description>Any new Flash program and erase operation is suspended until this bit is cleared. The PESD bit in FLASH_C2SR is set when PES bit in FLASH_C2ACR is set</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>C2SR</name>
          <displayName>C2SR</displayName>
          <description>Flash CPU2 status register</description>
          <addressOffset>0x60</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>EOP</name>
              <description>End of operation</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>EOPR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoEvent</name>
                  <description>No EOP operation occurred</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Event</name>
                  <description>An EOP event occurred</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>EOPW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear the flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OPERR</name>
              <description>Operation error</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>OPERRR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoError</name>
                  <description>No memory opreation error happened</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Error</name>
                  <description>Memory operation error happened</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>OPERRW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear the flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROGERR</name>
              <description>Programming error</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>PROGERRR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoError</name>
                  <description>No size programming error happened</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Error</name>
                  <description>Programming error happened</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>PROGERRW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear the flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>WRPERR</name>
              <description>WRPERR</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>WRPERRR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoError</name>
                  <description>No write protection error happened</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Error</name>
                  <description>Write protection error happened</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>WRPERRW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear the flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PGAERR</name>
              <description>PGAERR</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>PGAERRR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoError</name>
                  <description>No programming alignment error happened</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Error</name>
                  <description>Programming alignment error happened</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>PGAERRW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear the flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SIZERR</name>
              <description>Size error</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>SIZERRR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoError</name>
                  <description>No size error happened</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Error</name>
                  <description>Size error happened</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>SIZERRW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear the flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PGSERR</name>
              <description>Programming sequence error</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>PGSERRR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoError</name>
                  <description>No fast programming sequence error happened</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Error</name>
                  <description>Fast programming sequence error happened</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>PGSERRW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear the flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MISSERR</name>
              <description>Fast programming data miss               error</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>MISSERRR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoError</name>
                  <description>No fast programming data miss error happened</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Error</name>
                  <description>Fast programming data miss error happened</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>MISSERRW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear the flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FASTERR</name>
              <description>Fast programming error</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>FASTERRR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoError</name>
                  <description>No fast programming error happened</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Error</name>
                  <description>Fast programming error happened</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>FASTERRW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear the flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RDERR</name>
              <description>PCROP read error</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>RDERRR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>NoError</name>
                  <description>No read-only error happened</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Error</name>
                  <description>Read-only error happened</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>RDERRW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear the flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BSY</name>
              <description>BSY</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>BSY</name>
                <enumeratedValue>
                  <name>Inactive</name>
                  <description>No write/erase operation is in progress</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Active</name>
                  <description>No write/erase operation is in progress</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CFGBSY</name>
              <description>CFGBSY</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>CFGBSY</name>
                <enumeratedValue>
                  <name>Free</name>
                  <description>PG, PNB, PER, MER bits available for writing</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Busy</name>
                  <description>PG, PNB, PER, MER bits not available for writing (operation ongoing)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PESD</name>
              <description>PESD</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>PESD</name>
                <enumeratedValue>
                  <name>Granted</name>
                  <description>Flash program and erase operations granted</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Suspended</name>
                  <description>Any new Flash program and erase operation is suspended until this bit is cleared. This bit is set when at least one PES bit in FLASH_ACR or FLASH_C2ACR is set.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>C2CR</name>
          <displayName>C2CR</displayName>
          <description>Flash CPU2 control register</description>
          <addressOffset>0x64</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0xC0000000</resetValue>
          <fields>
            <field>
              <name>PG</name>
              <description>Programming</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>PG</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Flash programming disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Flash programming enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PER</name>
              <description>Page erase</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>PER</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Page erase disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Page erase enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MER</name>
              <description>Mass erase</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>MER</name>
                <enumeratedValue>
                  <name>NoErase</name>
                  <description>No mass erase</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>MassErase</name>
                  <description>Trigger mass erase</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PNB</name>
              <description>Page number selection</description>
              <bitOffset>3</bitOffset>
              <bitWidth>7</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>127</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>STRT</name>
              <description>Start</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>STRTR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Done</name>
                  <description>Options modification completed or idle</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>STRTW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Start</name>
                  <description>Trigger options programming operation</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FSTPG</name>
              <description>Fast programming</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>FSTPG</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Fast programming disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Fast programming enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EOPIE</name>
              <description>End of operation interrupt               enable</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>EOPIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>End of program interrupt disable</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>End of program interrupt enable</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ERRIE</name>
              <description>Error interrupt enable</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ERRIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>OPERR Error interrupt disable</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>OPERR Error interrupt enable</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RDERRIE</name>
              <description>RDERRIE</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RDERRIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>PCROP read error interrupt disable</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>PCROP read error interrupt enable</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>SFR</name>
          <displayName>SFR</displayName>
          <description>Flash secure Flash start address           register</description>
          <addressOffset>0x80</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0xFFFFEFFF</resetValue>
          <fields>
            <field>
              <name>SFSA</name>
              <description>Secure Flash start address</description>
              <bitOffset>0</bitOffset>
              <bitWidth>7</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>127</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>FSD</name>
              <description>Flash security disabled</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>FSD</name>
                <enumeratedValue>
                  <name>Secure</name>
                  <description>System and Flash memory secure</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>NonSecure</name>
                  <description>System and Flash memory non-secure</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DDS</name>
              <description>DDS</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DDS</name>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>CPU2 debug access enabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>CPU2 debug access disabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>HDPSA</name>
              <description>User Flash hide protection area start address</description>
              <bitOffset>16</bitOffset>
              <bitWidth>7</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>127</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>HDPAD</name>
              <description>User Flash hide protection area disabled</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>HDPAD</name>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>User Flash memory hide protection area enabled. HDPSA[6:0] contains the start address of the first 2-Kbyte page of the user Flash memory hide protection area</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>User Flash memory hide protection area disabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SUBGHSPISD</name>
              <description>sub-GHz radio SPI security disable</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SUBGHSPISD</name>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>sub-GHz radio SPI security enabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>sub-GHz radio SPI security disabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>SRRVR</name>
          <displayName>SRRVR</displayName>
          <description>Flash secure SRAM start address and CPU2           reset vector register</description>
          <addressOffset>0x84</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0xFFFF8000</resetValue>
          <fields>
            <field>
              <name>SBRV</name>
              <description>CPU2 boot reset vector</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>SBRSA</name>
              <description>Secure backup SRAM2 start               address</description>
              <bitOffset>18</bitOffset>
              <bitWidth>5</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>31</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>BRSD</name>
              <description>backup SRAM2 security               disable</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>BRSD</name>
                <enumeratedValue>
                  <name>Secure</name>
                  <description>SRAM2 is secure. SNBRSA[4:0] contains the start address of the first 1-Kbyte page of the secure backup SRAM2 area</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>NonSecure</name>
                  <description>SRAM2 is non-secure</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SNBRSA</name>
              <description>Secure non-backup SRAM1 start               address</description>
              <bitOffset>25</bitOffset>
              <bitWidth>5</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>31</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>NBRSD</name>
              <description>NBRSD</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>NBRSD</name>
                <enumeratedValue>
                  <name>Secure</name>
                  <description>SRAM1 is secure. SNBRSA[4:0] contains the start address of the first 1-Kbyte page of the secure non-backup SRAM1 area</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>NonSecure</name>
                  <description>SRAM1 is non-secure</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>C2OPT</name>
              <description>C2OPT</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>C2OPT</name>
                <enumeratedValue>
                  <name>SRAM</name>
                  <description>SBRV offset addresses SRAM1 or SRAM2, from start address 0x2000_0000 + SBRV</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Flash</name>
                  <description>SBRV offset addresses the Flash memory, from start address 0x0800_0000 + SBRV</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>GPIOA</name>
      <description>General-purpose I/Os</description>
      <groupName>GPIO</groupName>
      <baseAddress>0x48000000</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>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>
            <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>
          </fields>
        </register>
        <register>
          <name>LCKR</name>
          <displayName>LCKR</displayName>
          <description>GPIO port configuration lock           register</description>
          <addressOffset>0x1C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>LCKK</name>
              <description>Port x lock bit y (y=               0..15)</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>
            <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>
          </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>L0,L1,L2,L3,L4,L5,L6,L7</dimIndex>
              <name>AFR%s</name>
              <description>Alternate function selection for port x               bit y (y = 0..7)</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>H8,H9,H10,H11,H12,H13,H14,H15</dimIndex>
              <name>AFR%s</name>
              <description>Alternate function selection for port x               bit y (y = 8..15)</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>BRR</name>
          <displayName>BRR</displayName>
          <description>GPIO port bit reset register</description>
          <addressOffset>0x28</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>16</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>0-15</dimIndex>
              <name>BR%s</name>
              <description>Port x reset pin %s</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>BitReset</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>NoAction</name>
                  <description>No action on the corresponding ODx bit</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Reset</name>
                  <description>Reset the ODx bit</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>GPIOB</name>
      <description>General-purpose I/Os</description>
      <groupName>GPIO</groupName>
      <baseAddress>0x48000400</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>GPIO port configuration lock           register</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>
        <register derivedFrom="GPIOA.BRR">
          <name>BRR</name>
          <displayName>BRR</displayName>
          <description>GPIO port bit reset register</description>
          <addressOffset>0x28</addressOffset>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>GPIOC</name>
      <description>General-purpose I/Os</description>
      <groupName>GPIO</groupName>
      <baseAddress>0x48000800</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>0xFC003FFF</resetValue>
          <fields>
            <field>
              <name>MODER0</name>
              <description>Port x configuration bits (y =               0..15)</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>
            <field>
              <name>MODER15</name>
              <description>Port x configuration bits (y =               0..15)</description>
              <bitOffset>30</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues derivedFrom="Mode"/>
            </field>
            <field>
              <name>MODER14</name>
              <description>Port x configuration bits (y =               0..15)</description>
              <bitOffset>28</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues derivedFrom="Mode"/>
            </field>
            <field>
              <name>MODER13</name>
              <description>Port x configuration bits (y =               0..15)</description>
              <bitOffset>26</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues derivedFrom="Mode"/>
            </field>
            <field>
              <name>MODER6</name>
              <description>Port x configuration bits (y =               0..15)</description>
              <bitOffset>12</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues derivedFrom="Mode"/>
            </field>
            <field>
              <name>MODER5</name>
              <description>Port x configuration bits (y =               0..15)</description>
              <bitOffset>10</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues derivedFrom="Mode"/>
            </field>
            <field>
              <name>MODER4</name>
              <description>Port x configuration bits (y =               0..15)</description>
              <bitOffset>8</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues derivedFrom="Mode"/>
            </field>
            <field>
              <name>MODER3</name>
              <description>Port x configuration bits (y =               0..15)</description>
              <bitOffset>6</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues derivedFrom="Mode"/>
            </field>
            <field>
              <name>MODER2</name>
              <description>Port x configuration bits (y =               0..15)</description>
              <bitOffset>4</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues derivedFrom="Mode"/>
            </field>
            <field>
              <name>MODER1</name>
              <description>Port x configuration bits (y =               0..15)</description>
              <bitOffset>2</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues derivedFrom="Mode"/>
            </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>
              <name>OT0</name>
              <description>Port x configuration bits (y =               0..15)</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>
            <field>
              <name>OT15</name>
              <description>Port x configuration bits (y =               0..15)</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="OutputType"/>
            </field>
            <field>
              <name>OT14</name>
              <description>Port x configuration bits (y =               0..15)</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="OutputType"/>
            </field>
            <field>
              <name>OT13</name>
              <description>Port x configuration bits (y =               0..15)</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="OutputType"/>
            </field>
            <field>
              <name>OT6</name>
              <description>Port x configuration bits (y =               0..15)</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="OutputType"/>
            </field>
            <field>
              <name>OT5</name>
              <description>Port x configuration bits (y =               0..15)</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="OutputType"/>
            </field>
            <field>
              <name>OT4</name>
              <description>Port x configuration bits (y =               0..15)</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="OutputType"/>
            </field>
            <field>
              <name>OT3</name>
              <description>Port x configuration bits (y =               0..15)</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="OutputType"/>
            </field>
            <field>
              <name>OT2</name>
              <description>Port x configuration bits (y =               0..15)</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="OutputType"/>
            </field>
            <field>
              <name>OT1</name>
              <description>Port x configuration bits (y =               0..15)</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="OutputType"/>
            </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>0x00000000</resetValue>
          <fields>
            <field>
              <name>OSPEEDR0</name>
              <description>Port x configuration bits (y =               0..15)</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>
            <field>
              <name>OSPEEDR15</name>
              <description>Port x configuration bits (y =               0..15)</description>
              <bitOffset>30</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues derivedFrom="OutputSpeed"/>
            </field>
            <field>
              <name>OSPEEDR14</name>
              <description>Port x configuration bits (y =               0..15)</description>
              <bitOffset>28</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues derivedFrom="OutputSpeed"/>
            </field>
            <field>
              <name>OSPEEDR13</name>
              <description>Port x configuration bits (y =               0..15)</description>
              <bitOffset>26</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues derivedFrom="OutputSpeed"/>
            </field>
            <field>
              <name>OSPEEDR6</name>
              <description>Port x configuration bits (y =               0..15)</description>
              <bitOffset>12</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues derivedFrom="OutputSpeed"/>
            </field>
            <field>
              <name>OSPEEDR5</name>
              <description>Port x configuration bits (y =               0..15)</description>
              <bitOffset>10</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues derivedFrom="OutputSpeed"/>
            </field>
            <field>
              <name>OSPEEDR4</name>
              <description>Port x configuration bits (y =               0..15)</description>
              <bitOffset>8</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues derivedFrom="OutputSpeed"/>
            </field>
            <field>
              <name>OSPEEDR3</name>
              <description>Port x configuration bits (y =               0..15)</description>
              <bitOffset>6</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues derivedFrom="OutputSpeed"/>
            </field>
            <field>
              <name>OSPEEDR2</name>
              <description>Port x configuration bits (y =               0..15)</description>
              <bitOffset>4</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues derivedFrom="OutputSpeed"/>
            </field>
            <field>
              <name>OSPEEDR1</name>
              <description>Port x configuration bits (y =               0..15)</description>
              <bitOffset>2</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues derivedFrom="OutputSpeed"/>
            </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>
              <name>PUPDR0</name>
              <description>Port x configuration bits (y =               0..15)</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>
            <field>
              <name>PUPDR15</name>
              <description>Port x configuration bits (y =               0..15)</description>
              <bitOffset>30</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues derivedFrom="Pull"/>
            </field>
            <field>
              <name>PUPDR14</name>
              <description>Port x configuration bits (y =               0..15)</description>
              <bitOffset>28</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues derivedFrom="Pull"/>
            </field>
            <field>
              <name>PUPDR13</name>
              <description>Port x configuration bits (y =               0..15)</description>
              <bitOffset>26</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues derivedFrom="Pull"/>
            </field>
            <field>
              <name>PUPDR6</name>
              <description>Port x configuration bits (y =               0..15)</description>
              <bitOffset>12</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues derivedFrom="Pull"/>
            </field>
            <field>
              <name>PUPDR5</name>
              <description>Port x configuration bits (y =               0..15)</description>
              <bitOffset>10</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues derivedFrom="Pull"/>
            </field>
            <field>
              <name>PUPDR4</name>
              <description>Port x configuration bits (y =               0..15)</description>
              <bitOffset>8</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues derivedFrom="Pull"/>
            </field>
            <field>
              <name>PUPDR3</name>
              <description>Port x configuration bits (y =               0..15)</description>
              <bitOffset>6</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues derivedFrom="Pull"/>
            </field>
            <field>
              <name>PUPDR2</name>
              <description>Port x configuration bits (y =               0..15)</description>
              <bitOffset>4</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues derivedFrom="Pull"/>
            </field>
            <field>
              <name>PUPDR1</name>
              <description>Port x configuration bits (y =               0..15)</description>
              <bitOffset>2</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues derivedFrom="Pull"/>
            </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>
              <name>IDR0</name>
              <description>Port input data (y =               0..15)</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>
            <field>
              <name>IDR15</name>
              <description>Port input data (y =               0..15)</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InputData"/>
            </field>
            <field>
              <name>IDR14</name>
              <description>Port input data (y =               0..15)</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InputData"/>
            </field>
            <field>
              <name>IDR13</name>
              <description>Port input data (y =               0..15)</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InputData"/>
            </field>
            <field>
              <name>IDR6</name>
              <description>Port input data (y =               0..15)</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InputData"/>
            </field>
            <field>
              <name>IDR5</name>
              <description>Port input data (y =               0..15)</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InputData"/>
            </field>
            <field>
              <name>IDR4</name>
              <description>Port input data (y =               0..15)</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InputData"/>
            </field>
            <field>
              <name>IDR3</name>
              <description>Port input data (y =               0..15)</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InputData"/>
            </field>
            <field>
              <name>IDR2</name>
              <description>Port input data (y =               0..15)</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InputData"/>
            </field>
            <field>
              <name>IDR1</name>
              <description>Port input data (y =               0..15)</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="InputData"/>
            </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>
              <name>ODR0</name>
              <description>Port output data (y =               0..15)</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>
            <field>
              <name>ODR15</name>
              <description>Port output data (y =               0..15)</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="OutputData"/>
            </field>
            <field>
              <name>ODR14</name>
              <description>Port output data (y =               0..15)</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="OutputData"/>
            </field>
            <field>
              <name>ODR13</name>
              <description>Port output data (y =               0..15)</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="OutputData"/>
            </field>
            <field>
              <name>ODR6</name>
              <description>Port output data (y =               0..15)</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="OutputData"/>
            </field>
            <field>
              <name>ODR5</name>
              <description>Port output data (y =               0..15)</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="OutputData"/>
            </field>
            <field>
              <name>ODR4</name>
              <description>Port output data (y =               0..15)</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="OutputData"/>
            </field>
            <field>
              <name>ODR3</name>
              <description>Port output data (y =               0..15)</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="OutputData"/>
            </field>
            <field>
              <name>ODR2</name>
              <description>Port output data (y =               0..15)</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="OutputData"/>
            </field>
            <field>
              <name>ODR1</name>
              <description>Port output data (y =               0..15)</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="OutputData"/>
            </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>
              <name>BR0</name>
              <description>Port x set bit y (y=               0..15)</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>
            <field>
              <name>BR15</name>
              <description>Port x reset bit y (y =               0..15)</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="BitReset"/>
            </field>
            <field>
              <name>BR14</name>
              <description>Port x reset bit y (y =               0..15)</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="BitReset"/>
            </field>
            <field>
              <name>BR13</name>
              <description>Port x reset bit y (y =               0..15)</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="BitReset"/>
            </field>
            <field>
              <name>BR6</name>
              <description>Port x reset bit y (y =               0..15)</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="BitReset"/>
            </field>
            <field>
              <name>BR5</name>
              <description>Port x reset bit y (y =               0..15)</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="BitReset"/>
            </field>
            <field>
              <name>BR4</name>
              <description>Port x reset bit y (y =               0..15)</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="BitReset"/>
            </field>
            <field>
              <name>BR3</name>
              <description>Port x reset bit y (y =               0..15)</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="BitReset"/>
            </field>
            <field>
              <name>BR2</name>
              <description>Port x reset bit y (y =               0..15)</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="BitReset"/>
            </field>
            <field>
              <name>BR1</name>
              <description>Port x reset bit y (y =               0..15)</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="BitReset"/>
            </field>
            <field>
              <name>BS0</name>
              <description>Port x set bit y (y=               0..15)</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>
              <name>BS15</name>
              <description>Port x set bit y (y=               0..15)</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="BitSet"/>
            </field>
            <field>
              <name>BS14</name>
              <description>Port x set bit y (y=               0..15)</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="BitSet"/>
            </field>
            <field>
              <name>BS13</name>
              <description>Port x set bit y (y=               0..15)</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="BitSet"/>
            </field>
            <field>
              <name>BS6</name>
              <description>Port x set bit y (y=               0..15)</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="BitSet"/>
            </field>
            <field>
              <name>BS5</name>
              <description>Port x set bit y (y=               0..15)</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="BitSet"/>
            </field>
            <field>
              <name>BS4</name>
              <description>Port x set bit y (y=               0..15)</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="BitSet"/>
            </field>
            <field>
              <name>BS3</name>
              <description>Port x set bit y (y=               0..15)</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="BitSet"/>
            </field>
            <field>
              <name>BS2</name>
              <description>Port x set bit y (y=               0..15)</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="BitSet"/>
            </field>
            <field>
              <name>BS1</name>
              <description>Port x set bit y (y=               0..15)</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="BitSet"/>
            </field>
          </fields>
        </register>
        <register>
          <name>LCKR</name>
          <displayName>LCKR</displayName>
          <description>GPIO port configuration lock           register</description>
          <addressOffset>0x1C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>LCKK</name>
              <description>Port x lock bit y (y=               0..15)</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>
            <field>
              <name>LCK0</name>
              <description>Port x lock bit y (y=               0..15)</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>LCK15</name>
              <description>Port x lock bit y (y=               0..15)</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="Lock"/>
            </field>
            <field>
              <name>LCK14</name>
              <description>Port x lock bit y (y=               0..15)</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="Lock"/>
            </field>
            <field>
              <name>LCK13</name>
              <description>Port x lock bit y (y=               0..15)</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="Lock"/>
            </field>
            <field>
              <name>LCK6</name>
              <description>Port x lock bit y (y=               0..15)</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="Lock"/>
            </field>
            <field>
              <name>LCK5</name>
              <description>Port x lock bit y (y=               0..15)</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="Lock"/>
            </field>
            <field>
              <name>LCK4</name>
              <description>Port x lock bit y (y=               0..15)</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="Lock"/>
            </field>
            <field>
              <name>LCK3</name>
              <description>Port x lock bit y (y=               0..15)</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="Lock"/>
            </field>
            <field>
              <name>LCK2</name>
              <description>Port x lock bit y (y=               0..15)</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="Lock"/>
            </field>
            <field>
              <name>LCK1</name>
              <description>Port x lock bit y (y=               0..15)</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="Lock"/>
            </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>
              <name>AFRL0</name>
              <description>Alternate function selection for port x               bit y (y = 0..7)</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>
            <field>
              <name>AFRL7</name>
              <description>Alternate function selection for port x               bit y (y = 0..7)</description>
              <bitOffset>28</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues derivedFrom="AlternateFunction"/>
            </field>
            <field>
              <name>AFRL6</name>
              <description>Alternate function selection for port x               bit y (y = 0..7)</description>
              <bitOffset>24</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues derivedFrom="AlternateFunction"/>
            </field>
            <field>
              <name>AFRL5</name>
              <description>Alternate function selection for port x               bit y (y = 0..7)</description>
              <bitOffset>20</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues derivedFrom="AlternateFunction"/>
            </field>
            <field>
              <name>AFRL4</name>
              <description>Alternate function selection for port x               bit y (y = 0..7)</description>
              <bitOffset>16</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues derivedFrom="AlternateFunction"/>
            </field>
            <field>
              <name>AFRL3</name>
              <description>Alternate function selection for port x               bit y (y = 0..7)</description>
              <bitOffset>12</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues derivedFrom="AlternateFunction"/>
            </field>
            <field>
              <name>AFRL2</name>
              <description>Alternate function selection for port x               bit y (y = 0..7)</description>
              <bitOffset>8</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues derivedFrom="AlternateFunction"/>
            </field>
            <field>
              <name>AFRL1</name>
              <description>Alternate function selection for port x               bit y (y = 0..7)</description>
              <bitOffset>4</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues derivedFrom="AlternateFunction"/>
            </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>
              <name>AFRH8</name>
              <description>Alternate function selection for port x               bit y (y = 8..15)</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>
            <field>
              <name>AFRH15</name>
              <description>Alternate function selection for port x               bit y (y = 8..15)</description>
              <bitOffset>28</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues derivedFrom="AlternateFunction"/>
            </field>
            <field>
              <name>AFRH14</name>
              <description>Alternate function selection for port x               bit y (y = 8..15)</description>
              <bitOffset>24</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues derivedFrom="AlternateFunction"/>
            </field>
            <field>
              <name>AFRH13</name>
              <description>Alternate function selection for port x               bit y (y = 8..15)</description>
              <bitOffset>20</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues derivedFrom="AlternateFunction"/>
            </field>
            <field>
              <name>AFRH12</name>
              <description>Alternate function selection for port x               bit y (y = 8..15)</description>
              <bitOffset>16</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues derivedFrom="AlternateFunction"/>
            </field>
            <field>
              <name>AFRH11</name>
              <description>Alternate function selection for port x               bit y (y = 8..15)</description>
              <bitOffset>12</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues derivedFrom="AlternateFunction"/>
            </field>
            <field>
              <name>AFRH10</name>
              <description>Alternate function selection for port x               bit y (y = 8..15)</description>
              <bitOffset>8</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues derivedFrom="AlternateFunction"/>
            </field>
            <field>
              <name>AFRH9</name>
              <description>Alternate function selection for port x               bit y (y = 8..15)</description>
              <bitOffset>4</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues derivedFrom="AlternateFunction"/>
            </field>
          </fields>
        </register>
        <register>
          <name>BRR</name>
          <displayName>BRR</displayName>
          <description>GPIO port bit reset register</description>
          <addressOffset>0x28</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>BR0</name>
              <description>Port Reset bit</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>BitReset</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>NoAction</name>
                  <description>No action on the corresponding ODx bit</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Reset</name>
                  <description>Reset the ODx bit</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BR1</name>
              <description>Port Reset bit</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="BitReset"/>
            </field>
            <field>
              <name>BR2</name>
              <description>Port Reset bit</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="BitReset"/>
            </field>
            <field>
              <name>BR3</name>
              <description>Port Reset bit</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="BitReset"/>
            </field>
            <field>
              <name>BR4</name>
              <description>Port Reset bit</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="BitReset"/>
            </field>
            <field>
              <name>BR5</name>
              <description>Port Reset bit</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="BitReset"/>
            </field>
            <field>
              <name>BR6</name>
              <description>Port Reset bit</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="BitReset"/>
            </field>
            <field>
              <name>BR13</name>
              <description>Port Reset bit</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="BitReset"/>
            </field>
            <field>
              <name>BR14</name>
              <description>Port Reset bit</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="BitReset"/>
            </field>
            <field>
              <name>BR15</name>
              <description>Port Reset bit</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="BitReset"/>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>GPIOH</name>
      <description>General-purpose I/Os</description>
      <groupName>GPIO</groupName>
      <baseAddress>0x48001C00</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>0x000000C0</resetValue>
          <fields>
            <field>
              <name>MODER3</name>
              <description>Port x configuration bits (y =               0..15)</description>
              <bitOffset>6</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>
              <name>OT3</name>
              <description>Port x configuration bits (y =               0..15)</description>
              <bitOffset>3</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>0x00000000</resetValue>
          <fields>
            <field>
              <name>OSPEEDR3</name>
              <description>Port x configuration bits (y =               0..15)</description>
              <bitOffset>6</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>0x00000000</resetValue>
          <fields>
            <field>
              <name>PUPDR3</name>
              <description>Port x configuration bits (y =               0..15)</description>
              <bitOffset>6</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>
              <name>IDR3</name>
              <description>Port input data (y =               0..15)</description>
              <bitOffset>3</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>
              <name>ODR3</name>
              <description>Port output data (y =               0..15)</description>
              <bitOffset>3</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>
              <name>BR3</name>
              <description>Port x reset bit y (y =               0..15)</description>
              <bitOffset>19</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>
            <field>
              <name>BS3</name>
              <description>Port x set bit y (y=               0..15)</description>
              <bitOffset>3</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>
          </fields>
        </register>
        <register>
          <name>LCKR</name>
          <displayName>LCKR</displayName>
          <description>GPIO port configuration lock           register</description>
          <addressOffset>0x1C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>LCKK</name>
              <description>Port x lock bit y (y=               0..15)</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>
            <field>
              <name>LCK3</name>
              <description>Port x lock bit y (y=               0..15)</description>
              <bitOffset>3</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>
          </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>
              <name>AFRL3</name>
              <description>Alternate function selection for port x               bit y (y = 0..7)</description>
              <bitOffset>12</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>
              <name>AFRH8</name>
              <description>Alternate function selection for port x               bit y (y = 8..15)</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>
            <field>
              <name>AFRH15</name>
              <description>Alternate function selection for port x               bit y (y = 8..15)</description>
              <bitOffset>28</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues derivedFrom="AlternateFunction"/>
            </field>
            <field>
              <name>AFRH14</name>
              <description>Alternate function selection for port x               bit y (y = 8..15)</description>
              <bitOffset>24</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues derivedFrom="AlternateFunction"/>
            </field>
            <field>
              <name>AFRH13</name>
              <description>Alternate function selection for port x               bit y (y = 8..15)</description>
              <bitOffset>20</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues derivedFrom="AlternateFunction"/>
            </field>
            <field>
              <name>AFRH12</name>
              <description>Alternate function selection for port x               bit y (y = 8..15)</description>
              <bitOffset>16</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues derivedFrom="AlternateFunction"/>
            </field>
            <field>
              <name>AFRH11</name>
              <description>Alternate function selection for port x               bit y (y = 8..15)</description>
              <bitOffset>12</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues derivedFrom="AlternateFunction"/>
            </field>
            <field>
              <name>AFRH10</name>
              <description>Alternate function selection for port x               bit y (y = 8..15)</description>
              <bitOffset>8</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues derivedFrom="AlternateFunction"/>
            </field>
            <field>
              <name>AFRH9</name>
              <description>Alternate function selection for port x               bit y (y = 8..15)</description>
              <bitOffset>4</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues derivedFrom="AlternateFunction"/>
            </field>
          </fields>
        </register>
        <register>
          <name>BRR</name>
          <displayName>BRR</displayName>
          <description>GPIO port bit reset register</description>
          <addressOffset>0x28</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>BR3</name>
              <description>Port Reset bit</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>BitReset</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>NoAction</name>
                  <description>No action on the corresponding ODx bit</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Reset</name>
                  <description>Reset the ODx bit</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>HSEM</name>
      <description>Hardware semaphore</description>
      <groupName>HSEM</groupName>
      <baseAddress>0x58001400</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>HSEM</name>
        <description>Semaphore interrupt 0 to CPU1</description>
        <value>47</value>
      </interrupt>
      <registers>
        <register>
          <dim>16</dim>
          <dimIncrement>0x4</dimIncrement>
          <dimIndex>0-15</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>COREID</name>
              <description>COREID</description>
              <bitOffset>8</bitOffset>
              <bitWidth>4</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>16</dim>
          <dimIncrement>0x4</dimIncrement>
          <dimIndex>0-15</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>COREID</name>
              <description>COREID</description>
              <bitOffset>8</bitOffset>
              <bitWidth>4</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>C1IER</name>
          <displayName>C1IER</displayName>
          <description>HSEM Interrupt enable register</description>
          <addressOffset>0x100</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>16</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>0-15</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>C1ICR</name>
          <displayName>C1ICR</displayName>
          <description>HSEM Interrupt clear register</description>
          <addressOffset>0x104</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>16</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>0-15</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>C1ISR</name>
          <displayName>C1ISR</displayName>
          <description>HSEM Interrupt status register</description>
          <addressOffset>0x108</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>16</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>0-15</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>C1MISR</name>
          <displayName>C1MISR</displayName>
          <description>HSEM Masked interrupt status           register</description>
          <addressOffset>0x10C</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>16</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>0-15</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>C2IER</name>
          <displayName>C2IER</displayName>
          <description>HSEM Interrupt enable register</description>
          <addressOffset>0x110</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>16</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>0-15</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>C2ICR</name>
          <displayName>C2ICR</displayName>
          <description>HSEM Interrupt clear register</description>
          <addressOffset>0x114</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>16</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>0-15</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>C2ISR</name>
          <displayName>C2ISR</displayName>
          <description>HSEM Interrupt status register</description>
          <addressOffset>0x118</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>16</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>0-15</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>C2MISR</name>
          <displayName>C2MISR</displayName>
          <description>HSEM Masked interrupt status           register</description>
          <addressOffset>0x11C</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <dim>16</dim>
              <dimIncrement>0x1</dimIncrement>
              <dimIndex>0-15</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>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>COREID</name>
              <description>COREID</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>Inter-integrated circuit</description>
      <groupName>I2C</groupName>
      <baseAddress>0x40005400</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>I2C1_EV</name>
        <description>I2C1 event interrupt</description>
        <value>30</value>
      </interrupt>
      <interrupt>
        <name>I2C1_ER</name>
        <description>I2C1 event interrupt</description>
        <value>31</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>PE</name>
              <description>Peripheral enable</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</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</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</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</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</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</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 enable</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</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</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</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</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>Control register 2</description>
          <addressOffset>0x4</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>PECBYTE</name>
              <description>Packet error checking byte</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>
            <field>
              <name>AUTOEND</name>
              <description>Automatic end mode (master               mode)</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>RELOAD</name>
              <description>NBYTES reload mode</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>NBYTES</name>
              <description>Number of bytes</description>
              <bitOffset>16</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>NACK</name>
              <description>NACK generation (slave               mode)</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>STOP</name>
              <description>Stop generation (master               mode)</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>START</name>
              <description>Start generation</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>HEAD10R</name>
              <description>10-bit address header only read               direction (master receiver mode)</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>ADD10</name>
              <description>10-bit addressing mode (master               mode)</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>RD_WRN</name>
              <description>Transfer direction (master               mode)</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>SADD</name>
              <description>Slave address bit (master               mode)</description>
              <bitOffset>0</bitOffset>
              <bitWidth>10</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>1023</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>OAR1</name>
          <displayName>OAR1</displayName>
          <description>Own address register 1</description>
          <addressOffset>0x8</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>OA1</name>
              <description>Interface address</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</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>Own address register 2</description>
          <addressOffset>0xC</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>OA2</name>
              <description>Interface address</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</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>Timing register</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)</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)</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</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</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</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>Status register 1</description>
          <addressOffset>0x14</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TIMEOUTA</name>
              <description>Bus timeout A</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</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</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>Interrupt and Status register</description>
          <addressOffset>0x18</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000001</resetValue>
          <fields>
            <field>
              <name>ADDCODE</name>
              <description>Address match code (Slave               mode)</description>
              <bitOffset>17</bitOffset>
              <bitWidth>7</bitWidth>
              <access>read-only</access>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>127</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>DIR</name>
              <description>Transfer direction (Slave               mode)</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>BUSY</name>
              <description>Bus busy</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>ALERT</name>
              <description>SMBus alert</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>TIMEOUT</name>
              <description>Timeout or t_low detection               flag</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>PECERR</name>
              <description>PEC Error in reception</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>OVR</name>
              <description>Overrun/Underrun (slave               mode)</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>ARLO</name>
              <description>Arbitration lost</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>BERR</name>
              <description>Bus error</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>TCR</name>
              <description>Transfer Complete Reload</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>TC</name>
              <description>Transfer Complete (master               mode)</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>STOPF</name>
              <description>Stop detection flag</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>NACKF</name>
              <description>Not acknowledge received               flag</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>ADDR</name>
              <description>Address matched (slave               mode)</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>RXNE</name>
              <description>Receive data register not empty               (receivers)</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>TXIS</name>
              <description>Transmit interrupt status               (transmitters)</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>TXE</name>
              <description>Transmit data register empty               (transmitters)</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>
          </fields>
        </register>
        <register>
          <name>ICR</name>
          <displayName>ICR</displayName>
          <description>Interrupt clear register</description>
          <addressOffset>0x1C</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>ALERTCF</name>
              <description>Alert flag clear</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>
            <field>
              <name>TIMOUTCF</name>
              <description>Timeout detection flag               clear</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>PECCF</name>
              <description>PEC Error flag clear</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>OVRCF</name>
              <description>Overrun/Underrun flag               clear</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>ARLOCF</name>
              <description>Arbitration lost flag               clear</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>BERRCF</name>
              <description>Bus error flag clear</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>STOPCF</name>
              <description>Stop detection flag clear</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>NACKCF</name>
              <description>Not Acknowledge flag clear</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>ADDRCF</name>
              <description>Address Matched flag clear</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>
          </fields>
        </register>
        <register>
          <name>PECR</name>
          <displayName>PECR</displayName>
          <description>PEC register</description>
          <addressOffset>0x20</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>PEC</name>
              <description>Packet error checking               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>0x24</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>RXDATA</name>
              <description>8-bit receive data</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>Transmit data register</description>
          <addressOffset>0x28</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TXDATA</name>
              <description>8-bit transmit data</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral derivedFrom="I2C1">
      <name>I2C2</name>
      <baseAddress>0x40005800</baseAddress>
      <interrupt>
        <name>I2C2_EV</name>
        <description>I2C2 event interrupt</description>
        <value>32</value>
      </interrupt>
      <interrupt>
        <name>I2C2_ER</name>
        <description>I2C2 error interrupt</description>
        <value>33</value>
      </interrupt>
    </peripheral>
    <peripheral derivedFrom="I2C1">
      <name>I2C3</name>
      <baseAddress>0x40005C00</baseAddress>
      <interrupt>
        <name>I2C3_EV</name>
        <description>I2C3 event interrupt</description>
        <value>48</value>
      </interrupt>
      <interrupt>
        <name>I2C3_ER</name>
        <description>I2C3 error interrupt</description>
        <value>49</value>
      </interrupt>
    </peripheral>
    <peripheral>
      <name>IPCC</name>
      <description>Inter Processor communication       controller</description>
      <groupName>IPCC</groupName>
      <baseAddress>0x58000C00</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>IPCC_C1_RX_IT</name>
        <description>IPCC CPU1 RX occupied interrupt</description>
        <value>45</value>
      </interrupt>
      <interrupt>
        <name>IPCC_C1_TX_IT</name>
        <description>IPCC CPU1 TX free interrupt</description>
        <value>46</value>
      </interrupt>
      <registers>
        <register>
          <name>C1CR</name>
          <displayName>C1CR</displayName>
          <description>IPCC Processor 1 control           register</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>RXOIE</name>
              <description>RXOIE</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RXOIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Processor RX occupied interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Enable an unmasked processor receive channel occupied to generate an RX occupied interrupt</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TXFIE</name>
              <description>TXFIE</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TXFIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Processor TX free interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Enable an unmasked processor transmit channel free to generate a TX free interrupt</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>C1MR</name>
          <displayName>C1MR</displayName>
          <description>IPCC Processor 1 mask register</description>
          <addressOffset>0x4</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0xFFFFFFFF</resetValue>
          <fields>
            <field>
              <name>CH1OM</name>
              <description>CH1OM</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CH1OM</name>
                <enumeratedValue>
                  <name>Unmasked</name>
                  <description>Receive channel n occupied interrupt not masked</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Masked</name>
                  <description>Receive channel n occupied interrupt masked</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH2OM</name>
              <description>CH2OM</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CH1OM"/>
            </field>
            <field>
              <name>CH3OM</name>
              <description>CH3OM</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CH1OM"/>
            </field>
            <field>
              <name>CH4OM</name>
              <description>CH4OM</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CH1OM"/>
            </field>
            <field>
              <name>CH5OM</name>
              <description>CH5OM</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CH1OM"/>
            </field>
            <field>
              <name>CH6OM</name>
              <description>CH6OM</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CH1OM"/>
            </field>
            <field>
              <name>CH1FM</name>
              <description>CH1FM</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CH1FM</name>
                <enumeratedValue>
                  <name>Unmasked</name>
                  <description>Transmit channel n free interrupt not masked</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Masked</name>
                  <description>Transmit channel n free interrupt masked</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH2FM</name>
              <description>CH2FM</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CH1FM"/>
            </field>
            <field>
              <name>CH3FM</name>
              <description>CH3FM</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CH1FM"/>
            </field>
            <field>
              <name>CH4FM</name>
              <description>CH4FM</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CH1FM"/>
            </field>
            <field>
              <name>CH5FM</name>
              <description>CH5FM</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CH1FM"/>
            </field>
            <field>
              <name>CH6FM</name>
              <description>CH6FM</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CH1FM"/>
            </field>
          </fields>
        </register>
        <register>
          <name>C1SCR</name>
          <displayName>C1SCR</displayName>
          <description>Reading this register will always return           0x0000 0000.</description>
          <addressOffset>0x8</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CH1C</name>
              <description>CH1C</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CH1C</name>
                <enumeratedValue>
                  <name>NoAction</name>
                  <description>No action</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Processor receive channel n status bit clear</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH2C</name>
              <description>CH2C</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CH1C"/>
            </field>
            <field>
              <name>CH3C</name>
              <description>CH3C</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CH1C"/>
            </field>
            <field>
              <name>CH4C</name>
              <description>CH4C</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CH1C"/>
            </field>
            <field>
              <name>CH5C</name>
              <description>CH5C</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CH1C"/>
            </field>
            <field>
              <name>CH6C</name>
              <description>CH6C</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CH1C"/>
            </field>
            <field>
              <name>CH1S</name>
              <description>CH1S</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CH1S</name>
                <enumeratedValue>
                  <name>NoAction</name>
                  <description>No action</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Processor transmit channel n status bit set</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH2S</name>
              <description>CH2S</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CH1S"/>
            </field>
            <field>
              <name>CH3S</name>
              <description>CH3S</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CH1S"/>
            </field>
            <field>
              <name>CH4S</name>
              <description>CH4S</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CH1S"/>
            </field>
            <field>
              <name>CH5S</name>
              <description>CH5S</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CH1S"/>
            </field>
            <field>
              <name>CH6S</name>
              <description>CH6S</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CH1S"/>
            </field>
          </fields>
        </register>
        <register>
          <name>IC1TOC2SR</name>
          <displayName>IC1TOC2SR</displayName>
          <description>IPCC processor 1 to processor 2 status           register</description>
          <addressOffset>0xC</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CH1F</name>
              <description>CH1F</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CH2F</name>
              <description>CH2F</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CH3F</name>
              <description>CH3F</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CH4F</name>
              <description>CH4F</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CH5F</name>
              <description>CH5F</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CH6F</name>
              <description>CH6F</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>C2CR</name>
          <displayName>C2CR</displayName>
          <description>IPCC Processor 2 control           register</description>
          <addressOffset>0x10</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>RXOIE</name>
              <description>RXOIE</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RXOIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Processor RX occupied interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Enable an unmasked processor receive channel occupied to generate an RX occupied interrupt</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TXFIE</name>
              <description>TXFIE</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TXFIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Processor TX free interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Enable an unmasked processor transmit channel free to generate a TX free interrupt</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>C2MR</name>
          <displayName>C2MR</displayName>
          <description>IPCC Processor 2 mask register</description>
          <addressOffset>0x14</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0xFFFFFFFF</resetValue>
          <fields>
            <field>
              <name>CH1OM</name>
              <description>CH1OM</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CH1OM</name>
                <enumeratedValue>
                  <name>Unmasked</name>
                  <description>Receive channel n occupied interrupt not masked</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Masked</name>
                  <description>Receive channel n occupied interrupt masked</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH2OM</name>
              <description>CH2OM</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CH1OM"/>
            </field>
            <field>
              <name>CH3OM</name>
              <description>CH3OM</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CH1OM"/>
            </field>
            <field>
              <name>CH4OM</name>
              <description>CH4OM</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CH1OM"/>
            </field>
            <field>
              <name>CH5OM</name>
              <description>CH5OM</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CH1OM"/>
            </field>
            <field>
              <name>CH6OM</name>
              <description>CH6OM</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CH1OM"/>
            </field>
            <field>
              <name>CH1FM</name>
              <description>CH1FM</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CH1FM</name>
                <enumeratedValue>
                  <name>Unmasked</name>
                  <description>Transmit channel n free interrupt not masked</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Masked</name>
                  <description>Transmit channel n free interrupt masked</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH2FM</name>
              <description>CH2FM</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CH1FM"/>
            </field>
            <field>
              <name>CH3FM</name>
              <description>CH3FM</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CH1FM"/>
            </field>
            <field>
              <name>CH4FM</name>
              <description>CH4FM</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CH1FM"/>
            </field>
            <field>
              <name>CH5FM</name>
              <description>CH5FM</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CH1FM"/>
            </field>
            <field>
              <name>CH6FM</name>
              <description>CH6FM</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CH1FM"/>
            </field>
          </fields>
        </register>
        <register>
          <name>C2SCR</name>
          <displayName>C2SCR</displayName>
          <description>Reading this register will always return           0x0000 0000.</description>
          <addressOffset>0x18</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CH1C</name>
              <description>CH1C</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CH1C</name>
                <enumeratedValue>
                  <name>NoAction</name>
                  <description>No action</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Processor receive channel n status bit clear</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH2C</name>
              <description>CH2C</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CH1C"/>
            </field>
            <field>
              <name>CH3C</name>
              <description>CH3C</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CH1C"/>
            </field>
            <field>
              <name>CH4C</name>
              <description>CH4C</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CH1C"/>
            </field>
            <field>
              <name>CH5C</name>
              <description>CH5C</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CH1C"/>
            </field>
            <field>
              <name>CH6C</name>
              <description>CH6C</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CH1C"/>
            </field>
            <field>
              <name>CH1S</name>
              <description>CH1S</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CH1S</name>
                <enumeratedValue>
                  <name>NoAction</name>
                  <description>No action</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Processor transmit channel n status bit set</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH2S</name>
              <description>CH2S</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CH1S"/>
            </field>
            <field>
              <name>CH3S</name>
              <description>CH3S</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CH1S"/>
            </field>
            <field>
              <name>CH4S</name>
              <description>CH4S</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CH1S"/>
            </field>
            <field>
              <name>CH5S</name>
              <description>CH5S</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CH1S"/>
            </field>
            <field>
              <name>CH6S</name>
              <description>CH6S</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CH1S"/>
            </field>
          </fields>
        </register>
        <register>
          <name>C2TOC1SR</name>
          <displayName>C2TOC1SR</displayName>
          <description>IPCC processor 2 to processor 1 status           register</description>
          <addressOffset>0x1C</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CH1F</name>
              <description>CH1F</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CH1F</name>
                <enumeratedValue>
                  <name>Free</name>
                  <description>Channel free, data can be written by the sending processor. Generates a channel TX free interrupt to the current processor, when unmasked</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Occupied</name>
                  <description>Channel occupied, data can be read by the receiving processor. Generates a channel RX occupied interrupt to the other processor, when unmasked</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CH2F</name>
              <description>CH2F</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CH1F"/>
            </field>
            <field>
              <name>CH3F</name>
              <description>CH3F</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CH1F"/>
            </field>
            <field>
              <name>CH4F</name>
              <description>CH4F</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CH1F"/>
            </field>
            <field>
              <name>CH5F</name>
              <description>CH5F</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CH1F"/>
            </field>
            <field>
              <name>CH6F</name>
              <description>CH6F</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>HWCFGR</name>
          <displayName>HWCFGR</displayName>
          <description>IPCC Hardware configuration           register</description>
          <addressOffset>0x3F0</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000006</resetValue>
          <fields>
            <field>
              <name>CHANNELS</name>
              <description>CHANNELS</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>VERR</name>
          <displayName>VERR</displayName>
          <description>IPCC IP Version register</description>
          <addressOffset>0x3F4</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000010</resetValue>
          <fields>
            <field>
              <name>MINREV</name>
              <description>MINREV</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>MAJREV</name>
              <description>MAJREV</description>
              <bitOffset>4</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>IPIDR</name>
          <displayName>IPIDR</displayName>
          <description>IPCC IP Identification           register</description>
          <addressOffset>0x3F8</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00100071</resetValue>
          <fields>
            <field>
              <name>ID</name>
              <description>ID</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>SIDR</name>
          <displayName>SIDR</displayName>
          <description>IPCC Size ID register</description>
          <addressOffset>0x3FC</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0xA3C5DD01</resetValue>
          <fields>
            <field>
              <name>SID</name>
              <description>SID</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>IWDG</name>
      <description>Independent watchdog</description>
      <groupName>IWDG</groupName>
      <baseAddress>0x40003000</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)</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>0x00000007</resetValue>
          <fields>
            <field>
              <name>PR</name>
              <description>Prescaler divider</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</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</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>PVU</name>
                <enumeratedValue>
                  <name>Idle</name>
                  <description>No update on-going</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Busy</name>
                  <description>Update on-going</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>WVU</name>
              <description>Watchdog counter window value               update</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PVU"/>
            </field>
            <field>
              <name>RVU</name>
              <description>Watchdog counter reload value               update</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PVU"/>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>LPTIM1</name>
      <description>Low-power timer</description>
      <groupName>LPTIM</groupName>
      <baseAddress>0x40007C00</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>LPTIM1</name>
        <description>LPtimer 1 global interrupt</description>
        <value>39</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>REPOK</name>
              <description>Repetition register update               Ok</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>REPOKR</name>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Repetition register update OK</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>UE</name>
              <description>LPTIM update event               occurred</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>UER</name>
                <enumeratedValue>
                  <name>Set</name>
                  <description>LPTIM update event occurred</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <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>REPOKCF</name>
              <description>Repetition register update OK clear               flag</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>REPOKCFW</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear REPOK flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>UECF</name>
              <description>Update event clear flag</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>UECFW</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear update event flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <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>REPOKIE</name>
              <description>Repetition register update OK interrupt               Enable</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>REPOKIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Repetition register update OK interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Repetition register update OK interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>UEIE</name>
              <description>Update event interrupt               enable</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>UEIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Update event interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Update event interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <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>ENC</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>COUNTMODE</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>PRELOAD</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>WAVPOL</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>WAVE</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>TIMOUT</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>TRIGEN</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>TRIGSEL</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>PRESC</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>TRGFLT</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>CKFLT</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>CKPOL</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>CKSEL</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>RSTARE</name>
              <description>RSTARE</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>
            <field>
              <name>COUNTRST</name>
              <description>COUNTRST</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>CNTSTRT</name>
              <description>CNTSTRT</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>SNGSTRT</name>
              <description>SNGSTRT</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>ENABLE</name>
              <description>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>
          </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>CMP</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>OR</name>
          <displayName>OR</displayName>
          <description>option register</description>
          <addressOffset>0x20</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>OR_1</name>
              <description>Option register bit 1</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>OR_1</name>
                <enumeratedValue>
                  <name>IO</name>
                  <description>LPTIM1 input 2 is connected to I/O</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>COMP2_OUT</name>
                  <description>LPTIM1 input 2 is connected to COMP2_OUT</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OR_0</name>
              <description>Option register bit 0</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>OR_0</name>
                <enumeratedValue>
                  <name>IO</name>
                  <description>LPTIM1 input 1 is connected to I/O</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>COMP1_OUT</name>
                  <description>LPTIM1 input 1 is connected to COMP1_OUT</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>RCR</name>
          <displayName>RCR</displayName>
          <description>repetition register</description>
          <addressOffset>0x28</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>REP</name>
              <description>Repetition register value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>LPTIM2</name>
      <description>Low-power timer</description>
      <groupName>LPTIM</groupName>
      <baseAddress>0x40009400</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>LPTIM2</name>
        <description>LPtimer 2 global interrupt</description>
        <value>40</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>REPOK</name>
              <description>Repetition register update               Ok</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>REPOKR</name>
                <enumeratedValue>
                  <name>Set</name>
                  <description>Repetition register update OK</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>UE</name>
              <description>LPTIM update event               occurred</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>UER</name>
                <enumeratedValue>
                  <name>Set</name>
                  <description>LPTIM update event occurred</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <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>REPOKCF</name>
              <description>Repetition register update OK clear               flag</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>REPOKCFW</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear REPOK flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>UECF</name>
              <description>Update event clear flag</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>UECFW</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear update event flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <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>REPOKIE</name>
              <description>Repetition register update OK interrupt               Enable</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>REPOKIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Repetition register update OK interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Repetition register update OK interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>UEIE</name>
              <description>Update event interrupt               enable</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>UEIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Update event interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Update event interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <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>ENC</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>COUNTMODE</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>PRELOAD</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>WAVPOL</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>WAVE</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>TIMOUT</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>TRIGEN</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>TRIGSEL</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>PRESC</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>TRGFLT</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>CKFLT</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>CKPOL</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>CKSEL</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>RSTARE</name>
              <description>RSTARE</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>
            <field>
              <name>COUNTRST</name>
              <description>COUNTRST</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>CNTSTRT</name>
              <description>CNTSTRT</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>SNGSTRT</name>
              <description>SNGSTRT</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>ENABLE</name>
              <description>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>
          </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>CMP</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>OR</name>
          <displayName>OR</displayName>
          <description>option register</description>
          <addressOffset>0x20</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>OR_</name>
              <description>Option register bit 1</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>OR_</name>
                <enumeratedValue>
                  <name>IO</name>
                  <description>Input 1 is connected to I/O</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>COMP1_OUT</name>
                  <description>Input 1 is connected to COMP1_OUT</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>COMP2_OUT</name>
                  <description>Input 1 is connected to COMP2_OUT</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OR_COMP1_COMP2</name>
                  <description>Input 1 is connected to COMP1_OUT OR COMP2_OUT</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>RCR</name>
          <displayName>RCR</displayName>
          <description>repetition register</description>
          <addressOffset>0x28</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>REP</name>
              <description>Repetition register value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral derivedFrom="LPTIM2">
      <name>LPTIM3</name>
      <description>Low-power timer</description>
      <groupName>LPTIM</groupName>
      <baseAddress>0x40009800</baseAddress>
      <interrupt>
        <name>LPTIM3</name>
        <description>LPtimer 3 global interrupt</description>
        <value>43</value>
      </interrupt>
    </peripheral>
    <peripheral>
      <name>LPUART</name>
      <description>Universal synchronous asynchronous receiver       transmitter</description>
      <groupName>USART</groupName>
      <baseAddress>0x40008000</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>LPUART1</name>
        <description>LPUART1 global interrupt</description>
        <value>38</value>
      </interrupt>
      <registers>
        <register>
          <name>CR1</name>
          <displayName>CR1_enabled</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>DEAT</description>
              <bitOffset>21</bitOffset>
              <bitWidth>5</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>31</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>DEDT</name>
              <description>DEDT</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 LPUART 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>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>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>
          </fields>
        </register>
        <register>
          <name>ISR</name>
          <displayName>ISR_enabled</displayName>
          <description>Interrupt and status register</description>
          <addressOffset>0x1C</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x008000C0</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>TXFNF</name>
              <description>TXFNF</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TXFNF</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>RXFNE</name>
              <description>RXFNE</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RXFNE</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>PKA</name>
      <description>Public key accelerator</description>
      <groupName>PKA</groupName>
      <baseAddress>0x58002000</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x2000</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>PKA</name>
        <description>Private key accelerator
        interrupt</description>
        <value>53</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>ADDRERRIE</name>
              <description>Address error interrupt               enable</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ADDRERRIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>No interrupt is generated when ADDRERRF flag is set in PKA_SR</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>An interrupt is generated when ADDRERRF flag is set in PKA_SR</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RAMERRIE</name>
              <description>RAM error interrupt enable</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RAMERRIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>No interrupt is generated when RAMERRF flag is set in PKA_SR</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>An interrupt is generated when RAMERRF flag is set in PKA_SR</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROCENDIE</name>
              <description>PROCENDIE</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>PROCENDIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>No interrupt is generated when PROCENDF flag is set in PKA_SR</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>An interrupt is generated when PROCENDF flag is set in PKA_SR</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODE</name>
              <description>PKA operation code</description>
              <bitOffset>8</bitOffset>
              <bitWidth>6</bitWidth>
              <enumeratedValues>
                <name>MODE</name>
                <enumeratedValue>
                  <name>MontgomeryCompExp</name>
                  <description>Montgomery parameter computation then modular exponentiation</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>MontgomeryComp</name>
                  <description>Montgomery parameter computation only</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>MontgomeryExp</name>
                  <description>Modular exponentiation only (Montgomery parameter must be loaded first)</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>RSA</name>
                  <description>RSA CRT exponentiation</description>
                  <value>7</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ModularInv</name>
                  <description>Modular inversion</description>
                  <value>8</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ArithmeticAdd</name>
                  <description>Arithmetic addition</description>
                  <value>9</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ArithmeticSub</name>
                  <description>Arithmetic subtraction</description>
                  <value>10</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ArithmeticMul</name>
                  <description>Arithmetic multiplication</description>
                  <value>11</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ArithmeticComp</name>
                  <description>Arithmetic comparison</description>
                  <value>12</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ModularRed</name>
                  <description>Modular reduction</description>
                  <value>13</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ModularAdd</name>
                  <description>Modular addition</description>
                  <value>14</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ModularSub</name>
                  <description>Modular subtraction</description>
                  <value>15</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ModularMul</name>
                  <description>Montgomery multiplication</description>
                  <value>16</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>MontgomeryCompScalar</name>
                  <description>Montgomery parameter computation then ECC scalar multiplication</description>
                  <value>32</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>MontgomeryScalar</name>
                  <description>ECC scalar multiplication only (Montgomery parameter must be loaded first)</description>
                  <value>34</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ECDSASign</name>
                  <description>ECDSA sign</description>
                  <value>36</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ECDSAVerif</name>
                  <description>ECDSA verification</description>
                  <value>38</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Elliptic</name>
                  <description>Point on elliptic curve Fp check</description>
                  <value>40</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>START</name>
              <description>start the operation</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>STARTW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Start</name>
                  <description>Writing 1 to this bit starts the operation which is selected by MODE[5:0], using the operands and data already written to the PKA RAM - This bit is always read as 0</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EN</name>
              <description>PKA enable.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>EN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Disable PKA</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Enable PKA</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>ADDRERRF</name>
              <description>Address error flag</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ADDRERRF</name>
                <enumeratedValue>
                  <name>NoError</name>
                  <description>No error</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Error</name>
                  <description>Address access is out of range (unmapped address)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RAMERRF</name>
              <description>PKA RAM error flag</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RAMERRF</name>
                <enumeratedValue>
                  <name>NoError</name>
                  <description>No error</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Error</name>
                  <description>An AHB access to the PKA RAM occurred while the PKA core was computing and using its internal RAM (AHB PKA_RAM access are not allowed while PKA operation is in progress)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROCENDF</name>
              <description>PKA End of Operation flag</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>PROCENDF</name>
                <enumeratedValue>
                  <name>InProgress</name>
                  <description>Operation in progress</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Completed</name>
                  <description>PKA operation is completed - set when BUSY is deasserted</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BUSY</name>
              <description>PKA operation is in progressThis bit is               set to 1 whenever START bit in the PKA_CR is set. It               is automatically cleared when the computation is               complete, meaning that PKA RAM can be safely accessed               and a new operation can be started.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>BUSY</name>
                <enumeratedValue>
                  <name>Idle</name>
                  <description>No operation in pgoress</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Busy</name>
                  <description>Operation in progress</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CLRFR</name>
          <displayName>CLRFR</displayName>
          <description>clear flag register</description>
          <addressOffset>0x8</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>ADDRERRFC</name>
              <description>Clear Address error flag</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ADDRERRFC</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear ADDRERRF flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RAMERRFC</name>
              <description>Clear PKA RAM error flag</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RAMERRFC</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear RAMERRF flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PROCENDFC</name>
              <description>Clear PKA End of Operation               flag</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>PROCENDFC</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear PROCENDF flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>PWR</name>
      <description>Power control</description>
      <groupName>PWR</groupName>
      <baseAddress>0x58000400</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>PWR_C2H_C2SEV</name>
        <description>PWR CPU2 HOLD wakeup interrupt ,CPU2 SEV through EXTI</description>
        <value>20</value>
      </interrupt>
      <registers>
        <register>
          <name>CR1</name>
          <displayName>CR1</displayName>
          <description>Power control register 1</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000200</resetValue>
          <fields>
            <field>
              <name>LPR</name>
              <description>Low-power run</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>LPR</name>
                <enumeratedValue>
                  <name>MainMode</name>
                  <description>Voltage regulator in Main mode in Low-power run mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LowPowerMode</name>
                  <description>Voltage regulator in low-power mode in Low-power run mode</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>VOS</name>
              <description>Voltage scaling range               selection</description>
              <bitOffset>9</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>VOS</name>
                <enumeratedValue>
                  <name>V1_2</name>
                  <description>1.2 V (range 1)</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>V1_0</name>
                  <description>1.0 V (range 2)</description>
                  <value>2</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DBP</name>
              <description>Disable backup domain write               protection</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DBP</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Access to RTC and backup registers disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Access to RTC and backup registers enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FPDS</name>
              <description>Flash memory power down mode during               LPSleep for CPU1</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>FPDS</name>
                <enumeratedValue>
                  <name>Idle</name>
                  <description>Flash memory in Idle mode when system is in LPSleep mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PowerDown</name>
                  <description>Flash memory in Power-down mode when system is in LPSleep mode</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FPDR</name>
              <description>Flash memory power down mode during               LPRun for CPU1</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>FPDR</name>
                <enumeratedValue>
                  <name>Idle</name>
                  <description>Flash memory in Idle mode when system is in LPRun mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PowerDown</name>
                  <description>Flash memory in Power-down mode when system is in LPRun mode</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SUBGHZSPINSSSEL</name>
              <description>sub-GHz SPI NSS source select</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SUBGHZSPINSSSEL</name>
                <enumeratedValue>
                  <name>SUBGHZSPICR</name>
                  <description>sub-GHz SPI NSS signal driven from PWR_SUBGHZSPICR.NSS (RFBUSYMS functionality enabled)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LPTIM3</name>
                  <description>sub-GHz SPI NSS signal driven from LPTIM3_OUT (RFBUSYMS functionality disabled)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LPMS</name>
              <description>Low-power mode selection for               CPU1</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>LPMS</name>
                <enumeratedValue>
                  <name>Stop0</name>
                  <description>Stop 0 mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Stop1</name>
                  <description>Stop 1 mode</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Stop2</name>
                  <description>Stop 2 mode</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Standby</name>
                  <description>Standby mode</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Shutdown</name>
                  <description>Shutdown mode</description>
                  <value>4</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CR2</name>
          <displayName>CR2</displayName>
          <description>Power control register 2</description>
          <addressOffset>0x4</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>PVME3</name>
              <description>Peripheral voltage monitoring 3 enable:               VDDA vs. 1.62V</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>PVME3</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>PVM3 (VDDA monitoring versus 1.62 V threshold) disable</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>PVM3 (VDDA monitoring versus 1.62 V threshold) enable</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PLS</name>
              <description>Power voltage detector level               selection.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>PLS</name>
                <enumeratedValue>
                  <name>V2_0</name>
                  <description>2.0V</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>V2_2</name>
                  <description>2.2V</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>V2_4</name>
                  <description>2.4V</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>V2_5</name>
                  <description>2.5V</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>V2_6</name>
                  <description>2.6V</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>V2_8</name>
                  <description>2.8V</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>V2_9</name>
                  <description>2.9V</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>External</name>
                  <description>External input analog voltage PVD_IN (compared internally to VREFINT)</description>
                  <value>7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PVDE</name>
              <description>Power voltage detector               enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>PVDE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>PVD Disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>PVD Enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CR3</name>
          <displayName>CR3</displayName>
          <description>Power control register 3</description>
          <addressOffset>0x8</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00008000</resetValue>
          <fields>
            <field>
              <name>EIWUL</name>
              <description>Enable internal wakeup line for               CPU1</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>EIWUL</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Internal wakeup line interrupt to CPU1 disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Internal wakeup line interrupt to CPU1 enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EC2H</name>
              <description>nable CPU2 Hold interrupt for               CPU1</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>EWRFIRQ</name>
              <description>akeup for CPU1</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>EWRFIRQ</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Radio IRQ[2:0] is disabled and does not trigger a wakeup from Standby event to CPU1.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Radio IRQ[2:0] is enabled and triggers a wakeup from Standby event to CPU1.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EWRFBUSY</name>
              <description>Enable Radio BUSY Wakeup from Standby               for CPU1</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>EWRFBUSY</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Radio Busy is disabled and does not trigger a wakeup from Standby event to CPU1 when a rising or a falling edge occurs</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Radio Busy is enabled and triggers a wakeup from Standby event to CPU1 when a rising or a falling edge occurs. The active edge is configured via the WRFBUSYP bit in PWR_CR4</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>APC</name>
              <description>Apply pull-up and pull-down               configuration from CPU1</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>APC</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>I/O pull-up and pull-down configurations defined in the PWR_PUCRx and PWR_PDCRx registers are applied</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>PWR_PUCRx and PWR_PDCRx registers are NOT applied to the I/Os</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RRS</name>
              <description>SRAM2 retention in Standby               mode</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RRS</name>
                <enumeratedValue>
                  <name>PowerOff</name>
                  <description>SRAM2 powered off in Standby mode (SRAM2 content lost)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OnLPR</name>
                  <description>SRAM2 powered by the low-power regulator in Standby mode (SRAM2 content kept)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EWPVD</name>
              <description>Enable wakeup PVD for CPU1</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>EWPVD</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>PVD not enabled by the sub-GHz radio active state</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>PVD enabled while the sub-GHz radio is active</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EULPEN</name>
              <description>Ultra-low-power enable</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>EULPEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Disable (the supply voltage is monitored continuously)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Enable, when set, the supply voltage is sampled for PDR/BOR reset condition only periodically</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EWUP3</name>
              <description>Enable Wakeup pin WKUP3 for               CPU1</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>EWUP3</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>WKUP pin 3 is used for general purpose I/Os. An event on the WKUP pin 3 does not wakeup the device from Standby mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>WKUP pin 3 is used for wakeup from Standby mode and forced in input pull down configuration (rising edge on WKUP pin 3wakes-up the system from Standby mode)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EWUP2</name>
              <description>Enable Wakeup pin WKUP2 for               CPU1</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>EWUP2</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>WKUP pin 2 is used for general purpose I/Os. An event on the WKUP pin 2 does not wakeup the device from Standby mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>WKUP pin 2 is used for wakeup from Standby mode and forced in input pull down configuration (rising edge on WKUP pin 2 wakes-up the system from Standby mode)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EWUP1</name>
              <description>Enable Wakeup pin WKUP1 for               CPU1</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>EWUP1</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>WKUP pin 1 is used for general purpose I/Os. An event on the WKUP pin 1 does not wakeup the device from Standby mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>WKUP pin 1 is used for wakeup from Standby mode and forced in input pull down configuration (rising edge on WKUP pin 1 wakes-up the system from Standby mode)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CR4</name>
          <displayName>CR4</displayName>
          <description>Power control register 4</description>
          <addressOffset>0xC</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>C2BOOT</name>
              <description>oot CPU2 after reset or wakeup from Stop               or Standby modes.</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>WRFBUSYP</name>
              <description>Wakeup Radio BUSY polarity</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>WRFBUSYP</name>
                <enumeratedValue>
                  <name>RisingEdge</name>
                  <description>Detection on high level (rising edge)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FallingEdge</name>
                  <description>Detection on low level (falling edge)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>VBRS</name>
              <description>VBAT battery charging resistor               selection</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>VBRS</name>
                <enumeratedValue>
                  <name>R5k</name>
                  <description>VBAT charging through a 5 kΩ resistor</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>R1_5k</name>
                  <description>VBAT charging through a 1.5 kΩ resistor</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>VBE</name>
              <description>VBAT battery charging               enable</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>VBE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>VBAT battery charging disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>VBAT battery charging enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>WP3</name>
              <description>Wakeup pin WKUP3 polarity</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>WP3</name>
                <enumeratedValue>
                  <name>RisingEdge</name>
                  <description>Detection on high level (rising edge)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FallingEdge</name>
                  <description>Detection on low level (falling edge)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>WP2</name>
              <description>Wakeup pin WKUP2 polarity</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>WP2</name>
                <enumeratedValue>
                  <name>RisingEdge</name>
                  <description>Detection on high level (rising edge)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FallingEdge</name>
                  <description>Detection on low level (falling edge)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>WP1</name>
              <description>Wakeup pin WKUP1 polarity</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>WP1</name>
                <enumeratedValue>
                  <name>RisingEdge</name>
                  <description>Detection on high level (rising edge)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FallingEdge</name>
                  <description>Detection on low level (falling edge)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>SR1</name>
          <displayName>SR1</displayName>
          <description>Power status register 1</description>
          <addressOffset>0x10</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>WUFI</name>
              <description>Internal wakeup interrupt               flag</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>WUFI</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>All internal wakeup sources are cleared</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Wakeup</name>
                  <description>wakeup is detected on the internal wakeup line</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>C2HF</name>
              <description>PU2 Hold interrupt flag</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>WRFBUSYF</name>
              <description>Radio BUSY wakeup flag</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>WRFBUSYF</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>No wakeup event detected on radio busy</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Wakeup</name>
                  <description>Wakeup event detected on radio busy</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>WPVDF</name>
              <description>Wakeup PVD flag</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>WPVDF</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>No wakeup event detected on PVD</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Wakeup</name>
                  <description>Wakeup event detected on PVD</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>WUF3</name>
              <description>Wakeup flag 3</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>WUF3</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>No wakeup event detected on WKUP3</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Wakeup</name>
                  <description>Wakeup event detected on WKUP3</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>WUF2</name>
              <description>Wakeup flag 2</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>WUF2</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>No wakeup event detected on WKUP2</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Wakeup</name>
                  <description>Wakeup event detected on WKUP2</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>WUF1</name>
              <description>Wakeup flag 1</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>WUF1</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>No wakeup event detected on WKUP1</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Wakeup</name>
                  <description>Wakeup event detected on WKUP1</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>SR2</name>
          <displayName>SR2</displayName>
          <description>Power status register 2</description>
          <addressOffset>0x14</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>PVMO3</name>
              <description>Peripheral voltage monitoring output:               VDDA vs. 1.62 V</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>PVMO3</name>
                <enumeratedValue>
                  <name>Above</name>
                  <description>VDDA voltage above PVM3 threshold (around 1.62 V)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Below</name>
                  <description>VDDA voltage below PVM3 threshold (around 1.62 V)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PVDO</name>
              <description>Power voltage detector               output</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>PVDO</name>
                <enumeratedValue>
                  <name>Above</name>
                  <description>VDD or voltage level on PVD_IN above the selected PVD threshold</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Below</name>
                  <description>VDD or voltage level on PVD_IN below the selected PVD threshold</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>VOSF</name>
              <description>Voltage scaling flag</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>VOSF</name>
                <enumeratedValue>
                  <name>Ready</name>
                  <description>Regulator ready in the selected voltage range</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Change</name>
                  <description>Regulator output voltage changed to the required voltage level</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>REGLPF</name>
              <description>regulator1 low power flag</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>REGLPF</name>
                <enumeratedValue>
                  <name>Main</name>
                  <description>Main regulator (MR) ready and used</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LowPower</name>
                  <description>Low-power regulator (LPR) used</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>REGLPS</name>
              <description>regulator1 started</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>REGLPS</name>
                <enumeratedValue>
                  <name>NotReady</name>
                  <description>LPR not ready</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Ready</name>
                  <description>LPR ready</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FLASHRDY</name>
              <description>Flash ready</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>FLASHRDY</name>
                <enumeratedValue>
                  <name>NotReady</name>
                  <description>Flash memory not ready to be accessed</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Ready</name>
                  <description>Flash memory ready to be accessed</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>REGMRS</name>
              <description>regulator2 low power flag</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>REGMRS</name>
                <enumeratedValue>
                  <name>V_DD</name>
                  <description>Main regulator supplied directly from VDD</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LDO_SMPS</name>
                  <description>Main regulator supplied through LDO or SMPS</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RFEOLF</name>
              <description>Radio end of life flag</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RFEOLF</name>
                <enumeratedValue>
                  <name>Above</name>
                  <description>Supply voltage above radio end-of-life operating low level</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Below</name>
                  <description>Supply voltage below radio end-of-life operating low level</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LDORDY</name>
              <description>LDO ready flag</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>LDORDY</name>
                <enumeratedValue>
                  <name>NotReady</name>
                  <description>LDO not ready or off</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Ready</name>
                  <description>LDO ready</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SMPSRDY</name>
              <description>SMPS ready flag</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SMPSRDY</name>
                <enumeratedValue>
                  <name>NotReady</name>
                  <description>SMPS step-down converter not ready or off</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Ready</name>
                  <description>SMPS step-down converter ready</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RFBUSYMS</name>
              <description>Radio BUSY masked signal               status</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RFBUSYMS</name>
                <enumeratedValue>
                  <name>NotBusy</name>
                  <description>radio busy masked signal low (not busy)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Busy</name>
                  <description>radio busy masked signal high (busy)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RFBUSYS</name>
              <description>Radio BUSY signal status</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RFBUSYS</name>
                <enumeratedValue>
                  <name>NotBusy</name>
                  <description>radio busy signal low (not busy)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Busy</name>
                  <description>radio busy signal high (busy)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>C2BOOTS</name>
              <description>PU2 boot/wakeup request source               information</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>SCR</name>
          <displayName>SCR</displayName>
          <description>Power status clear register</description>
          <addressOffset>0x18</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CC2HF</name>
              <description>lear CPU2 Hold interrupt               flag</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CWRFBUSYF</name>
              <description>Clear wakeup Radio BUSY               flag</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CWRFBUSYFW</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Setting this bit clears the WRFBUSYF flag in the PWR_SR1. This bit is always read 0.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CWPVDF</name>
              <description>Clear wakeup PVD interrupt               flag</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CWPVDFW</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Setting this bit clears the WPVDF flag in the PWR_SR1. This bit is always read as 0.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CWUF3</name>
              <description>Clear wakeup flag 3</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CWUF3W</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Setting this bit clears the WUF3 flag in the PWR_SR1 register. This bit is always read as 0.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CWUF2</name>
              <description>Clear wakeup flag 2</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CWUF2W</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Setting this bit clears the WUF2 flag in the PWR_SR1 register. This bit is always read as 0.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CWUF1</name>
              <description>Clear wakeup flag 1</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CWUF1W</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Setting this bit clears the WUF1 flag in the PWR_SR1 register. This bit is always read as 0.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CR5</name>
          <displayName>CR5</displayName>
          <description>Power control register 5</description>
          <addressOffset>0x1C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>SMPSEN</name>
              <description>Enable SMPS Step Down converter SMPS               mode enabled.</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SMPSEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>SMPS step-down converter SMPS mode disabled (LDO mode enabled)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>SMPS step-down converter SMPS mode enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RFEOLEN</name>
              <description>Enable Radio End Of Life detector               enabled</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RFEOLEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Radio end-of-life detector disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Radio end-of-life detector enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PUCRA</name>
          <displayName>PUCRA</displayName>
          <description>Power Port A pull-up control           register</description>
          <addressOffset>0x20</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>PU10</name>
              <description>PU10</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>PU10</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Disable pull-up on PA[y] when both APC bits are set in PWR control register 3 (PWR_CR3)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Enable pull-up on PA[y] when both APC bits are set in PWR control register 3 (PWR_CR3). The pull-up is not activated if the corresponding PA[y] bit is also set</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PU15</name>
              <description>Port PA15 pull-up</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PU10"/>
            </field>
            <field>
              <name>PU14</name>
              <description>PU14</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PU10"/>
            </field>
            <field>
              <name>PU13</name>
              <description>Port PA[y] pull-up bit y (y=0 to               13)</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PU10"/>
            </field>
            <field>
              <name>PU12</name>
              <description>PU12</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PU10"/>
            </field>
            <field>
              <name>PU11</name>
              <description>PU11</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PU10"/>
            </field>
            <field>
              <name>PU0</name>
              <description>PU0</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>PU0</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Disable pull-up on PA[y] when both APC bits are set in PWR control register 3 (PWR_CR3)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Enable pull-up on PA[y] when both APC bits are set in PWR control register 3 (PWR_CR3). The pull-up is not activated if the corresponding PA[y] bit is also set</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PU9</name>
              <description>PU9</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PU0"/>
            </field>
            <field>
              <name>PU8</name>
              <description>PU8</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PU0"/>
            </field>
            <field>
              <name>PU7</name>
              <description>PU7</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PU0"/>
            </field>
            <field>
              <name>PU6</name>
              <description>PU6</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PU0"/>
            </field>
            <field>
              <name>PU5</name>
              <description>PU5</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PU0"/>
            </field>
            <field>
              <name>PU4</name>
              <description>PU4</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PU0"/>
            </field>
            <field>
              <name>PU3</name>
              <description>PU3</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PU0"/>
            </field>
            <field>
              <name>PU2</name>
              <description>PU2</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PU0"/>
            </field>
            <field>
              <name>PU1</name>
              <description>PU1</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PU0"/>
            </field>
          </fields>
        </register>
        <register>
          <name>PDCRA</name>
          <displayName>PDCRA</displayName>
          <description>Power Port A pull-down control           register</description>
          <addressOffset>0x24</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>PD10</name>
              <description>PD10</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>PD10</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Disable the pull-down on PA[y] when both APC bits are set in PWR control register 3 (PWR_CR3)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Enable the pull-down on PA[y] when both APC bits are set in PWR control register 3 (PWR_CR3)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PD15</name>
              <description>PD15</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PD10"/>
            </field>
            <field>
              <name>PD14</name>
              <description>ull-down</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PD10"/>
            </field>
            <field>
              <name>PD13</name>
              <description>PD13</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PD10"/>
            </field>
            <field>
              <name>PD12</name>
              <description>Port PA[y] pull-down (y=0 to               12)</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PD10"/>
            </field>
            <field>
              <name>PD11</name>
              <description>PD11</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PD10"/>
            </field>
            <field>
              <name>PD0</name>
              <description>PD0</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>PD0</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Disable the pull-down on PA[y] when both APC bits are set in PWR control register 3 (PWR_CR3)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Enable the pull-down on PA[y] when both APC bits are set in PWR control register 3 (PWR_CR3)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PD9</name>
              <description>PD9</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PD0"/>
            </field>
            <field>
              <name>PD8</name>
              <description>PD8</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PD0"/>
            </field>
            <field>
              <name>PD7</name>
              <description>PD7</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PD0"/>
            </field>
            <field>
              <name>PD6</name>
              <description>PD6</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PD0"/>
            </field>
            <field>
              <name>PD5</name>
              <description>PD5</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PD0"/>
            </field>
            <field>
              <name>PD4</name>
              <description>PD4</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PD0"/>
            </field>
            <field>
              <name>PD3</name>
              <description>PD3</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PD0"/>
            </field>
            <field>
              <name>PD2</name>
              <description>PD2</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PD0"/>
            </field>
            <field>
              <name>PD1</name>
              <description>PD1</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PD0"/>
            </field>
          </fields>
        </register>
        <register>
          <name>PUCRB</name>
          <displayName>PUCRB</displayName>
          <description>Power Port B pull-up control           register</description>
          <addressOffset>0x28</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>PU10</name>
              <description>PU10</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>PU10</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Disable pull-up on PB[y] when both APC bits are set in PWR control register 3 (PWR_CR3)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Enable pull-up on PB[y] when both APC bits are set in PWR control register 3 (PWR_CR3). The pull-up is not activated if the corresponding PB[y] bit is also set</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PU15</name>
              <description>Port PB[y] pull-up (y=0 to               15)</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PU10"/>
            </field>
            <field>
              <name>PU14</name>
              <description>PU14</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PU10"/>
            </field>
            <field>
              <name>PU13</name>
              <description>PU13</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PU10"/>
            </field>
            <field>
              <name>PU12</name>
              <description>PU12</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PU10"/>
            </field>
            <field>
              <name>PU11</name>
              <description>PU11</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PU10"/>
            </field>
            <field>
              <name>PU0</name>
              <description>PU0</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>PU0</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Disable pull-up on PB[y] when both APC bits are set in PWR control register 3 (PWR_CR3)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Enable pull-up on PB[y] when both APC bits are set in PWR control register 3 (PWR_CR3). The pull-up is not activated if the corresponding PB[y] bit is also set</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PU9</name>
              <description>PU9</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PU0"/>
            </field>
            <field>
              <name>PU8</name>
              <description>PU8</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PU0"/>
            </field>
            <field>
              <name>PU7</name>
              <description>PU7</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PU0"/>
            </field>
            <field>
              <name>PU6</name>
              <description>PU6</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PU0"/>
            </field>
            <field>
              <name>PU5</name>
              <description>PU5</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PU0"/>
            </field>
            <field>
              <name>PU4</name>
              <description>PU4</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PU0"/>
            </field>
            <field>
              <name>PU3</name>
              <description>PU3</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PU0"/>
            </field>
            <field>
              <name>PU2</name>
              <description>PU2</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PU0"/>
            </field>
            <field>
              <name>PU1</name>
              <description>PU1</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PU0"/>
            </field>
          </fields>
        </register>
        <register>
          <name>PDCRB</name>
          <displayName>PDCRB</displayName>
          <description>Power Port B pull-down control           register</description>
          <addressOffset>0x2C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>PD10</name>
              <description>PD10</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>PD10</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Disable the pull-down on PB[y] when both APC bits are set in PWR control register 3 (PWR_CR3)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Enable the pull-down on PB[y] when both APC bits are set in PWR control register 3 (PWR_CR3)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PD15</name>
              <description>Port PB[y] pull-down (y=5 to               15)</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PD10"/>
            </field>
            <field>
              <name>PD14</name>
              <description>PD14</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PD10"/>
            </field>
            <field>
              <name>PD13</name>
              <description>PD13</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PD10"/>
            </field>
            <field>
              <name>PD12</name>
              <description>PD12</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PD10"/>
            </field>
            <field>
              <name>PD11</name>
              <description>PD11</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PD10"/>
            </field>
            <field>
              <name>PD0</name>
              <description>PD0</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>PD0</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Disable the pull-down on PB[y] when both APC bits are set in PWR control register 3 (PWR_CR3)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Enable the pull-down on PB[y] when both APC bits are set in PWR control register 3 (PWR_CR3)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PD9</name>
              <description>PD9</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PD0"/>
            </field>
            <field>
              <name>PD8</name>
              <description>PD8</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PD0"/>
            </field>
            <field>
              <name>PD7</name>
              <description>PD7</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PD0"/>
            </field>
            <field>
              <name>PD6</name>
              <description>PD6</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PD0"/>
            </field>
            <field>
              <name>PD5</name>
              <description>PD5</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PD0"/>
            </field>
            <field>
              <name>PD4</name>
              <description>PD4</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PD0"/>
            </field>
            <field>
              <name>PD3</name>
              <description>Port PB[y] pull-down (y=0 to               3)</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PD0"/>
            </field>
            <field>
              <name>PD2</name>
              <description>PD2</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PD0"/>
            </field>
            <field>
              <name>PD1</name>
              <description>PD1</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PD0"/>
            </field>
          </fields>
        </register>
        <register>
          <name>PUCRC</name>
          <displayName>PUCRC</displayName>
          <description>Power Port C pull-up control           register</description>
          <addressOffset>0x30</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>PU13</name>
              <description>PU13</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>PU13</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Disable pull-up on PC[y] when both APC bits are set in PWR control register 3 (PWR_CR3)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Enable pull-up on PC[y] when both APC bits are set in PWR control register 3 (PWR_CR3). The pull-up is not activated if the corresponding PC[y] bit is also set</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PU15</name>
              <description>Port PC[y] pull-up (y=13 to               15)</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PU13"/>
            </field>
            <field>
              <name>PU14</name>
              <description>PU14</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PU13"/>
            </field>
            <field>
              <name>PU0</name>
              <description>PU0</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>PU0</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Disable pull-up on PC[y] when both APC bits are set in PWR control register 3 (PWR_CR3)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Enable pull-up on PC[y] when both APC bits are set in PWR control register 3 (PWR_CR3). The pull-up is not activated if the corresponding PC[y] bit is also set</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PU2</name>
              <description>PU2</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PU0"/>
            </field>
            <field>
              <name>PU1</name>
              <description>PU1</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PU0"/>
            </field>
            <field>
              <name>PU3</name>
              <description>PU3</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PU0"/>
            </field>
            <field>
              <name>PU4</name>
              <description>PU4</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PU0"/>
            </field>
            <field>
              <name>PU5</name>
              <description>PU5</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PU0"/>
            </field>
            <field>
              <name>PU6</name>
              <description>PU6</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PU0"/>
            </field>
          </fields>
        </register>
        <register>
          <name>PDCRC</name>
          <displayName>PDCRC</displayName>
          <description>Power Port C pull-down control           register</description>
          <addressOffset>0x34</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>PD13</name>
              <description>PD13</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>PD13</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Disable the pull-down on PC[y] when both APC bits are set in PWR control register 3 (PWR_CR3)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Enable the pull-down on PC[y] when both APC bits are set in PWR control register 3 (PWR_CR3)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PD15</name>
              <description>Port PC[y] pull-down (y=13 to               15)</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PD13"/>
            </field>
            <field>
              <name>PD14</name>
              <description>PD14</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PD13"/>
            </field>
            <field>
              <name>PD0</name>
              <description>PD0</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>PD0</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Disable the pull-down on PC[y] when both APC bits are set in PWR control register 3 (PWR_CR3)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Enable the pull-down on PC[y] when both APC bits are set in PWR control register 3 (PWR_CR3)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PD2</name>
              <description>PD2</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PD0"/>
            </field>
            <field>
              <name>PD1</name>
              <description>PD1</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PD0"/>
            </field>
            <field>
              <name>PD3</name>
              <description>PD3</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PD0"/>
            </field>
            <field>
              <name>PD4</name>
              <description>PD4</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PD0"/>
            </field>
            <field>
              <name>PD5</name>
              <description>PD5</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PD0"/>
            </field>
            <field>
              <name>PD6</name>
              <description>PD6</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PD0"/>
            </field>
          </fields>
        </register>
        <register>
          <name>PUCRH</name>
          <displayName>PUCRH</displayName>
          <description>Power Port H pull-up control           register</description>
          <addressOffset>0x58</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>PU3</name>
              <description>pull-up</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>PU3</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Disable pull-up on PH[y] when both APC bits are set in PWR control register 3 (PWR_CR3)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Enable pull-up on PH[y] when both APC bits are set in PWR control register 3 (PWR_CR3). The pull-up is not activated if the corresponding PH[y] bit is also set</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PDCRH</name>
          <displayName>PDCRH</displayName>
          <description>Power Port H pull-down control           register</description>
          <addressOffset>0x5C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>PD3</name>
              <description>pull-down</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>PD3</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Disable the pull-down on PH[y] when both APC bits are set in PWR control register 3 (PWR_CR3)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Enable the pull-down on PH[y] when both APC bits are set in PWR control register 3 (PWR_CR3)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>C2CR1</name>
          <displayName>C2CR1</displayName>
          <description>Power CPU2 control register 1 [dual core           device only]</description>
          <addressOffset>0x80</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000007</resetValue>
          <fields>
            <field>
              <name>FPDS</name>
              <description>Flash memory power down mode during               LPSleep for CPU2</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>FPDS</name>
                <enumeratedValue>
                  <name>Idle</name>
                  <description>Flash memory in Idle mode when system is in LPSleep mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PowerDown</name>
                  <description>Flash memory in Power-down mode when system is in LPSleep mode</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FPDR</name>
              <description>Flash memory power down mode during               LPRun for CPU2</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>FPDR</name>
                <enumeratedValue>
                  <name>Idle</name>
                  <description>Flash memory in Idle mode when system is in LPRun mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PowerDown</name>
                  <description>Flash memory in Power-down mode when system is in LPRun mode</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LPMS</name>
              <description>Low-power mode selection for               CPU2</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>LPMS</name>
                <enumeratedValue>
                  <name>Stop0</name>
                  <description>Stop 0 mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Stop1</name>
                  <description>Stop 1 mode</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Stop2</name>
                  <description>Stop 2 mode</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Standby</name>
                  <description>Standby mode</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Shutdown</name>
                  <description>Shutdown mode</description>
                  <value>4</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>C2CR3</name>
          <displayName>C2CR3</displayName>
          <description>Power CPU2 control register 3 [dual core           device only]</description>
          <addressOffset>0x84</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00008000</resetValue>
          <fields>
            <field>
              <name>EIWUL</name>
              <description>Enable internal wakeup line for               CPU2</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>EIWUL</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Internal wakeup line interrupt to CPU2 disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Internal wakeup line interrupt to CPU2 enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EWRFIRQ</name>
              <description>akeup for CPU2</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>EWRFIRQ</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Radio IRQ[2:0] is disabled and does not trigger a wakeup from Standby event to CPU2.</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Radio IRQ[2:0] is enabled and triggers a wakeup from Standby event to CPU2.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EWRFBUSY</name>
              <description>EWRFBUSY</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>EWRFBUSY</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Radio Busy is disabled and does not trigger a wakeup from Standby event to CPU2 when a rising or a falling edge occurs</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Radio Busy is enabled and triggers a wakeup from Standby event to CPU2 when a rising or a falling edge occurs. The active edge is configured via the WRFBUSYP bit in PWR_CR4</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>APC</name>
              <description>Apply pull-up and pull-down               configuration for CPU2</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>APC</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>I/O pull-up and pull-down configurations defined in the PWR_PUCRx and PWR_PDCRx registers are applied</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>PWR_PUCRx and PWR_PDCRx registers are NOT applied to the I/Os</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EWPVD</name>
              <description>Enable wakeup PVD for CPU2</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>EWPVD</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>PVD not enabled by the sub-GHz radio active state</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>PVD enabled while the sub-GHz radio is active</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EWUP3</name>
              <description>Enable Wakeup pin WKUP3 for               CPU2</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>EWUP3</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>WKUP pin 3 is used for general purpose I/Os. An event on the WKUP pin 3 does not wakeup the device from Standby mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>WKUP pin 3 is used for wakeup from Standby mode and forced in input pull down configuration (rising edge on WKUP pin 3wakes-up the system from Standby mode)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EWUP2</name>
              <description>Enable Wakeup pin WKUP2 for               CPU2</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>EWUP2</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>WKUP pin 2 is used for general purpose I/Os. An event on the WKUP pin 2 does not wakeup the device from Standby mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>WKUP pin 2 is used for wakeup from Standby mode and forced in input pull down configuration (rising edge on WKUP pin 2 wakes-up the system from Standby mode)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>EWUP1</name>
              <description>Enable Wakeup pin WKUP1 for               CPU2</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>EWUP1</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>WKUP pin 1 is used for general purpose I/Os. An event on the WKUP pin 1 does not wakeup the device from Standby mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>WKUP pin 1 is used for wakeup from Standby mode and forced in input pull down configuration (rising edge on WKUP pin 1 wakes-up the system from Standby mode)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>EXTSCR</name>
          <displayName>EXTSCR</displayName>
          <description>Power extended status and status clear           register</description>
          <addressOffset>0x88</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>C2DS</name>
              <description>PU2 deepsleep mode</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>C1DS</name>
              <description>CPU1 deepsleep mode</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>C1DS</name>
                <enumeratedValue>
                  <name>RunningOrSleep</name>
                  <description>CPU is running or in sleep</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>DeepSleep</name>
                  <description>CPU is in Deep-Sleep</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>C2STOPF</name>
              <description>ystem Stop0, 1 flag for CPU2. (All core               states retained)</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>C2STOP2F</name>
              <description>ystem Stop2 flag for CPU2. (partial core               states retained)</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>C2SBF</name>
              <description>ystem Standby flag for CPU2. (no core               states retained)</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>C1STOPF</name>
              <description>System Stop0, 1 flag for CPU1. (All core               states retained)</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>C1STOPF</name>
                <enumeratedValue>
                  <name>NoStop</name>
                  <description>System has not been in Stop 0 or 1 mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Stop</name>
                  <description>System has been in Stop 0 or 1 mode</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>C1STOP2F</name>
              <description>System Stop2 flag for CPU1. (partial               core states retained)</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>C1STOP2F</name>
                <enumeratedValue>
                  <name>NoStop</name>
                  <description>System has not been in Stop 2 mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Stop</name>
                  <description>System has been in Stop 2 mode</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>C1SBF</name>
              <description>System Standby flag for CPU1. (no core               states retained)</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>C1SBF</name>
                <enumeratedValue>
                  <name>NoStandby</name>
                  <description>System has not been in Standby mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Standby</name>
                  <description>System has been in Standby mode</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>C2CSSF</name>
              <description>lear CPU2 Stop Standby               flags</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
            </field>
            <field>
              <name>C1CSSF</name>
              <description>Clear CPU1 Stop Standby               flags</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
              <enumeratedValues>
                <name>C1CSSFW</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Setting this bit clears the C1STOPF and C1SBF bits</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>SECCFGR</name>
          <displayName>SECCFGR</displayName>
          <description>Power security configuration register [dual           core device only]</description>
          <addressOffset>0x8C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00008000</resetValue>
          <fields>
            <field>
              <name>C2EWILA</name>
              <description>wakeup on CPU2 illegal access interrupt enable</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>SUBGHZSPICR</name>
          <displayName>SUBGHZSPICR</displayName>
          <description>Power SPI3 control register</description>
          <addressOffset>0x90</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00008000</resetValue>
          <fields>
            <field>
              <name>NSS</name>
              <description>sub-GHz SPI NSS control</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>NSS</name>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Sub-GHz SPI NSS signal at level low</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Sub-GHz SPI NSS signal is at level high</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>RSSCMDR</name>
          <displayName>RSSCMDR</displayName>
          <description>RSS Command register [dual core device           only]</description>
          <addressOffset>0x98</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>RSSCMD</name>
              <description>RSS command</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>RCC</name>
      <description>Reset and clock control</description>
      <groupName>RCC</groupName>
      <baseAddress>0x58000000</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>RCC</name>
        <description>RCC global interrupt</description>
        <value>5</value>
      </interrupt>
      <registers>
        <register>
          <name>CR</name>
          <displayName>CR</displayName>
          <description>Clock control register</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000061</resetValue>
          <fields>
            <field>
              <name>PLLRDY</name>
              <description>Main PLL clock ready flag</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>PLLRDY</name>
                <enumeratedValue>
                  <name>Unlocked</name>
                  <description>PLL unlocked</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Locked</name>
                  <description>PLL Locked</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PLLON</name>
              <description>Main PLL enable</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>PLLON</name>
                <enumeratedValue>
                  <name>Off</name>
                  <description>Main PLL Off</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>On</name>
                  <description>Main PLL On</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>HSEBYPPWR</name>
              <description>Enable HSE32 VDDTCXO output on package               pin PB0-VDDTCXO.</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>HSEBYPPWR</name>
                <enumeratedValue>
                  <name>PB0</name>
                  <description>PB0 selected</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>VDDTCXO</name>
                  <description>VDDTCXO selected</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>HSEPRE</name>
              <description>HSE32 sysclk prescaler</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>HSEPRE</name>
                <enumeratedValue>
                  <name>Div1</name>
                  <description>SYSCLK not divided (HSE32)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div2</name>
                  <description>SYSCLK divided by two (HSE32/2)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CSSON</name>
              <description>HSE32 Clock security system               enable</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>CSSON</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>HSE32 CSS off</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>HSE32 CSS on if the HSE32 oscillator is stable and off if not</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>HSERDY</name>
              <description>HSE32 clock ready flag</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>HSERDY</name>
                <enumeratedValue>
                  <name>NotReady</name>
                  <description>HSE32 oscillator not ready</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Ready</name>
                  <description>HSE32 oscillator ready</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>HSEON</name>
              <description>HSE32 clock enable</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>HSEON</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>HSE32 oscillator for CPU disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>HSE32 oscillator for CPU enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>HSIKERDY</name>
              <description>HSI16 kernel clock ready flag for               peripherals requests.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>HSIKERDY</name>
                <enumeratedValue>
                  <name>NotReady</name>
                  <description>HSI16 oscillator not ready</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Ready</name>
                  <description>HSI16 oscillator ready</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>HSIASFS</name>
              <description>HSI16 automatic start from               Stop</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>HSIASFS</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>HSI16 not enabled by hardware when exiting Stop modes with MSI as wakeup clock</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>HSI16 enabled by hardware when exiting Stop mode with MSI as wakeup clock</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>HSIRDY</name>
              <description>HSI16 clock ready flag. (After wakeup               from Stop this bit will be read 1 once the HSI16 is               ready)</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>HSIRDY</name>
                <enumeratedValue>
                  <name>NotReady</name>
                  <description>HSI16 oscillator not ready</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Ready</name>
                  <description>HSI16 oscillator ready</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>HSIKERON</name>
              <description>HSI16 always enable for peripheral               kernel clocks.</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>HSIKERON</name>
                <enumeratedValue>
                  <name>NotForced</name>
                  <description>No effect on HSI16 oscillator</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Forced</name>
                  <description>HSI16 oscillator forced on even in Stop modes</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>HSION</name>
              <description>HSI16 clock enable</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>HSION</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>HSI16 oscillator off</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>HSI16 oscillator on</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MSIRANGE</name>
              <description>MSI clock ranges</description>
              <bitOffset>4</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>MSIRANGE</name>
                <enumeratedValue>
                  <name>Range100K</name>
                  <description>range 0 around 100 kHz</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Range200K</name>
                  <description>range 1 around 200 kHz</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Range400K</name>
                  <description>range 2 around 400 kHz</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Range800K</name>
                  <description>range 3 around 800 kHz</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Range1M</name>
                  <description>range 4 around 1 MHz</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Range2M</name>
                  <description>range 5 around 2 MHz</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Range4M</name>
                  <description>range 6 around 4 MHz (reset value)</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Range8M</name>
                  <description>range 7 around 8 MHz</description>
                  <value>7</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Range16M</name>
                  <description>range 8 around 16 MHz</description>
                  <value>8</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Range24M</name>
                  <description>range 9 around 24 MHz</description>
                  <value>9</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Range32M</name>
                  <description>range 10 around 32 MHz</description>
                  <value>10</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Range48M</name>
                  <description>range 11 around 48 MHz</description>
                  <value>11</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MSIRGSEL</name>
              <description>MSI range control               selection</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>MSIRGSEL</name>
                <enumeratedValue>
                  <name>CSR</name>
                  <description>MSI frequency range defined by MSISRANGE[3:0] in the RCC_CSR register</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CR</name>
                  <description>MSI frequency range defined by MSIRANGE[3:0] in the RCC_CR register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MSIPLLEN</name>
              <description>MSI clock PLL enable</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>MSIPLLEN</name>
                <enumeratedValue>
                  <name>Off</name>
                  <description>MSI PLL Off</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>On</name>
                  <description>MSI PLL On</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MSIRDY</name>
              <description>MSI clock ready flag (After reset this               bit will be read 1 once the MSI is               ready)</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>MSIRDY</name>
                <enumeratedValue>
                  <name>NotReady</name>
                  <description>MSI oscillator not ready</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Ready</name>
                  <description>MSI oscillator ready</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MSION</name>
              <description>MSI clock enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>MSION</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>MSI oscillator off</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>MSI oscillator on</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>ICSCR</name>
          <displayName>ICSCR</displayName>
          <description>Internal clock sources calibration           register</description>
          <addressOffset>0x4</addressOffset>
          <size>0x20</size>
          <resetValue>0x40000000</resetValue>
          <fields>
            <field>
              <name>HSITRIM</name>
              <description>HSI16 clock trimming</description>
              <bitOffset>24</bitOffset>
              <bitWidth>7</bitWidth>
              <access>read-write</access>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>63</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>HSICAL</name>
              <description>HSI16 clock calibration</description>
              <bitOffset>16</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-only</access>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>MSITRIM</name>
              <description>MSI clock trimming</description>
              <bitOffset>8</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-write</access>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>MSICAL</name>
              <description>MSI clock calibration</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <access>read-only</access>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>CFGR</name>
          <displayName>CFGR</displayName>
          <description>Clock configuration register</description>
          <addressOffset>0x8</addressOffset>
          <size>0x20</size>
          <resetValue>0x00070000</resetValue>
          <fields>
            <field>
              <name>MCOPRE</name>
              <description>Microcontroller clock output               prescaler</description>
              <bitOffset>28</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>MCOPRE</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>
                <enumeratedValue>
                  <name>Div16</name>
                  <description>Division by 16</description>
                  <value>4</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MCOSEL</name>
              <description>Microcontroller clock               output</description>
              <bitOffset>24</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>MCOSEL</name>
                <enumeratedValue>
                  <name>NoClock</name>
                  <description>No clock</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SYSCLK</name>
                  <description>SYSCLK clock selected</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>MSI</name>
                  <description>MSI oscillator clock selected</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HSI16</name>
                  <description>HSI16 oscillator clock selected</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HSE32</name>
                  <description>HSE32 oscillator clock selected</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PLLR</name>
                  <description>Main PLLRCLK clock selected</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LSI</name>
                  <description>LSI oscillator clock selected</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LSE</name>
                  <description>LSE oscillator clock selected</description>
                  <value>8</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PLLP</name>
                  <description>Main PLLPCLK clock selected</description>
                  <value>13</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PLLQ</name>
                  <description>Main PLLQCLK clock selected</description>
                  <value>14</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PPRE2F</name>
              <description>PCLK2 prescaler flag               (APB2)</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>PPRE2F</name>
                <enumeratedValue>
                  <name>NotApplied</name>
                  <description>PCLK2 prescaler value not yet applied</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Applied</name>
                  <description>PCLK2 prescaler value applied</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PPRE1F</name>
              <description>PCLK1 prescaler flag               (APB1)</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>PPRE1F</name>
                <enumeratedValue>
                  <name>NotApplied</name>
                  <description>PCLK1 prescaler value not yet applied</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Applied</name>
                  <description>PCLK1 prescaler value applied</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>HPREF</name>
              <description>HCLK1 prescaler flag (CPU1, AHB1, AHB2,               and SRAM1)</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>HPREF</name>
                <enumeratedValue>
                  <name>NotApplied</name>
                  <description>HCLK1 prescaler value not yet applied</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Applied</name>
                  <description>HCLK1 prescaler value applied</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>STOPWUCK</name>
              <description>Wakeup from Stop and CSS backup clock               selection</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>STOPWUCK</name>
                <enumeratedValue>
                  <name>MSI</name>
                  <description>MSI oscillator selected as wakeup from stop clock and CSS backup clock</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HSI16</name>
                  <description>HSI16 oscillator selected as wakeup from stop clock and CSS backup clock</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PPRE1</name>
              <description>PCLK1 low-speed prescaler               (APB1)</description>
              <bitOffset>8</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>PPRE1</name>
                <enumeratedValue>
                  <name>Div2</name>
                  <description>HCLK divided by 2</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div4</name>
                  <description>HCLK divided by 4</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div8</name>
                  <description>HCLK divided by 8</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div16</name>
                  <description>HCLK divided by 16</description>
                  <value>7</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div1</name>
                  <description>HCLK not divided</description>
                  <isDefault>true</isDefault>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PPRE2</name>
              <description>PCLK2 high-speed prescaler               (APB2)</description>
              <bitOffset>11</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="PPRE1"/>
            </field>
            <field>
              <name>HPRE</name>
              <description>HCLK1 prescaler (CPU1, AHB1, AHB2, and               SRAM1.)</description>
              <bitOffset>4</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>HPRE</name>
                <enumeratedValue>
                  <name>Div3</name>
                  <description>SYSCLK divided by 3</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div5</name>
                  <description>SYSCLK divided by 5</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div6</name>
                  <description>SYSCLK divided by 6</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div10</name>
                  <description>SYSCLK divided by 10</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div32</name>
                  <description>SYSCLK divided by 32</description>
                  <value>7</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div2</name>
                  <description>SYSCLK divided by 2</description>
                  <value>8</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div4</name>
                  <description>SYSCLK divided by 4</description>
                  <value>9</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div8</name>
                  <description>SYSCLK divided by 8</description>
                  <value>10</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div16</name>
                  <description>SYSCLK divided by 16</description>
                  <value>11</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div64</name>
                  <description>SYSCLK divided by 64</description>
                  <value>12</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div128</name>
                  <description>SYSCLK divided by 128</description>
                  <value>13</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div256</name>
                  <description>SYSCLK divided by 256</description>
                  <value>14</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div512</name>
                  <description>SYSCLK divided by 512</description>
                  <value>15</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div1</name>
                  <description>SYSCLK not divided</description>
                  <isDefault>true</isDefault>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SWS</name>
              <description>System clock switch status</description>
              <bitOffset>2</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>SWS</name>
                <enumeratedValue>
                  <name>MSI</name>
                  <description>MSI oscillator used as system clock</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HSI16</name>
                  <description>HSI16 oscillator used as system clock</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HSE32</name>
                  <description>HSE32 oscillator used as system clock</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PLLR</name>
                  <description>PLLRCLK used as system clock</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SW</name>
              <description>System clock switch</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>SW</name>
                <enumeratedValue>
                  <name>MSI</name>
                  <description>MSI oscillator used as system clock</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HSI16</name>
                  <description>HSI16 oscillator used as system clock</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HSE32</name>
                  <description>HSE32 oscillator used as system clock</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PLLR</name>
                  <description>PLLRCLK used as system clock</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>PLLCFGR</name>
          <displayName>PLLCFGR</displayName>
          <description>PLL configuration register</description>
          <addressOffset>0xC</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x22040100</resetValue>
          <fields>
            <field>
              <name>PLLQ</name>
              <description>Main PLL division factor for               PLLQCLK</description>
              <bitOffset>25</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>PLLQ</name>
                <enumeratedValue>
                  <name>Div2</name>
                  <description>PLL = VCO/(N+1)</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div3</name>
                  <description>PLL = VCO/(N+1)</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div4</name>
                  <description>PLL = VCO/(N+1)</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div5</name>
                  <description>PLL = VCO/(N+1)</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div6</name>
                  <description>PLL = VCO/(N+1)</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div7</name>
                  <description>PLL = VCO/(N+1)</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div8</name>
                  <description>PLL = VCO/(N+1)</description>
                  <value>7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PLLR</name>
              <description>Main PLL division factor for               PLLRCLK</description>
              <bitOffset>29</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues derivedFrom="PLLQ"/>
            </field>
            <field>
              <name>PLLPEN</name>
              <description>Main PLL PLLPCLK output               enable</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>PLLPEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>PLLCLK output disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>PLLCLK output enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PLLREN</name>
              <description>Main PLL PLLRCLK output               enable</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PLLPEN"/>
            </field>
            <field>
              <name>PLLQEN</name>
              <description>Main PLL PLLQCLK output               enable</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PLLPEN"/>
            </field>
            <field>
              <name>PLLP</name>
              <description>Main PLL division factor for               PLLPCLK.</description>
              <bitOffset>17</bitOffset>
              <bitWidth>5</bitWidth>
              <enumeratedValues>
                <name>PLLP</name>
                <enumeratedValue>
                  <name>Div2</name>
                  <description>PLL = VCO/(N+1)</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div3</name>
                  <description>PLL = VCO/(N+1)</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div4</name>
                  <description>PLL = VCO/(N+1)</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div5</name>
                  <description>PLL = VCO/(N+1)</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div6</name>
                  <description>PLL = VCO/(N+1)</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div7</name>
                  <description>PLL = VCO/(N+1)</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div8</name>
                  <description>PLL = VCO/(N+1)</description>
                  <value>7</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div9</name>
                  <description>PLL = VCO/(N+1)</description>
                  <value>8</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div10</name>
                  <description>PLL = VCO/(N+1)</description>
                  <value>9</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div11</name>
                  <description>PLL = VCO/(N+1)</description>
                  <value>10</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div12</name>
                  <description>PLL = VCO/(N+1)</description>
                  <value>11</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div13</name>
                  <description>PLL = VCO/(N+1)</description>
                  <value>12</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div14</name>
                  <description>PLL = VCO/(N+1)</description>
                  <value>13</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div15</name>
                  <description>PLL = VCO/(N+1)</description>
                  <value>14</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div16</name>
                  <description>PLL = VCO/(N+1)</description>
                  <value>15</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div17</name>
                  <description>PLL = VCO/(N+1)</description>
                  <value>16</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div18</name>
                  <description>PLL = VCO/(N+1)</description>
                  <value>17</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div19</name>
                  <description>PLL = VCO/(N+1)</description>
                  <value>18</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div20</name>
                  <description>PLL = VCO/(N+1)</description>
                  <value>19</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div21</name>
                  <description>PLL = VCO/(N+1)</description>
                  <value>20</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div22</name>
                  <description>PLL = VCO/(N+1)</description>
                  <value>21</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div23</name>
                  <description>PLL = VCO/(N+1)</description>
                  <value>22</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div24</name>
                  <description>PLL = VCO/(N+1)</description>
                  <value>23</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div25</name>
                  <description>PLL = VCO/(N+1)</description>
                  <value>24</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div26</name>
                  <description>PLL = VCO/(N+1)</description>
                  <value>25</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div27</name>
                  <description>PLL = VCO/(N+1)</description>
                  <value>26</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div28</name>
                  <description>PLL = VCO/(N+1)</description>
                  <value>27</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div29</name>
                  <description>PLL = VCO/(N+1)</description>
                  <value>28</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div30</name>
                  <description>PLL = VCO/(N+1)</description>
                  <value>29</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div31</name>
                  <description>PLL = VCO/(N+1)</description>
                  <value>30</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div32</name>
                  <description>PLL = VCO/(N+1)</description>
                  <value>31</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PLLN</name>
              <description>Main PLL multiplication factor for               VCO</description>
              <bitOffset>8</bitOffset>
              <bitWidth>7</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>6</minimum>
                  <maximum>127</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>PLLM</name>
              <description>Division factor for the main PLL input               clock</description>
              <bitOffset>4</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>PLLM</name>
                <enumeratedValue>
                  <name>Div1</name>
                  <description>VCO input = PLL input / PLLM</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div2</name>
                  <description>VCO input = PLL input / PLLM</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div3</name>
                  <description>VCO input = PLL input / PLLM</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div4</name>
                  <description>VCO input = PLL input / PLLM</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div5</name>
                  <description>VCO input = PLL input / PLLM</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div6</name>
                  <description>VCO input = PLL input / PLLM</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div7</name>
                  <description>VCO input = PLL input / PLLM</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div8</name>
                  <description>VCO input = PLL input / PLLM</description>
                  <value>7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PLLSRC</name>
              <description>Main PLL entry clock               source</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>PLLSRC</name>
                <enumeratedValue>
                  <name>NoClock</name>
                  <description>No clock sent to PLL</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>MSI</name>
                  <description>MSI clock selected as PLL clock entry</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HSI16</name>
                  <description>HSI16 clock selected as PLL clock entry</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HSE32</name>
                  <description>HSE32 clock selected as PLL clock entry</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CIER</name>
          <displayName>CIER</displayName>
          <description>Clock interrupt enable           register</description>
          <addressOffset>0x18</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>LSIRDYIE</name>
              <description>LSI ready interrupt enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>LSIRDYIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LSECSSIE</name>
              <description>LSE clock security system interrupt               enable</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="LSIRDYIE"/>
            </field>
            <field>
              <name>PLLRDYIE</name>
              <description>PLL ready interrupt enable</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="LSIRDYIE"/>
            </field>
            <field>
              <name>HSERDYIE</name>
              <description>HSE32 ready interrupt               enable</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="LSIRDYIE"/>
            </field>
            <field>
              <name>HSIRDYIE</name>
              <description>HSI16 ready interrupt               enable</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="LSIRDYIE"/>
            </field>
            <field>
              <name>MSIRDYIE</name>
              <description>MSI ready interrupt enable</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="LSIRDYIE"/>
            </field>
            <field>
              <name>LSERDYIE</name>
              <description>LSE ready interrupt enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="LSIRDYIE"/>
            </field>
          </fields>
        </register>
        <register>
          <name>CIFR</name>
          <displayName>CIFR</displayName>
          <description>Clock interrupt flag register</description>
          <addressOffset>0x1C</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>LSIRDYF</name>
              <description>LSI ready interrupt flag</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>LSIRDYF</name>
                <enumeratedValue>
                  <name>NotInterrupted</name>
                  <description>Not interrupted</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Interrupted</name>
                  <description>Interrupted</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LSECSSF</name>
              <description>LSE Clock security system interrupt               flag</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="LSIRDYF"/>
            </field>
            <field>
              <name>CSSF</name>
              <description>HSE32 Clock security system interrupt               flag</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="LSIRDYF"/>
            </field>
            <field>
              <name>PLLRDYF</name>
              <description>PLL ready interrupt flag</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="LSIRDYF"/>
            </field>
            <field>
              <name>HSERDYF</name>
              <description>HSE32 ready interrupt flag</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="LSIRDYF"/>
            </field>
            <field>
              <name>HSIRDYF</name>
              <description>HSI16 ready interrupt flag</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="LSIRDYF"/>
            </field>
            <field>
              <name>MSIRDYF</name>
              <description>MSI ready interrupt flag</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="LSIRDYF"/>
            </field>
            <field>
              <name>LSERDYF</name>
              <description>LSE ready interrupt flag</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="LSIRDYF"/>
            </field>
          </fields>
        </register>
        <register>
          <name>CICR</name>
          <displayName>CICR</displayName>
          <description>Clock interrupt clear register</description>
          <addressOffset>0x20</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>LSIRDYC</name>
              <description>LSI ready interrupt clear</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>LSIRDYC</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear interrupt flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LSECSSC</name>
              <description>LSE Clock security system interrupt               clear</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="LSIRDYC"/>
            </field>
            <field>
              <name>CSSC</name>
              <description>HSE32 Clock security system interrupt               clear</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="LSIRDYC"/>
            </field>
            <field>
              <name>PLLRDYC</name>
              <description>PLL ready interrupt clear</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="LSIRDYC"/>
            </field>
            <field>
              <name>HSERDYC</name>
              <description>HSE32 ready interrupt               clear</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="LSIRDYC"/>
            </field>
            <field>
              <name>HSIRDYC</name>
              <description>HSI16 ready interrupt               clear</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="LSIRDYC"/>
            </field>
            <field>
              <name>MSIRDYC</name>
              <description>MSI ready interrupt clear</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="LSIRDYC"/>
            </field>
            <field>
              <name>LSERDYC</name>
              <description>LSE ready interrupt clear</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="LSIRDYC"/>
            </field>
          </fields>
        </register>
        <register>
          <name>AHB1RSTR</name>
          <displayName>AHB1RSTR</displayName>
          <description>AHB1 peripheral reset register</description>
          <addressOffset>0x28</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DMA1RST</name>
              <description>DMA1 reset</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DMA1RST</name>
                <enumeratedValue>
                  <name>NoReset</name>
                  <description>No effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Reset</name>
                  <description>Reset peripheral</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CRCRST</name>
              <description>CRC reset</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DMA1RST"/>
            </field>
            <field>
              <name>DMAMUX1RST</name>
              <description>DMAMUX1 reset</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DMA1RST"/>
            </field>
            <field>
              <name>DMA2RST</name>
              <description>DMA2 reset</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DMA1RST"/>
            </field>
          </fields>
        </register>
        <register>
          <name>AHB2RSTR</name>
          <displayName>AHB2RSTR</displayName>
          <description>AHB2 peripheral reset register</description>
          <addressOffset>0x2C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>GPIOARST</name>
              <description>IO port A reset</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>GPIOARST</name>
                <enumeratedValue>
                  <name>NoReset</name>
                  <description>No effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Reset</name>
                  <description>Reset peripheral</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>GPIOHRST</name>
              <description>IO port H reset</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOARST"/>
            </field>
            <field>
              <name>GPIOCRST</name>
              <description>IO port C reset</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOARST"/>
            </field>
            <field>
              <name>GPIOBRST</name>
              <description>IO port B reset</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOARST"/>
            </field>
          </fields>
        </register>
        <register>
          <name>AHB3RSTR</name>
          <displayName>AHB3RSTR</displayName>
          <description>AHB3 peripheral reset register</description>
          <addressOffset>0x30</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>PKARST</name>
              <description>PKARST</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>PKARST</name>
                <enumeratedValue>
                  <name>NoReset</name>
                  <description>No effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Reset</name>
                  <description>Reset peripheral</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FLASHRST</name>
              <description>Flash interface reset</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PKARST"/>
            </field>
            <field>
              <name>IPCCRST</name>
              <description>IPCCRST</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PKARST"/>
            </field>
            <field>
              <name>HSEMRST</name>
              <description>HSEMRST</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PKARST"/>
            </field>
            <field>
              <name>RNGRST</name>
              <description>RNGRST</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PKARST"/>
            </field>
            <field>
              <name>AESRST</name>
              <description>AESRST</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PKARST"/>
            </field>
          </fields>
        </register>
        <register>
          <name>APB1RSTR1</name>
          <displayName>APB1RSTR1</displayName>
          <description>APB1 peripheral reset register           1</description>
          <addressOffset>0x38</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TIM2RST</name>
              <description>TIM2 timer reset</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TIM2RST</name>
                <enumeratedValue>
                  <name>NoReset</name>
                  <description>No effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Reset</name>
                  <description>Reset peripheral</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LPTIM1RST</name>
              <description>Low Power Timer 1 reset</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2RST"/>
            </field>
            <field>
              <name>DACRST</name>
              <description>DAC1 reset</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2RST"/>
            </field>
            <field>
              <name>I2C3RST</name>
              <description>I2C3 reset</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2RST"/>
            </field>
            <field>
              <name>I2C2RST</name>
              <description>I2C2 reset</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2RST"/>
            </field>
            <field>
              <name>I2C1RST</name>
              <description>I2C1 reset</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2RST"/>
            </field>
            <field>
              <name>USART2RST</name>
              <description>USART2 reset</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2RST"/>
            </field>
            <field>
              <name>SPI2S2RST</name>
              <description>SPI2S2 reset</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2RST"/>
            </field>
          </fields>
        </register>
        <register>
          <name>APB1RSTR2</name>
          <displayName>APB1RSTR2</displayName>
          <description>APB1 peripheral reset register           2</description>
          <addressOffset>0x3C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>LPUART1RST</name>
              <description>Low-power UART 1 reset</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>LPUART1RST</name>
                <enumeratedValue>
                  <name>NoReset</name>
                  <description>No effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Reset</name>
                  <description>Reset peripheral</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LPTIM3RST</name>
              <description>Low-power timer 3 reset</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="LPUART1RST"/>
            </field>
            <field>
              <name>LPTIM2RST</name>
              <description>Low-power timer 2 reset</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="LPUART1RST"/>
            </field>
          </fields>
        </register>
        <register>
          <name>APB2RSTR</name>
          <displayName>APB2RSTR</displayName>
          <description>APB2 peripheral reset register</description>
          <addressOffset>0x40</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TIM17RST</name>
              <description>TIM17 timer reset</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TIM16RST</name>
              <description>TIM16 timer reset</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>USART1RST</name>
              <description>USART1 reset</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SPI1RST</name>
              <description>SPI1 reset</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TIM1RST</name>
              <description>TIM1 timer reset</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ADCRST</name>
              <description>ADC reset</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>APB3RSTR</name>
          <displayName>APB3RSTR</displayName>
          <description>APB3 peripheral reset register</description>
          <addressOffset>0x44</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>SUBGHZSPIRST</name>
              <description>Sub-GHz radio SPI reset</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>AHB1ENR</name>
          <displayName>AHB1ENR</displayName>
          <description>AHB1 peripheral clock enable           register</description>
          <addressOffset>0x48</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DMA1EN</name>
              <description>CPU1 DMA1 clock enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DMA1EN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Clock disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Clock enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CRCEN</name>
              <description>CPU1 CRC clock enable</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DMA1EN"/>
            </field>
            <field>
              <name>DMAMUX1EN</name>
              <description>CPU1 DMAMUX1 clock enable</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DMA1EN"/>
            </field>
            <field>
              <name>DMA2EN</name>
              <description>CPU1 DMA2 clock enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DMA1EN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>AHB2ENR</name>
          <displayName>AHB2ENR</displayName>
          <description>AHB2 peripheral clock enable           register</description>
          <addressOffset>0x4C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>GPIOAEN</name>
              <description>CPU1 IO port A clock               enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>GPIOAEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Clock disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Clock enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>GPIOHEN</name>
              <description>CPU1 IO port H clock               enable</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOAEN"/>
            </field>
            <field>
              <name>GPIOCEN</name>
              <description>CPU1 IO port C clock               enable</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOAEN"/>
            </field>
            <field>
              <name>GPIOBEN</name>
              <description>CPU1 IO port B clock               enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOAEN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>AHB3ENR</name>
          <displayName>AHB3ENR</displayName>
          <description>AHB3 peripheral clock enable           register</description>
          <addressOffset>0x50</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x02080000</resetValue>
          <fields>
            <field>
              <name>PKAEN</name>
              <description>PKAEN</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>PKAEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Clock disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Clock enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FLASHEN</name>
              <description>CPU1 Flash interface clock               enable</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PKAEN"/>
            </field>
            <field>
              <name>IPCCEN</name>
              <description>IPCCEN</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PKAEN"/>
            </field>
            <field>
              <name>HSEMEN</name>
              <description>HSEMEN</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PKAEN"/>
            </field>
            <field>
              <name>RNGEN</name>
              <description>RNGEN</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PKAEN"/>
            </field>
            <field>
              <name>AESEN</name>
              <description>AESEN</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PKAEN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>APB1ENR1</name>
          <displayName>APB1ENR1</displayName>
          <description>APB1 peripheral clock enable register           1</description>
          <addressOffset>0x58</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TIM2EN</name>
              <description>CPU1 TIM2 timer clock               enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>TIM2EN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Clock disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Clock enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LPTIM1EN</name>
              <description>CPU1 Low power timer 1 clocks               enable</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>DAC1EN</name>
              <description>CPU1 DAC1 clock enable</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>I2C3EN</name>
              <description>CPU1 I2C3 clocks enable</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>I2C2EN</name>
              <description>CPU1 I2C2 clocks enable</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>I2C1EN</name>
              <description>CPU1 I2C1 clocks enable</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>USART2EN</name>
              <description>CPU1 USART2 clock enable</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>SPI2S2EN</name>
              <description>CPU1 SPI2S2 clock enable</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>WWDGEN</name>
              <description>CPU1 Window watchdog clock               enable</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>RTCAPBEN</name>
              <description>CPU1 RTC APB clock enable</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>APB1ENR2</name>
          <displayName>APB1ENR2</displayName>
          <description>APB1 peripheral clock enable register           2</description>
          <addressOffset>0x5C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>LPUART1EN</name>
              <description>CPU1 Low power UART 1 clocks               enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>LPUART1EN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Clock disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Clock enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LPTIM3EN</name>
              <description>CPU1 Low power timer 3 clocks               enable</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="LPUART1EN"/>
            </field>
            <field>
              <name>LPTIM2EN</name>
              <description>CPU1 Low power timer 2 clocks               enable</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="LPUART1EN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>APB2ENR</name>
          <displayName>APB2ENR</displayName>
          <description>APB2 peripheral clock enable           register</description>
          <addressOffset>0x60</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>ADCEN</name>
              <description>CPU1 ADC clocks enable</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ADCEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Clock disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Clock enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TIM17EN</name>
              <description>CPU1 TIM17 timer clock               enable</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="ADCEN"/>
            </field>
            <field>
              <name>TIM16EN</name>
              <description>CPU1 TIM16 timer clock               enable</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="ADCEN"/>
            </field>
            <field>
              <name>USART1EN</name>
              <description>CPU1 USART1clocks enable</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="ADCEN"/>
            </field>
            <field>
              <name>SPI1EN</name>
              <description>CPU1 SPI1 clock enable</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="ADCEN"/>
            </field>
            <field>
              <name>TIM1EN</name>
              <description>CPU1 TIM1 timer clock               enable</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="ADCEN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>APB3ENR</name>
          <displayName>APB3ENR</displayName>
          <description>APB3 peripheral clock enable           register</description>
          <addressOffset>0x64</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>SUBGHZSPIEN</name>
              <description>sub-GHz radio SPI clock enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SUBGHZSPIEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Clock disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Clock enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>AHB1SMENR</name>
          <displayName>AHB1SMENR</displayName>
          <description>AHB1 peripheral clocks enable in Sleep modes           register</description>
          <addressOffset>0x68</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00001007</resetValue>
          <fields>
            <field>
              <name>CRCSMEN</name>
              <description>CRC clock enable during CPU1 CSleep               mode.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DMAMUX1SMEN</name>
              <description>DMAMUX1 clock enable during CPU1 CSleep               mode.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DMA2SMEN</name>
              <description>DMA2 clock enable during CPU1 CSleep               mode</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DMA1SMEN</name>
              <description>DMA1 clock enable during CPU1 CSleep               mode.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>AHB2SMENR</name>
          <displayName>AHB2SMENR</displayName>
          <description>AHB2 peripheral clocks enable in Sleep modes           register</description>
          <addressOffset>0x6C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000087</resetValue>
          <fields>
            <field>
              <name>GPIOHSMEN</name>
              <description>IO port H clock enable during CPU1               CSleep mode.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>GPIOCSMEN</name>
              <description>IO port C clock enable during CPU1               CSleep mode.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>GPIOBSMEN</name>
              <description>IO port B clock enable during CPU1               CSleep mode.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>GPIOASMEN</name>
              <description>IO port A clock enable during CPU1               CSleep mode.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>AHB3SMENR</name>
          <displayName>AHB3SMENR</displayName>
          <description>AHB3 peripheral clocks enable in Sleep and           Stop modes register</description>
          <addressOffset>0x70</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x03870000</resetValue>
          <fields>
            <field>
              <name>FLASHSMEN</name>
              <description>Flash interface clock enable during CPU1               CSleep mode.</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SRAM2SMEN</name>
              <description>SRAM2 memory interface clock enable               during CPU1 CSleep mode</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SRAM1SMEN</name>
              <description>SRAM1 interface clock enable during CPU1               CSleep mode.</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RNGSMEN</name>
              <description>True RNG clocks enable during CPU1               Csleep and CStop modes</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>AESSMEN</name>
              <description>AES accelerator clock enable during CPU1               CSleep mode.</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>PKASMEN</name>
              <description>PKA accelerator clock enable during CPU1               CSleep mode.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>APB1SMENR1</name>
          <displayName>APB1SMENR1</displayName>
          <description>APB1 peripheral clocks enable in Sleep mode           register 1</description>
          <addressOffset>0x78</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0xA0E24C01</resetValue>
          <fields>
            <field>
              <name>TIM2SMEN</name>
              <description>TIM2 timer clock enable during CPU1               CSleep mode.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TIM2SMEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Clock disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Clock enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LPTIM1SMEN</name>
              <description>Low power timer 1 clock enable during               CPU1 Csleep and CStop mode</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2SMEN"/>
            </field>
            <field>
              <name>DACSMEN</name>
              <description>DAC1 clock enable during CPU1 CSleep               mode.</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2SMEN"/>
            </field>
            <field>
              <name>I2C3SMEN</name>
              <description>I2C3 clock enable during CPU1 Csleep and               CStop modes</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2SMEN"/>
            </field>
            <field>
              <name>I2C2SMEN</name>
              <description>I2C2 clock enable during CPU1 Csleep and               CStop modes</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2SMEN"/>
            </field>
            <field>
              <name>I2C1SMEN</name>
              <description>I2C1 clock enable during CPU1 Csleep and               CStop modes</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2SMEN"/>
            </field>
            <field>
              <name>USART2SMEN</name>
              <description>USART2 clock enable during CPU1 CSleep               mode.</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2SMEN"/>
            </field>
            <field>
              <name>SPI2S2SMEN</name>
              <description>SPI2S2 clock enable during CPU1 CSleep               mode.</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2SMEN"/>
            </field>
            <field>
              <name>WWDGSMEN</name>
              <description>Window watchdog clocks enable during               CPU1 CSleep mode.</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2SMEN"/>
            </field>
            <field>
              <name>RTCAPBSMEN</name>
              <description>RTC bus clock enable during CPU1 CSleep               mode.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2SMEN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>APB1SMENR2</name>
          <displayName>APB1SMENR2</displayName>
          <description>APB1 peripheral clocks enable in Sleep mode           register 2</description>
          <addressOffset>0x7C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000061</resetValue>
          <fields>
            <field>
              <name>LPUART1SMEN</name>
              <description>Low power UART 1 clock enable during               CPU1 Csleep and CStop modes.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>LPUART1SMEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Clock disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Clock enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LPTIM3SMEN</name>
              <description>Low power timer 3 clock enable during               CPU1 Csleep and CStop modes</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="LPUART1SMEN"/>
            </field>
            <field>
              <name>LPTIM2SMEN</name>
              <description>Low power timer 2 clock enable during               CPU1 Csleep and CStop modes</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="LPUART1SMEN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>APB2SMENR</name>
          <displayName>APB2SMENR</displayName>
          <description>APB2 peripheral clocks enable in Sleep mode           register</description>
          <addressOffset>0x80</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00065A00</resetValue>
          <fields>
            <field>
              <name>TIM17SMEN</name>
              <description>TIM17 timer clock enable during CPU1               CSleep mode.</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TIM16SMEN</name>
              <description>TIM16 timer clock enable during CPU1               CSleep mode.</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>USART1SMEN</name>
              <description>USART1 clock enable during CPU1 Csleep               and CStop modes.</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SPI1SMEN</name>
              <description>SPI1 clock enable during CPU1 CSleep               mode.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TIM1SMEN</name>
              <description>TIM1 timer clock enable during CPU1               CSleep mode.</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ADCSMEN</name>
              <description>ADC clocks enable during CPU1 Csleep and               CStop modes</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>APB3SMENR</name>
          <displayName>APB3SMENR</displayName>
          <description>APB3 peripheral clock enable in Sleep mode           register</description>
          <addressOffset>0x84</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000001</resetValue>
          <fields>
            <field>
              <name>SUBGHZSPISMEN</name>
              <description>Sub-GHz radio SPI clock enable during Sleep and Stop modes</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>CCIPR</name>
          <displayName>CCIPR</displayName>
          <description>Peripherals independent clock configuration           register</description>
          <addressOffset>0x88</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>RNGSEL</name>
              <description>RNG clock source selection</description>
              <bitOffset>30</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>RNGSEL</name>
                <enumeratedValue>
                  <name>PLLQ</name>
                  <description>PLLQ clock selected</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LSI</name>
                  <description>LSI clock selected</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LSE</name>
                  <description>LSE clock selected</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>MSI</name>
                  <description>MSI clock selected</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ADCSEL</name>
              <description>ADC clock source selection</description>
              <bitOffset>28</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>ADCSEL</name>
                <enumeratedValue>
                  <name>NoClock</name>
                  <description>No clock selected</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HSI16</name>
                  <description>HSI16 clock selected</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PLLP</name>
                  <description>PLLP clock selected</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SYSCLK</name>
                  <description>SYSCLK clock selected</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LPTIM1SEL</name>
              <description>Low power timer 1 clock source               selection</description>
              <bitOffset>18</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>LPTIM1SEL</name>
                <enumeratedValue>
                  <name>PCLK</name>
                  <description>PCLK clock selected</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LSI</name>
                  <description>LSI clock selected</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HSI16</name>
                  <description>HSI16 clock selected</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LSE</name>
                  <description>LSE clock selected</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LPTIM3SEL</name>
              <description>Low power timer 3 clock source               selection</description>
              <bitOffset>22</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues derivedFrom="LPTIM1SEL"/>
            </field>
            <field>
              <name>LPTIM2SEL</name>
              <description>Low power timer 2 clock source               selection</description>
              <bitOffset>20</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues derivedFrom="LPTIM1SEL"/>
            </field>
            <field>
              <name>I2C1SEL</name>
              <description>I2C1 clock source               selection</description>
              <bitOffset>12</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>I2C1SEL</name>
                <enumeratedValue>
                  <name>PCLK</name>
                  <description>PCLK clock selected</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SYSCLK</name>
                  <description>SYSCLK clock selected</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HSI16</name>
                  <description>HSI16 clock selected</description>
                  <value>2</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>I2C3SEL</name>
              <description>I2C3 clock source               selection</description>
              <bitOffset>16</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues derivedFrom="I2C1SEL"/>
            </field>
            <field>
              <name>I2C2SEL</name>
              <description>I2C2 clock source               selection</description>
              <bitOffset>14</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues derivedFrom="I2C1SEL"/>
            </field>
            <field>
              <name>LPUART1SEL</name>
              <description>LPUART1 clock source               selection</description>
              <bitOffset>10</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>LPUART1SEL</name>
                <enumeratedValue>
                  <name>PCLK</name>
                  <description>PCLK clock selected</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SYSCLK</name>
                  <description>SYSCLK clock selected</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HSI16</name>
                  <description>HSI16 clock selected</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LSE</name>
                  <description>LSE clock selected</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SPI2S2SEL</name>
              <description>SPI2S2 I2S clock source               selection</description>
              <bitOffset>8</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>SPI2S2SEL</name>
                <enumeratedValue>
                  <name>PLLQ</name>
                  <description>PLLQ clock selected</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HSI16</name>
                  <description>HSI16 clock selected</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>I2S</name>
                  <description>External input I2S_CKIN selected</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>USART1SEL</name>
              <description>USART1 clock source               selection</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>USART1SEL</name>
                <enumeratedValue>
                  <name>PCLK</name>
                  <description>PCLK clock selected</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SYSCLK</name>
                  <description>SYSCLK clock selected</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HSI16</name>
                  <description>HSI16 clock selected</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LSE</name>
                  <description>LSE clock selected</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>USART2SEL</name>
              <description>USART2 clock source               selection</description>
              <bitOffset>2</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues derivedFrom="USART1SEL"/>
            </field>
          </fields>
        </register>
        <register>
          <name>BDCR</name>
          <displayName>BDCR</displayName>
          <description>Backup domain control register</description>
          <addressOffset>0x90</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>LSCOSEL</name>
              <description>Low speed clock output               selection</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>LSCOSEL</name>
                <enumeratedValue>
                  <name>LSI</name>
                  <description>LSI clock selected</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LSE</name>
                  <description>LSE clock selected</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LSCOEN</name>
              <description>Low speed clock output               enable</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>LSCOEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>LSCO disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>LSCO enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BDRST</name>
              <description>Backup domain software               reset</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>BDRST</name>
                <enumeratedValue>
                  <name>NotActive</name>
                  <description>Reset not activated</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Reset</name>
                  <description>Entire Backup domain reset</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RTCEN</name>
              <description>RTC clock enable</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>RTCEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>RTC kernel clock disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>RTC kernel clock enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LSESYSRDY</name>
              <description>LSE system clock ready</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>LSESYSRDY</name>
                <enumeratedValue>
                  <name>NotReady</name>
                  <description>LSE system clock not ready</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Ready</name>
                  <description>LSE system clock ready</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RTCSEL</name>
              <description>RTC clock source selection</description>
              <bitOffset>8</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</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 selected</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LSI</name>
                  <description>LSI oscillator clock selected</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HSE32</name>
                  <description>HSE32 oscillator clock divided by 32 selected</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LSESYSEN</name>
              <description>LSE system clock enable</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>LSESYSEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>LSE system clock disabled to USARTx, LPUARTx, LPTIMx, TIMx, RNG, system LSCO, MCO, MSI PLL mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>LSE system clock enabled to USARTx, LPUARTx, LPTIMx, TIMx, RNG, system LSCO, MCO, MSI PLL mode</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LSECSSD</name>
              <description>CSS on LSE failure               Detection</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>LSECSSD</name>
                <enumeratedValue>
                  <name>NoFailure</name>
                  <description>No failure detected on LSE</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Failure</name>
                  <description>Failure detected on LSE</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LSECSSON</name>
              <description>CSS on LSE enable</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>LSECSSON</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>CSS on LSE disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>CSS on LSE enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LSEDRV</name>
              <description>LSE oscillator drive               capability</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>LSEDRV</name>
                <enumeratedValue>
                  <name>Low</name>
                  <description>Xtal mode lower driving capability</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>MedLow</name>
                  <description>Xtal mode medium-low driving capability</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>MedHigh</name>
                  <description>Xtal mode medium-high driving capability</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>High</name>
                  <description>Xtal mode higher driving capability</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LSEBYP</name>
              <description>LSE oscillator bypass</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>LSEBYP</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>LSE oscillator not bypassed</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>LSE oscillator bypassed</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LSERDY</name>
              <description>LSE oscillator ready</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>LSERDY</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>LSEON</name>
              <description>LSE oscillator enable</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>
          </fields>
        </register>
        <register>
          <name>CSR</name>
          <displayName>CSR</displayName>
          <description>Control/status register</description>
          <addressOffset>0x94</addressOffset>
          <size>0x20</size>
          <resetValue>0x0C01C600</resetValue>
          <fields>
            <field>
              <name>OBLRSTF</name>
              <description>Option byte loader reset               flag</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>OBLRSTF</name>
                <enumeratedValue>
                  <name>NoReset</name>
                  <description>No reset occurred</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Reset</name>
                  <description>Reset occurred</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LPWRRSTF</name>
              <description>Low-power reset flag</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues derivedFrom="OBLRSTF"/>
            </field>
            <field>
              <name>WWDGRSTF</name>
              <description>Window watchdog reset flag</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues derivedFrom="OBLRSTF"/>
            </field>
            <field>
              <name>IWDGRSTF</name>
              <description>Independent window watchdog reset               flag</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues derivedFrom="OBLRSTF"/>
            </field>
            <field>
              <name>SFTRSTF</name>
              <description>Software reset flag</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues derivedFrom="OBLRSTF"/>
            </field>
            <field>
              <name>BORRSTF</name>
              <description>BOR flag</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues derivedFrom="OBLRSTF"/>
            </field>
            <field>
              <name>PINRSTF</name>
              <description>Pin reset flag</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues derivedFrom="OBLRSTF"/>
            </field>
            <field>
              <name>RFILARSTF</name>
              <description>Radio illegal access flag</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>RFILARSTF</name>
                <enumeratedValue>
                  <name>NoIllegalCommand</name>
                  <description>No SUBGHZ radio illegal command occurred</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>IllegalCommand</name>
                  <description>SUBGHZ radio illegal command occurred</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RMVF</name>
              <description>Remove reset flag</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>RMVF</name>
                <enumeratedValue>
                  <name>NoEffect</name>
                  <description>No effect</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Reset flags reset</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RFRST</name>
              <description>Radio reset</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>RFRST</name>
                <enumeratedValue>
                  <name>Removed</name>
                  <description>Sub-GHz radio software reset removed</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Reset</name>
                  <description>Sub-GHz radio software reset active</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RFRSTF</name>
              <description>Radio in reset status flag</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>RFRSTF</name>
                <enumeratedValue>
                  <name>NoReset</name>
                  <description>Sub-GHz radio out of reset</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Reset</name>
                  <description>Sub-GHz radio in reset</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MSISRANGE</name>
              <description>MSI clock ranges</description>
              <bitOffset>8</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>MSISRANGE</name>
                <enumeratedValue>
                  <name>f_1MHz</name>
                  <description>Range 4 around 1 MHz</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>f_2MHz</name>
                  <description>Range 5 around 2 MHz</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>f_4MHz</name>
                  <description>Range 6 around 4 MHz (reset value)</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>f_8MHz</name>
                  <description>Range 7 around 8 MHz</description>
                  <value>7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LSIPRE</name>
              <description>LSI frequency prescaler</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>LSIPRE</name>
                <enumeratedValue>
                  <name>Div1</name>
                  <description>LSI clock not divided</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div128</name>
                  <description>LSI clock divided by 128</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LSIRDY</name>
              <description>LSI oscillator ready</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>LSIRDY</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>
            <field>
              <name>LSION</name>
              <description>LSI oscillator enable</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>
          </fields>
        </register>
        <register>
          <name>EXTCFGR</name>
          <displayName>EXTCFGR</displayName>
          <description>Extended clock recovery           register</description>
          <addressOffset>0x108</addressOffset>
          <size>0x20</size>
          <resetValue>0x00030000</resetValue>
          <fields>
            <field>
              <name>C2HPREF</name>
              <description>CLK2 prescaler flag (CPU2)</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>SHDHPREF</name>
              <description>HCLK3 shared prescaler flag (AHB3,               Flash, and SRAM2)</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>SHDHPREF</name>
                <enumeratedValue>
                  <name>NotApplied</name>
                  <description>HCLK3 prescaler value not yet applied</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Applied</name>
                  <description>HCLK3 prescaler value applied</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>C2HPRE</name>
              <description>[dual core device only] HCLK2 prescaler               (CPU2)</description>
              <bitOffset>4</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-write</access>
            </field>
            <field>
              <name>SHDHPRE</name>
              <description>HCLK3 shared prescaler (AHB3, Flash, and               SRAM2)</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>SHDHPRE</name>
                <enumeratedValue>
                  <name>Div3</name>
                  <description>SYSCLK divided by 3</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div5</name>
                  <description>SYSCLK divided by 5</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div6</name>
                  <description>SYSCLK divided by 6</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div10</name>
                  <description>SYSCLK divided by 10</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div32</name>
                  <description>SYSCLK divided by 32</description>
                  <value>7</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div2</name>
                  <description>SYSCLK divided by 2</description>
                  <value>8</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div4</name>
                  <description>SYSCLK divided by 4</description>
                  <value>9</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div8</name>
                  <description>SYSCLK divided by 8</description>
                  <value>10</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div16</name>
                  <description>SYSCLK divided by 16</description>
                  <value>11</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div64</name>
                  <description>SYSCLK divided by 64</description>
                  <value>12</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div128</name>
                  <description>SYSCLK divided by 128</description>
                  <value>13</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div256</name>
                  <description>SYSCLK divided by 256</description>
                  <value>14</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div512</name>
                  <description>SYSCLK divided by 512</description>
                  <value>15</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div1</name>
                  <description>SYSCLK not divided</description>
                  <isDefault>true</isDefault>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>C2AHB1ENR</name>
          <displayName>C2AHB1ENR</displayName>
          <description>CPU2 AHB1 peripheral clock enable           register</description>
          <addressOffset>0x148</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DMA1EN</name>
              <description>CPU2 DMA1 clock enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DMA1EN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Clock disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Clock enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CRCEN</name>
              <description>CPU2 CRC clock enable</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DMA1EN"/>
            </field>
            <field>
              <name>DMAMUX1EN</name>
              <description>CPU2 DMAMUX1 clock enable</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DMA1EN"/>
            </field>
            <field>
              <name>DMA2EN</name>
              <description>CPU2 DMA2 clock enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DMA1EN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>C2AHB2ENR</name>
          <displayName>C2AHB2ENR</displayName>
          <description>CPU2 AHB2 peripheral clock enable           register</description>
          <addressOffset>0x14C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>GPIOAEN</name>
              <description>CPU2 IO port A clock               enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>GPIOAEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Clock disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Clock enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>GPIOHEN</name>
              <description>CPU2 IO port H clock               enable</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOAEN"/>
            </field>
            <field>
              <name>GPIOCEN</name>
              <description>CPU2 IO port C clock               enable</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOAEN"/>
            </field>
            <field>
              <name>GPIOBEN</name>
              <description>CPU2 IO port B clock               enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOAEN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>C2AHB3ENR</name>
          <displayName>C2AHB3ENR</displayName>
          <description>CPU2 AHB3 peripheral clock enable register           [dual core device only]</description>
          <addressOffset>0x150</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x02080000</resetValue>
          <fields>
            <field>
              <name>PKAEN</name>
              <description>CPU2 PKA accelerator clock               enable</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>PKAEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Clock disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Clock enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FLASHEN</name>
              <description>CPU2 Flash interface clock               enable</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PKAEN"/>
            </field>
            <field>
              <name>IPCCEN</name>
              <description>CPU2 IPCC interface clock               enable</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PKAEN"/>
            </field>
            <field>
              <name>HSEMEN</name>
              <description>CPU2 HSEM clock enable</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PKAEN"/>
            </field>
            <field>
              <name>RNGEN</name>
              <description>CPU2 True RNG clocks               enable</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PKAEN"/>
            </field>
            <field>
              <name>AESEN</name>
              <description>CPU2 AES accelerator clock               enable</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PKAEN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>C2APB1ENR1</name>
          <displayName>C2APB1ENR1</displayName>
          <description>CPU2 APB1 peripheral clock enable register 1           [dual core device only]</description>
          <addressOffset>0x158</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TIM2EN</name>
              <description>CPU2 TIM2 timer clock               enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TIM2EN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Clock disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Clock enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LPTIM1EN</name>
              <description>CPU2 Low power timer 1 clocks               enable</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>DAC1EN</name>
              <description>CPU2 DAC1 clock enable</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>I2C3EN</name>
              <description>CPU2 I2C3 clocks enable</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>I2C2EN</name>
              <description>CPU2 I2C2 clocks enable</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>I2C1EN</name>
              <description>CPU2 I2C1 clocks enable</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>USART2EN</name>
              <description>CPU2 USART2 clock enable</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>SPI2S2EN</name>
              <description>CPU2 SPI2S2 clock enable</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
            <field>
              <name>RTCAPBEN</name>
              <description>CPU2 RTC APB clock enable</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2EN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>C2APB1ENR2</name>
          <displayName>C2APB1ENR2</displayName>
          <description>CPU2 APB1 peripheral clock enable register 2           [dual core device only]</description>
          <addressOffset>0x15C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>LPUART1EN</name>
              <description>CPU2 Low power UART 1 clocks               enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>LPUART1EN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Clock disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Clock enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LPTIM3EN</name>
              <description>CPU2 Low power timer 3 clocks               enable</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="LPUART1EN"/>
            </field>
            <field>
              <name>LPTIM2EN</name>
              <description>CPU2 Low power timer 2 clocks               enable</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="LPUART1EN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>C2APB2ENR</name>
          <displayName>C2APB2ENR</displayName>
          <description>CPU2 APB2 peripheral clock enable register           [dual core device only]</description>
          <addressOffset>0x160</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>ADCEN</name>
              <description>ADC clocks enable</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ADCEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Clock disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Clock enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TIM17EN</name>
              <description>CPU2 TIM17 timer clock               enable</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="ADCEN"/>
            </field>
            <field>
              <name>TIM16EN</name>
              <description>CPU2 TIM16 timer clock               enable</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="ADCEN"/>
            </field>
            <field>
              <name>USART1EN</name>
              <description>CPU2 USART1clocks enable</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="ADCEN"/>
            </field>
            <field>
              <name>SPI1EN</name>
              <description>CPU2 SPI1 clock enable</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="ADCEN"/>
            </field>
            <field>
              <name>TIM1EN</name>
              <description>CPU2 TIM1 timer clock               enable</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="ADCEN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>C2APB3ENR</name>
          <displayName>C2APB3ENR</displayName>
          <description>CPU2 APB3 peripheral clock enable register           [dual core device only]</description>
          <addressOffset>0x164</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>SUBGHZSPIEN</name>
              <description>CPU2 sub-GHz radio SPI clock enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SUBGHZSPIEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Clock disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Clock enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>C2AHB1SMENR</name>
          <displayName>C2AHB1SMENR</displayName>
          <description>CPU2 AHB1 peripheral clocks enable in Sleep           modes register [dual core device only]</description>
          <addressOffset>0x168</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00001007</resetValue>
          <fields>
            <field>
              <name>DMA1SMEN</name>
              <description>DMA1 clock enable during CPU2 CSleep               mode.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>DMA1SMEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Clock disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Clock enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CRCSMEN</name>
              <description>CRC clock enable during CPU2 CSleep               mode.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DMA1SMEN"/>
            </field>
            <field>
              <name>DMAMUX1SMEN</name>
              <description>DMAMUX1 clock enable during CPU2 CSleep               mode.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DMA1SMEN"/>
            </field>
            <field>
              <name>DMA2SMEN</name>
              <description>DMA2 clock enable during CPU2 CSleep               mode.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="DMA1SMEN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>C2AHB2SMENR</name>
          <displayName>C2AHB2SMENR</displayName>
          <description>CPU2 AHB2 peripheral clocks enable in Sleep           modes register [dual core device only]</description>
          <addressOffset>0x16C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000087</resetValue>
          <fields>
            <field>
              <name>GPIOASMEN</name>
              <description>IO port A clock enable during CPU2               CSleep mode.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>GPIOASMEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Clock disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Clock enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>GPIOHSMEN</name>
              <description>IO port H clock enable during CPU2               CSleep mode.</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOASMEN"/>
            </field>
            <field>
              <name>GPIOCSMEN</name>
              <description>IO port C clock enable during CPU2               CSleep mode.</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOASMEN"/>
            </field>
            <field>
              <name>GPIOBSMEN</name>
              <description>IO port B clock enable during CPU2               CSleep mode.</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="GPIOASMEN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>C2AHB3SMENR</name>
          <displayName>C2AHB3SMENR</displayName>
          <description>CPU2 AHB3 peripheral clocks enable in Sleep           mode register [dual core device only]</description>
          <addressOffset>0x170</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x03870000</resetValue>
          <fields>
            <field>
              <name>PKASMEN</name>
              <description>PKA accelerator clock enable during CPU2               CSleep mode.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>PKASMEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Clock disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Clock enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FLASHSMEN</name>
              <description>Flash interface clock enable during CPU2               CSleep mode.</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PKASMEN"/>
            </field>
            <field>
              <name>SRAM2SMEN</name>
              <description>SRAM2 memory interface clock enable               during CPU2 CSleep mode.</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PKASMEN"/>
            </field>
            <field>
              <name>SRAM1SMEN</name>
              <description>SRAM1 interface clock enable during CPU2               CSleep mode.</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PKASMEN"/>
            </field>
            <field>
              <name>RNGSMEN</name>
              <description>True RNG clock enable during CPU2 CSleep               and CStop mode.</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PKASMEN"/>
            </field>
            <field>
              <name>AESSMEN</name>
              <description>AES accelerator clock enable during CPU2               CSleep mode.</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="PKASMEN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>C2APB1SMENR1</name>
          <displayName>C2APB1SMENR1</displayName>
          <description>CPU2 APB1 peripheral clocks enable in Sleep           mode register 1 [dual core device only]</description>
          <addressOffset>0x178</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0xA0E24401</resetValue>
          <fields>
            <field>
              <name>TIM2SMEN</name>
              <description>TIM2 timer clock enable during CPU2               CSleep mode.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TIM2SMEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Clock disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Clock enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LPTIM1SMEN</name>
              <description>Low power timer 1 clock enable during               CPU2 CSleep and CStop mode</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2SMEN"/>
            </field>
            <field>
              <name>DAC1SMEN</name>
              <description>DAC1 clock enable during CPU2 CSleep               mode.</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2SMEN"/>
            </field>
            <field>
              <name>I2C3SMEN</name>
              <description>I2C3 clock enable during CPU2 CSleep and               CStop modes</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2SMEN"/>
            </field>
            <field>
              <name>I2C2SMEN</name>
              <description>I2C2 clock enable during CPU2 CSleep and               CStop modes</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2SMEN"/>
            </field>
            <field>
              <name>I2C1SMEN</name>
              <description>I2C1 clock enable during CPU2 CSleep and               CStop modes</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2SMEN"/>
            </field>
            <field>
              <name>USART2SMEN</name>
              <description>USART2 clock enable during CPU2 CSleep               mode.</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2SMEN"/>
            </field>
            <field>
              <name>SPI2S2SMEN</name>
              <description>SPI2S2 clock enable during CPU2 CSleep               mode.</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2SMEN"/>
            </field>
            <field>
              <name>RTCAPBSMEN</name>
              <description>RTC bus clock enable during CPU2 CSleep               mode.</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TIM2SMEN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>C2APB1SMENR2</name>
          <displayName>C2APB1SMENR2</displayName>
          <description>CPU2 APB1 peripheral clocks enable in Sleep           mode register 2 [dual core device only]</description>
          <addressOffset>0x17C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000061</resetValue>
          <fields>
            <field>
              <name>LPUART1SMEN</name>
              <description>Low power UART 1 clock enable during               CPU2 CSleep and CStop mode</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>LPUART1SMEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Clock disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Clock enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LPTIM3SMEN</name>
              <description>Low power timer 3 clocks enable during               CPU2 CSleep and CStop modes.</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="LPUART1SMEN"/>
            </field>
            <field>
              <name>LPTIM2SMEN</name>
              <description>Low power timer 2 clocks enable during               CPU2 CSleep and CStop modes.</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="LPUART1SMEN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>C2APB2SMENR</name>
          <displayName>C2APB2SMENR</displayName>
          <description>CPU2 APB2 peripheral clocks enable in Sleep           mode register [dual core device only]</description>
          <addressOffset>0x180</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00065A00</resetValue>
          <fields>
            <field>
              <name>ADCSMEN</name>
              <description>ADC clocks enable during CPU2 Csleep and               CStop modes</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ADCSMEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Clock disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Clock enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TIM17SMEN</name>
              <description>TIM17 timer clock enable during CPU2               CSleep mode</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="ADCSMEN"/>
            </field>
            <field>
              <name>TIM16SMEN</name>
              <description>TIM16 timer clock enable during CPU2               CSleep mode</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="ADCSMEN"/>
            </field>
            <field>
              <name>USART1SMEN</name>
              <description>USART1clock enable during CPU2 CSleep               and CStop mode</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="ADCSMEN"/>
            </field>
            <field>
              <name>SPI1SMEN</name>
              <description>SPI1 clock enable during CPU2 CSleep               mode</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="ADCSMEN"/>
            </field>
            <field>
              <name>TIM1SMEN</name>
              <description>TIM1 timer clock enable during CPU2               CSleep mode</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="ADCSMEN"/>
            </field>
          </fields>
        </register>
        <register>
          <name>C2APB3SMENR</name>
          <displayName>C2APB3SMENR</displayName>
          <description>CPU2 APB3 peripheral clock enable in Sleep           mode register [dual core device only]</description>
          <addressOffset>0x184</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000001</resetValue>
          <fields>
            <field>
              <name>SUBGHZSPISMEN</name>
              <description>sub-GHz radio SPI clock enable during CPU2 CSleep and CStop modes</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SUBGHZSPISMEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Clock disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Clock enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>RNG</name>
      <description>True random number generator</description>
      <groupName>RNG</groupName>
      <baseAddress>0x58001000</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>True_RNG</name>
        <description>True random number generator
        interrupt</description>
        <value>52</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>0x00800000</resetValue>
          <fields>
            <field>
              <name>RNGEN</name>
              <description>True 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>Interrupt Enable</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>RNG_CONFIG3</name>
              <description>RNG_CONFIG3</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>
            <field>
              <name>NISTC</name>
              <description>NISTC</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_CONFIG2</name>
              <description>RNG_CONFIG2</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>CLKDIV</name>
              <description>CLKDIV</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_CONFIG1</name>
              <description>RNG_CONFIG1</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>CONDRST</name>
              <description>Conditioning soft reset</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>CONFIGLOCK</name>
              <description>CONFIGLOCK</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>
          </fields>
        </register>
        <register>
          <name>SR</name>
          <displayName>SR</displayName>
          <description>status register</description>
          <addressOffset>0x4</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CEIS</name>
              <description>Clock error interrupt               status</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</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>
            <field>
              <name>SECS</name>
              <description>Seed error current status</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>CECS</name>
              <description>Clock error current status</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>DRDY</name>
              <description>Data Ready</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>
          </fields>
        </register>
        <register>
          <name>DR</name>
          <displayName>DR</displayName>
          <description>data register</description>
          <addressOffset>0x8</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>RNDATA</name>
              <description>Random data</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4294967295</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>HTCR</name>
          <displayName>HTCR</displayName>
          <description>health test control register</description>
          <addressOffset>0x10</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <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>Real-time clock</description>
      <groupName>RTC</groupName>
      <baseAddress>0x40002800</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>TAMP_RTCSTAMP_LSECSS_RTCSSRU</name>
        <description>Tamper, TimeStamp, LSECSS,RTC_SSRU interrupt</description>
        <value>2</value>
      </interrupt>
      <interrupt>
        <name>RTC_WKUP</name>
        <description>RTC wakeup interrupt</description>
        <value>3</value>
      </interrupt>
      <interrupt>
        <name>RTC_ALARM</name>
        <description>RTC alarms A and B interrupt</description>
        <value>42</value>
      </interrupt>
      <registers>
        <register>
          <name>TR</name>
          <displayName>TR</displayName>
          <description>Time register</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>PM</name>
              <description>AM/PM notation</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>PM</name>
                <enumeratedValue>
                  <name>AM</name>
                  <description>AM or 24-hour format</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PM</name>
                  <description>PM</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>HT</name>
              <description>Hour tens in BCD format</description>
              <bitOffset>20</bitOffset>
              <bitWidth>2</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>3</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>HU</name>
              <description>Hour units in BCD format</description>
              <bitOffset>16</bitOffset>
              <bitWidth>4</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>MNT</name>
              <description>Minute tens in BCD format</description>
              <bitOffset>12</bitOffset>
              <bitWidth>3</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>7</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>MNU</name>
              <description>Minute units in BCD format</description>
              <bitOffset>8</bitOffset>
              <bitWidth>4</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>ST</name>
              <description>Second tens in BCD format</description>
              <bitOffset>4</bitOffset>
              <bitWidth>3</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>7</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>SU</name>
              <description>Second units in BCD format</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>DR</name>
          <displayName>DR</displayName>
          <description>Date register</description>
          <addressOffset>0x4</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00002101</resetValue>
          <fields>
            <field>
              <name>YT</name>
              <description>Year tens in BCD format</description>
              <bitOffset>20</bitOffset>
              <bitWidth>4</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>YU</name>
              <description>Year units in BCD format</description>
              <bitOffset>16</bitOffset>
              <bitWidth>4</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>WDU</name>
              <description>Week day units</description>
              <bitOffset>13</bitOffset>
              <bitWidth>3</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>1</minimum>
                  <maximum>7</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>MT</name>
              <description>Month tens in BCD format</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>1</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>MU</name>
              <description>Month units in BCD format</description>
              <bitOffset>8</bitOffset>
              <bitWidth>4</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>DT</name>
              <description>Date tens in BCD format</description>
              <bitOffset>4</bitOffset>
              <bitWidth>2</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>3</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>DU</name>
              <description>Date units in BCD format</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>SSR</name>
          <displayName>SSR</displayName>
          <description>Sub second register</description>
          <addressOffset>0x8</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>SS</name>
              <description>Synchronous binary counter</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>ICSR</name>
          <displayName>ICSR</displayName>
          <description>Initialization control and status register</description>
          <addressOffset>0xC</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000007</resetValue>
          <fields>
            <field>
              <name>RECALPF</name>
              <description>Recalibration pending Flag</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>RECALPFR</name>
                <enumeratedValue>
                  <name>Pending</name>
                  <description>The RECALPF status flag is automatically set to 1 when software writes to the RTC_CALR register, indicating that the RTC_CALR register is blocked. When the new calibration settings are taken into account, this bit returns to 0</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BCDU</name>
              <description>BCD update</description>
              <bitOffset>10</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>BCDU</name>
                <enumeratedValue>
                  <name>Bit7</name>
                  <description>1s increment each time SS[7:0]=0</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bit8</name>
                  <description>1s increment each time SS[8:0]=0</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bit9</name>
                  <description>1s increment each time SS[9:0]=0</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bit10</name>
                  <description>1s increment each time SS[10:0]=0</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bit11</name>
                  <description>1s increment each time SS[11:0]=0</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bit12</name>
                  <description>1s increment each time SS[12:0]=0</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bit13</name>
                  <description>1s increment each time SS[13:0]=0</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bit14</name>
                  <description>1s increment each time SS[14:0]=0</description>
                  <value>7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BIN</name>
              <description>Binary mode</description>
              <bitOffset>8</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>BIN</name>
                <enumeratedValue>
                  <name>BCD</name>
                  <description>Free running BCD calendar mode (Binary mode disabled)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Binary</name>
                  <description>Free running Binary mode (BCD mode disabled)</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>BinBCD</name>
                  <description>Free running BCD calendar and Binary modes</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>BinBCD2</name>
                  <description>Free running BCD calendar and Binary modes</description>
                  <value>3</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>INITF</name>
              <description>Initialization flag</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>RSF</name>
              <description>Registers synchronization               flag</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>INITS</name>
              <description>Initialization status flag</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>SHPF</name>
              <description>Shift operation pending</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>WUTWF</name>
              <description>Wakeup timer write flag</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>
          </fields>
        </register>
        <register>
          <name>PRER</name>
          <displayName>PRER</displayName>
          <description>Pre-scaler register</description>
          <addressOffset>0x10</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x007F00FF</resetValue>
          <fields>
            <field>
              <name>PREDIV_A</name>
              <description>Asynchronous prescaler               factor</description>
              <bitOffset>16</bitOffset>
              <bitWidth>7</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>127</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>PREDIV_S</name>
              <description>Synchronous prescaler               factor</description>
              <bitOffset>0</bitOffset>
              <bitWidth>15</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>32767</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>WUTR</name>
          <displayName>WUTR</displayName>
          <description>Wakeup timer register</description>
          <addressOffset>0x14</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x0000FFFF</resetValue>
          <fields>
            <field>
              <name>WUTOCLR</name>
              <description>Wakeup auto-reload output clear value</description>
              <bitOffset>16</bitOffset>
              <bitWidth>16</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>WUT</name>
              <description>Wakeup auto-reload value               bits</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>CR</name>
          <displayName>CR</displayName>
          <description>Control register</description>
          <addressOffset>0x18</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>OUT2EN</name>
              <description>RTC_OUT2 output enable</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>
            <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>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>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>TAMPTS</name>
              <description>Activate timestamp on tamper detection               event</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>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>COE</name>
              <description>Calibration output enable</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>OSEL</name>
              <description>Output selection</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>POL</name>
              <description>Output polarity</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>COSEL</name>
              <description>Calibration output               selection</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>BKP</name>
              <description>Backup</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>SUB1H</name>
              <description>Subtract 1 hour (winter time               change)</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>ADD1H</name>
              <description>Add 1 hour (summer time               change)</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>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>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>
              <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>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>
              <name>WUTE</name>
              <description>Wakeup timer enable</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>WUTE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Wakeup timer disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Wakeup timer enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <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>SSRUIE</name>
              <description>SSR underflow interrupt enable</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>SSRUIE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>SSR underflow interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>SSR underflow interrupt enabled</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>
              <name>BYPSHAD</name>
              <description>Bypass the shadow               registers</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>REFCKON</name>
              <description>RTC_REFIN reference clock detection               enable (50 or 60 Hz)</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>TSEDGE</name>
              <description>Timestamp event active               edge</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>WUCKSEL</name>
              <description>Wakeup clock selection</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>WUCKSEL</name>
                <enumeratedValue>
                  <name>Div16</name>
                  <description>RTC/16 clock is selected</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div8</name>
                  <description>RTC/8 clock is selected</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div4</name>
                  <description>RTC/4 clock is selected</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div2</name>
                  <description>RTC/2 clock is selected</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ClockSpare</name>
                  <description>ck_spre (usually 1 Hz) clock is selected</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ClockSpareWithOffset</name>
                  <description>ck_spre (usually 1 Hz) clock is selected and 2^16 is added to the WUT counter value</description>
                  <value>6</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>WPR</name>
          <displayName>WPR</displayName>
          <description>Write protection register</description>
          <addressOffset>0x24</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>KEY</name>
              <description>Write protection key</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <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>Calibration register</description>
          <addressOffset>0x28</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CALP</name>
              <description>Use an 8-second calibration cycle               period</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CALP</name>
                <enumeratedValue>
                  <name>NoChange</name>
                  <description>No RTCCLK pulses are added</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>IncreaseFreq</name>
                  <description>One RTCCLK pulse is effectively inserted every 2^11 pulses (frequency increased by 488.5 ppm)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CALW8</name>
              <description>Use a 16-second calibration cycle               period</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <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>CALW16</name>
              <description>CALW16</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <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>LPCAL</name>
              <description>Calibration low-power mode</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>LPCAL</name>
                <enumeratedValue>
                  <name>RTCCLK</name>
                  <description>Calibration window is 220 RTCCLK, which is a high-consumption mode. This mode should be set only when less than 32s calibration window is required</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CkApre</name>
                  <description>Calibration window is 220 ck_apre, which is the required configuration for ultra-low consumption mode</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CALM</name>
              <description>Calibration minus</description>
              <bitOffset>0</bitOffset>
              <bitWidth>9</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>511</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>SHIFTR</name>
          <displayName>SHIFTR</displayName>
          <description>Shift control register</description>
          <addressOffset>0x2C</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>ADD1S</name>
              <description>Add one second</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ADD1SW</name>
                <enumeratedValue>
                  <name>Add1</name>
                  <description>Add one second to the clock/calendar</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SUBFS</name>
              <description>Subtract a fraction of a               second</description>
              <bitOffset>0</bitOffset>
              <bitWidth>15</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>32767</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>TSTR</name>
          <displayName>TSTR</displayName>
          <description>Timestamp time register</description>
          <addressOffset>0x30</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>PM</name>
              <description>AM/PM notation</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>PM</name>
                <enumeratedValue>
                  <name>AM</name>
                  <description>AM or 24-hour format</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PM</name>
                  <description>PM</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>HT</name>
              <description>Hour tens in BCD format.</description>
              <bitOffset>20</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>HU</name>
              <description>Hour units in BCD format.</description>
              <bitOffset>16</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>MNT</name>
              <description>Minute tens in BCD format.</description>
              <bitOffset>12</bitOffset>
              <bitWidth>3</bitWidth>
            </field>
            <field>
              <name>MNU</name>
              <description>Minute units in BCD               format.</description>
              <bitOffset>8</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>ST</name>
              <description>Second tens in BCD format.</description>
              <bitOffset>4</bitOffset>
              <bitWidth>3</bitWidth>
            </field>
            <field>
              <name>SU</name>
              <description>Second units in BCD               format.</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>TSDR</name>
          <displayName>TSDR</displayName>
          <description>Timestamp date register</description>
          <addressOffset>0x34</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>WDU</name>
              <description>Week day units</description>
              <bitOffset>13</bitOffset>
              <bitWidth>3</bitWidth>
            </field>
            <field>
              <name>MT</name>
              <description>Month tens in BCD format</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>MU</name>
              <description>Month units in BCD format</description>
              <bitOffset>8</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
            <field>
              <name>DT</name>
              <description>Date tens in BCD format</description>
              <bitOffset>4</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>DU</name>
              <description>Date units in BCD format</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>TSSSR</name>
          <displayName>TSSSR</displayName>
          <description>Timestamp sub second register</description>
          <addressOffset>0x38</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>SS</name>
              <description>Sub second value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
            </field>
          </fields>
        </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>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>MSK1</name>
              <description>Alarm seconds mask</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>MSK1</name>
                <enumeratedValue>
                  <name>Mask</name>
                  <description>Alarm set if the date/day match</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>NotMask</name>
                  <description>Date/day don’t care in Alarm comparison</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MSK4</name>
              <description>Alarm date mask</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MSK1"/>
            </field>
            <field>
              <name>WDSEL</name>
              <description>Week day selection</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>WDSEL</name>
                <enumeratedValue>
                  <name>DateUnits</name>
                  <description>DU[3:0] represents the date units</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>WeekDay</name>
                  <description>DU[3:0] represents the week day. DT[1:0] is don’t care.</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DT</name>
              <description>Date tens in BCD format</description>
              <bitOffset>28</bitOffset>
              <bitWidth>2</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>3</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>DU</name>
              <description>Date units or day in BCD format</description>
              <bitOffset>24</bitOffset>
              <bitWidth>4</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>MSK3</name>
              <description>Alarm hours mask</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MSK1"/>
            </field>
            <field>
              <name>PM</name>
              <description>AM/PM notation</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>PM</name>
                <enumeratedValue>
                  <name>AM</name>
                  <description>AM or 24-hour format</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PM</name>
                  <description>PM</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>HT</name>
              <description>Hour tens in BCD format</description>
              <bitOffset>20</bitOffset>
              <bitWidth>2</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>3</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>HU</name>
              <description>Hour units in BCD format</description>
              <bitOffset>16</bitOffset>
              <bitWidth>4</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>MSK2</name>
              <description>Alarm minutes mask</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="MSK1"/>
            </field>
            <field>
              <name>MNT</name>
              <description>Minute tens in BCD format</description>
              <bitOffset>12</bitOffset>
              <bitWidth>3</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>7</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>MNU</name>
              <description>Minute units in BCD format</description>
              <bitOffset>8</bitOffset>
              <bitWidth>4</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>ST</name>
              <description>Second tens in BCD format</description>
              <bitOffset>4</bitOffset>
              <bitWidth>3</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>7</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>SU</name>
              <description>Second units in BCD format</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>15</maximum>
                </range>
              </writeConstraint>
            </field>
          </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>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>SSCLR</name>
              <description>Clear synchronous counter on alarm (Binary mode only)</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SSCLR</name>
                <enumeratedValue>
                  <name>FreeRunning</name>
                  <description>The synchronous binary counter (SS[31:0] in RTC_SSR) is free-running</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ALRMBINR</name>
                  <description>The synchronous binary counter (SS[31:0] in RTC_SSR) is running from 0xFFFF FFFF to RTC_ALRMABINR → SS[31:0] value and is automatically reloaded with 0xFFFF FFFF when reaching RTC_ALRMABINR → SS[31:0]</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MASKSS</name>
              <description>Mask the most-significant bits starting               at this bit</description>
              <bitOffset>24</bitOffset>
              <bitWidth>6</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>63</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>SS</name>
              <description>Sub seconds value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>15</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>32767</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>SR</name>
          <displayName>SR</displayName>
          <description>Status register (interrupts)</description>
          <addressOffset>0x50</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>SSRUF</name>
              <description>SSR underflow flag</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SSRUF</name>
                <enumeratedValue>
                  <name>Underflow</name>
                  <description>This flag is set by hardware when the SSR rolls under 0. SSRUF is not set when SSCLR=1</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ITSF</name>
              <description>Internal timestamp flag</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <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>
            <field>
              <name>TSOVF</name>
              <description>Timestamp overflow flag</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <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>TSF</name>
              <description>Timestamp flag</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <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>WUTF</name>
              <description>Wakeup timer flag</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <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>
              <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>
              <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>
          </fields>
        </register>
        <register>
          <name>MISR</name>
          <displayName>MISR</displayName>
          <description>Masked interrupt status register</description>
          <addressOffset>0x54</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>SSRUMF</name>
              <description>SSR underflow masked flag</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SSRUMF</name>
                <enumeratedValue>
                  <name>Underflow</name>
                  <description>This flag is set by hardware when the SSR rolls under 0. SSRUF is not set when SSCLR=1</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ITSMF</name>
              <description>Internal timestamp masked               flag</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <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>
            <field>
              <name>TSOVMF</name>
              <description>Timestamp overflow masked               flag</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <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>TSMF</name>
              <description>Timestamp masked flag</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <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>WUTMF</name>
              <description>Wakeup timer masked flag</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <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>
              <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>
              <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>
          </fields>
        </register>
        <register>
          <name>SCR</name>
          <displayName>SCR</displayName>
          <description>Status clear register (interrupts)</description>
          <addressOffset>0x5C</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CALRAF</name>
              <description>Clear alarm A flag</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CALRAF</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear interrupt flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CSSRUF</name>
              <description>Clear SSR underflow flag</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CALRAF"/>
            </field>
            <field>
              <name>CITSF</name>
              <description>Clear internal timestamp               flag</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CALRAF"/>
            </field>
            <field>
              <name>CTSOVF</name>
              <description>Clear timestamp overflow               flag</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CALRAF"/>
            </field>
            <field>
              <name>CTSF</name>
              <description>Clear timestamp flag</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CALRAF"/>
            </field>
            <field>
              <name>CWUTF</name>
              <description>Clear wakeup timer flag</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CALRAF"/>
            </field>
            <field>
              <name>CALRBF</name>
              <description>Clear alarm B flag</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CALRAF"/>
            </field>
          </fields>
        </register>
        <register>
          <dim>2</dim>
          <dimIncrement>0x4</dimIncrement>
          <dimIndex>A,B</dimIndex>
          <name>ALR%sBINR</name>
          <displayName>ALR%sBINR</displayName>
          <description>Alarm %s binary mode register</description>
          <addressOffset>0x70</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>SS</name>
              <description>Synchronous counter alarm value in               Binary mode</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4294967295</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>SPI1</name>
      <description>Serial peripheral interface/Inter-IC       sound</description>
      <groupName>SPI</groupName>
      <baseAddress>0x40013000</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>SPI1</name>
        <description>SPI 1 global interrupt</description>
        <value>34</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>BIDIMODE</name>
              <description>Bidirectional data mode               enable</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>BIDIMODE</name>
                <enumeratedValue>
                  <name>Unidirectional</name>
                  <description>2-line unidirectional data mode selected</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bidirectional</name>
                  <description>1-line bidirectional data mode selected</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BIDIOE</name>
              <description>Output enable in bidirectional               mode</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>BIDIOE</name>
                <enumeratedValue>
                  <name>OutputDisabled</name>
                  <description>Output disabled (receive-only mode)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OutputEnabled</name>
                  <description>Output enabled (transmit-only mode)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CRCEN</name>
              <description>Hardware CRC calculation               enable</description>
              <bitOffset>13</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>CRCNEXT</name>
              <description>CRC transfer next</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CRCNEXT</name>
                <enumeratedValue>
                  <name>TxBuffer</name>
                  <description>Next transmit value is from Tx buffer</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CRC</name>
                  <description>Next transmit value is from Tx CRC register</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CRCL</name>
              <description>CRC length</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CRCL</name>
                <enumeratedValue>
                  <name>EightBit</name>
                  <description>8-bit CRC length</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SixteenBit</name>
                  <description>16-bit CRC length</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RXONLY</name>
              <description>Receive only</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RXONLY</name>
                <enumeratedValue>
                  <name>FullDuplex</name>
                  <description>Full duplex (Transmit and receive)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>OutputDisabled</name>
                  <description>Output disabled (Receive-only mode)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SSM</name>
              <description>Software slave management</description>
              <bitOffset>9</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>SSI</name>
              <description>Internal slave select</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SSI</name>
                <enumeratedValue>
                  <name>SlaveSelected</name>
                  <description>0 is forced onto the NSS pin and the I/O value of the NSS pin is ignored</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SlaveNotSelected</name>
                  <description>1 is forced onto the NSS pin and the I/O value of the NSS pin is ignored</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LSBFIRST</name>
              <description>Frame format</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>LSBFIRST</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>SPE</name>
              <description>SPI enable</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <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>
            <field>
              <name>BR</name>
              <description>Baud rate control</description>
              <bitOffset>3</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>BR</name>
                <enumeratedValue>
                  <name>Div2</name>
                  <description>f_PCLK / 2</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div4</name>
                  <description>f_PCLK / 4</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div8</name>
                  <description>f_PCLK / 8</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div16</name>
                  <description>f_PCLK / 16</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div32</name>
                  <description>f_PCLK / 32</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div64</name>
                  <description>f_PCLK / 64</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div128</name>
                  <description>f_PCLK / 128</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Div256</name>
                  <description>f_PCLK / 256</description>
                  <value>7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MSTR</name>
              <description>Master selection</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>MSTR</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>CPOL</name>
              <description>Clock polarity</description>
              <bitOffset>1</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>0</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>
          </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>RXDMAEN</name>
              <description>Rx buffer DMA enable</description>
              <bitOffset>0</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>TXDMAEN</name>
              <description>Tx buffer DMA enable</description>
              <bitOffset>1</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>SSOE</name>
              <description>SS output enable</description>
              <bitOffset>2</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>NSSP</name>
              <description>NSS pulse management</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>NSSP</name>
                <enumeratedValue>
                  <name>NoPulse</name>
                  <description>No NSS pulse</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PulseGenerated</name>
                  <description>NSS pulse generated</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FRF</name>
              <description>Frame format</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>FRF</name>
                <enumeratedValue>
                  <name>Motorola</name>
                  <description>SPI Motorola mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TI</name>
                  <description>SPI TI mode</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ERRIE</name>
              <description>Error interrupt enable</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ERRIE</name>
                <enumeratedValue>
                  <name>Masked</name>
                  <description>Error interrupt masked</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>NotMasked</name>
                  <description>Error interrupt not masked</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>RXNEIE</name>
              <description>RX buffer not empty interrupt               enable</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RXNEIE</name>
                <enumeratedValue>
                  <name>Masked</name>
                  <description>RXE interrupt masked</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>NotMasked</name>
                  <description>RXE interrupt not masked</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TXEIE</name>
              <description>Tx buffer empty interrupt               enable</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TXEIE</name>
                <enumeratedValue>
                  <name>Masked</name>
                  <description>TXE interrupt masked</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>NotMasked</name>
                  <description>TXE interrupt not masked</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DS</name>
              <description>Data size</description>
              <bitOffset>8</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues>
                <name>DS</name>
                <enumeratedValue>
                  <name>FourBit</name>
                  <description>4-bit</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FiveBit</name>
                  <description>5-bit</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SixBit</name>
                  <description>6-bit</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SevenBit</name>
                  <description>7-bit</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>EightBit</name>
                  <description>8-bit</description>
                  <value>7</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>NineBit</name>
                  <description>9-bit</description>
                  <value>8</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TenBit</name>
                  <description>10-bit</description>
                  <value>9</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ElevenBit</name>
                  <description>11-bit</description>
                  <value>10</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TwelveBit</name>
                  <description>12-bit</description>
                  <value>11</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ThirteenBit</name>
                  <description>13-bit</description>
                  <value>12</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FourteenBit</name>
                  <description>14-bit</description>
                  <value>13</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FifteenBit</name>
                  <description>15-bit</description>
                  <value>14</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SixteenBit</name>
                  <description>16-bit</description>
                  <value>15</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FRXTH</name>
              <description>FIFO reception threshold</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>FRXTH</name>
                <enumeratedValue>
                  <name>Half</name>
                  <description>RXNE event is generated if the FIFO level is greater than or equal to 1/2 (16-bit)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Quarter</name>
                  <description>RXNE event is generated if the FIFO level is greater than or equal to 1/4 (8-bit)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LDMA_RX</name>
              <description>Last DMA transfer for               reception</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>LDMA_RX</name>
                <enumeratedValue>
                  <name>Even</name>
                  <description>Number of data to transfer for receive is even</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Odd</name>
                  <description>Number of data to transfer for receive is odd</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>LDMA_TX</name>
              <description>Last DMA transfer for               transmission</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>LDMA_TX</name>
                <enumeratedValue>
                  <name>Even</name>
                  <description>Number of data to transfer for transmit is even</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Odd</name>
                  <description>Number of data to transfer for transmit is odd</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>
          <resetValue>0x00000002</resetValue>
          <fields>
            <field>
              <name>RXNE</name>
              <description>Receive buffer not empty</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>RXNE</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>
            <field>
              <name>TXE</name>
              <description>Transmit buffer empty</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>TXE</name>
                <enumeratedValue>
                  <name>NotEmpty</name>
                  <description>Tx buffer not empty</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Empty</name>
                  <description>Tx buffer empty</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CHSIDE</name>
              <description>CHSIDE</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>CHSIDE</name>
                <enumeratedValue>
                  <name>Left</name>
                  <description>Channel left has to be transmitted or has been received</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Right</name>
                  <description>Channel right has to be transmitted or has been received</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>UDR</name>
              <description>UDR</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>UDRR</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>CRCERR</name>
              <description>CRC error flag</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <modifiedWriteValues>zeroToClear</modifiedWriteValues>
              <enumeratedValues>
                <name>CRCERRR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Match</name>
                  <description>CRC value received matches the SPIx_RXCRCR value</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>NoMatch</name>
                  <description>CRC value received does not match the SPIx_RXCRCR value</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>CRCERRW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear flag</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>MODF</name>
              <description>Mode fault</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>MODFR</name>
                <enumeratedValue>
                  <name>NoFault</name>
                  <description>No mode fault occurred</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Fault</name>
                  <description>Mode fault occurred</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>OVR</name>
              <description>Overrun flag</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>OVRR</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>BSY</name>
              <description>Busy flag</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>BSYR</name>
                <enumeratedValue>
                  <name>NotBusy</name>
                  <description>SPI not busy</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Busy</name>
                  <description>SPI busy</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FRE</name>
              <description>Frame format error</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>FRER</name>
                <enumeratedValue>
                  <name>NoError</name>
                  <description>No frame format error</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Error</name>
                  <description>A frame format error occurred</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FRLVL</name>
              <description>FIFO reception level</description>
              <bitOffset>9</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>FRLVLR</name>
                <enumeratedValue>
                  <name>Empty</name>
                  <description>Rx FIFO Empty</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Quarter</name>
                  <description>Rx 1/4 FIFO</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Half</name>
                  <description>Rx 1/2 FIFO</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Full</name>
                  <description>Rx FIFO full</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>FTLVL</name>
              <description>FIFO transmission level</description>
              <bitOffset>11</bitOffset>
              <bitWidth>2</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>FTLVLR</name>
                <enumeratedValue>
                  <name>Empty</name>
                  <description>Tx FIFO Empty</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Quarter</name>
                  <description>Tx 1/4 FIFO</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Half</name>
                  <description>Tx 1/2 FIFO</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Full</name>
                  <description>Tx FIFO full</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>DR</name>
          <displayName>DR</displayName>
          <description>data register</description>
          <addressOffset>0xC</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DR</name>
              <description>Data register</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>DR8</name>
          <description>Direct 8-bit access to data register</description>
          <alternateRegister>DR</alternateRegister>
          <addressOffset>0xC</addressOffset>
          <size>0x8</size>
          <access>read-write</access>
          <fields>
            <field>
              <name>DR</name>
              <description>Data register</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>CRCPR</name>
          <displayName>CRCPR</displayName>
          <description>CRC polynomial register</description>
          <addressOffset>0x10</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000007</resetValue>
          <fields>
            <field>
              <name>CRCPOLY</name>
              <description>CRC polynomial register</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>RXCRCR</name>
          <displayName>RXCRCR</displayName>
          <description>RX CRC register</description>
          <addressOffset>0x14</addressOffset>
          <size>0x10</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>RxCRC</name>
              <description>Rx CRC register</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>TXCRCR</name>
          <displayName>TXCRCR</displayName>
          <description>TX CRC register</description>
          <addressOffset>0x18</addressOffset>
          <size>0x10</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TxCRC</name>
              <description>Tx CRC register</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>I2SCFGR</name>
          <displayName>I2SCFGR</displayName>
          <description>configuration register</description>
          <addressOffset>0x1C</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CHLEN</name>
              <description>CHLEN</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CHLEN</name>
                <enumeratedValue>
                  <name>SixteenBit</name>
                  <description>16-bit wide</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ThirtyTwoBit</name>
                  <description>32-bit wide</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>DATLEN</name>
              <description>DATLEN</description>
              <bitOffset>1</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>DATLEN</name>
                <enumeratedValue>
                  <name>SixteenBit</name>
                  <description>16-bit data length</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TwentyFourBit</name>
                  <description>24-bit data length</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ThirtyTwoBit</name>
                  <description>32-bit data length</description>
                  <value>2</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CKPOL</name>
              <description>CKPOL</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CKPOL</name>
                <enumeratedValue>
                  <name>IdleLow</name>
                  <description>I2S clock inactive state is low level</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>IdleHigh</name>
                  <description>I2S clock inactive state is high level</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>I2SSTD</name>
              <description>I2SSTD</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>MSB</name>
                  <description>MSB justified standard</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LSB</name>
                  <description>LSB justified standard</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PCM</name>
                  <description>PCM standard</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PCMSYNC</name>
              <description>PCMSYNC</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>PCMSYNC</name>
                <enumeratedValue>
                  <name>Short</name>
                  <description>Short frame synchronisation</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Long</name>
                  <description>Long frame synchronisation</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>I2SCFG</name>
              <description>I2SCFG</description>
              <bitOffset>8</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>I2SCFG</name>
                <enumeratedValue>
                  <name>SlaveTx</name>
                  <description>Slave - transmit</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SlaveRx</name>
                  <description>Slave - receive</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>MasterTx</name>
                  <description>Master - transmit</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>MasterRx</name>
                  <description>Master - receive</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>I2SE</name>
              <description>I2SE</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>I2SE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>I2S peripheral is disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>I2S peripheral is enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>I2SMOD</name>
              <description>I2SMOD</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>I2SMOD</name>
                <enumeratedValue>
                  <name>SPIMode</name>
                  <description>SPI mode is selected</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>I2SMode</name>
                  <description>I2S mode is selected</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ASTRTEN</name>
              <description>ASTRTEN</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ASTRTEN</name>
                <enumeratedValue>
                  <name>AsyncStartDisabled</name>
                  <description>Asynchronous start disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>AsyncStartEnabled</name>
                  <description>Asynchronous start enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>I2SPR</name>
          <displayName>I2SPR</displayName>
          <description>prescaler register</description>
          <addressOffset>0x20</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000002</resetValue>
          <fields>
            <field>
              <name>I2SDIV</name>
              <description>I2SDIV</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>2</minimum>
                  <maximum>255</maximum>
                </range>
              </writeConstraint>
            </field>
            <field>
              <name>ODD</name>
              <description>ODD</description>
              <bitOffset>8</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>MCKOE</name>
              <description>MCKOE</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>MCKOE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Master clock output is disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Master clock output is enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral derivedFrom="SPI1">
      <name>SPI2</name>
      <baseAddress>0x40003800</baseAddress>
      <interrupt>
        <name>SPI2S2</name>
        <description>SPI2S2 global interrupt</description>
        <value>35</value>
      </interrupt>
    </peripheral>
    <peripheral derivedFrom="SPI1">
      <name>SPI3</name>
      <baseAddress>0x58010000</baseAddress>
      <interrupt>
        <name>SUBGHZSPI</name>
        <description>Sub-GHz radio SPI global interrupt</description>
        <value>44</value>
      </interrupt>
    </peripheral>
    <peripheral>
      <name>SYSCFG</name>
      <description>System configuration controller</description>
      <groupName>SYSCFG</groupName>
      <baseAddress>0x40010000</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x30</size>
        <usage>registers</usage>
      </addressBlock>
      <registers>
        <register>
          <name>MEMRMP</name>
          <displayName>MEMRMP</displayName>
          <description>memory remap register</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>MEM_MODE</name>
              <description>Memory mapping selection</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>MEM_MODE</name>
                <enumeratedValue>
                  <name>MainFlash</name>
                  <description>Main Flash memory mapped at 0x0000_0000</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SystemFlash</name>
                  <description>System Flash memory mapped at 0x0000_0000</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>SRAM</name>
                  <description>Embedded SRAM mapped at 0x0000_0000</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CFGR1</name>
          <displayName>CFGR1</displayName>
          <description>configuration register 1</description>
          <addressOffset>0x4</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x7C000001</resetValue>
          <fields>
            <field>
              <name>I2C3_FMP</name>
              <description>I2C3 Fast-mode Plus driving capability               activation</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>I2C3_FMP</name>
                <enumeratedValue>
                  <name>Standard</name>
                  <description>FM+ mode is controlled by I2C_Pxx_FMP bits only</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FMP</name>
                  <description>FM+ mode is enabled on all I2C3 pins selected through selection bits in GPIOx_AFR registers</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>I2C2_FMP</name>
              <description>I2C2 Fast-mode Plus driving capability               activation</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>I2C2_FMP</name>
                <enumeratedValue>
                  <name>Standard</name>
                  <description>FM+ mode is controlled by I2C_Pxx_FMP bits only</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FMP</name>
                  <description>FM+ mode is enabled on all I2C2 pins selected through selection bits in GPIOx_AFR registers</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>I2C1_FMP</name>
              <description>I2C1 Fast-mode Plus driving capability               activation</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>I2C1_FMP</name>
                <enumeratedValue>
                  <name>Standard</name>
                  <description>FM+ mode is controlled by I2C_Pxx_FMP bits only</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FMP</name>
                  <description>FM+ mode is enabled on all I2C1 pins selected through selection bits in GPIOx_AFR registers</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>I2C_PB9_FMP</name>
              <description>Fast-mode Plus (Fm+) driving capability               activation on PB9</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>I2C_PB9_FMP</name>
                <enumeratedValue>
                  <name>Standard</name>
                  <description>PB9 pin operate in standard mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FMP</name>
                  <description>I2C FM+ mode enabled on PB9 and the Speed control is bypassed</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>I2C_PB8_FMP</name>
              <description>Fast-mode Plus (Fm+) driving capability               activation on PB8</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>I2C_PB8_FMP</name>
                <enumeratedValue>
                  <name>Standard</name>
                  <description>PB8 pin operate in standard mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FMP</name>
                  <description>I2C FM+ mode enabled on PB8 and the Speed control is bypassed</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>I2C_PB7_FMP</name>
              <description>Fast-mode Plus (Fm+) driving capability               activation on PB7</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>I2C_PB7_FMP</name>
                <enumeratedValue>
                  <name>Standard</name>
                  <description>PB7 pin operate in standard mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FMP</name>
                  <description>I2C FM+ mode enabled on PB7 and the Speed control is bypassed</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>I2C_PB6_FMP</name>
              <description>Fast-mode Plus (Fm+) driving capability               activation on PB6</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>I2C_PB6_FMP</name>
                <enumeratedValue>
                  <name>Standard</name>
                  <description>PB6 pin operate in standard mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FMP</name>
                  <description>I2C FM+ mode enabled on PB6 and the Speed control is bypassed</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BOOSTEN</name>
              <description>I/O analog switch voltage booster               enable</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>BOOSTEN</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>I/O analog switches are supplied by VDDA voltage. This is the recommended configuration when using the ADC in high VDDA voltage operation</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>I/O analog switches are supplied by a dedicated voltage booster (supplied by VDD). This is the recommended configuration when using the ADC in low VDDA voltage operation</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </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 3 configuration bits</description>
              <bitOffset>12</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>ExtiAbch</name>
                <enumeratedValue>
                  <name>PA</name>
                  <description>Select PAx as the source input for the EXTIx external interrupt</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PB</name>
                  <description>Select PBx as the source input for the EXTIx external interrupt</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PC</name>
                  <description>Select PCx as the source input for the EXTIx external interrupt</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PH</name>
                  <description>Select PHx as the source input for the EXTIx external interrupt</description>
                  <value>7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field derivedFrom="EXTI0">
              <name>EXTI2</name>
              <description>EXTI 2 configuration bits</description>
              <bitOffset>8</bitOffset>
              <bitWidth>3</bitWidth>
            </field>
            <field derivedFrom="EXTI0">
              <name>EXTI1</name>
              <description>EXTI 1 configuration bits</description>
              <bitOffset>4</bitOffset>
              <bitWidth>3</bitWidth>
            </field>
            <field>
              <name>EXTI0</name>
              <description>EXTI 0 configuration bits</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>ExtiAbc</name>
                <enumeratedValue>
                  <name>PA</name>
                  <description>Select PAx as the source input for the EXTIx external interrupt</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PB</name>
                  <description>Select PBx as the source input for the EXTIx external interrupt</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PC</name>
                  <description>Select PCx as the source input for the EXTIx external interrupt</description>
                  <value>2</value>
                </enumeratedValue>
              </enumeratedValues>
            </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 7 configuration bits</description>
              <bitOffset>12</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>ExtiAb</name>
                <enumeratedValue>
                  <name>PA</name>
                  <description>Select PAx as the source input for the EXTIx external interrupt</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PB</name>
                  <description>Select PBx as the source input for the EXTIx external interrupt</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field derivedFrom="SYSCFG.EXTICR1.EXTI0">
              <name>EXTI6</name>
              <description>EXTI 6 configuration bits</description>
              <bitOffset>8</bitOffset>
              <bitWidth>3</bitWidth>
            </field>
            <field derivedFrom="SYSCFG.EXTICR1.EXTI0">
              <name>EXTI5</name>
              <description>EXTI 5 configuration bits</description>
              <bitOffset>4</bitOffset>
              <bitWidth>3</bitWidth>
            </field>
            <field derivedFrom="SYSCFG.EXTICR1.EXTI0">
              <name>EXTI4</name>
              <description>EXTI 4 configuration bits</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</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 derivedFrom="SYSCFG.EXTICR2.EXTI7">
              <name>EXTI11</name>
              <description>EXTI 11 configuration bits</description>
              <bitOffset>12</bitOffset>
              <bitWidth>3</bitWidth>
            </field>
            <field derivedFrom="SYSCFG.EXTICR2.EXTI7">
              <name>EXTI10</name>
              <description>EXTI 10 configuration bits</description>
              <bitOffset>8</bitOffset>
              <bitWidth>3</bitWidth>
            </field>
            <field derivedFrom="SYSCFG.EXTICR2.EXTI7">
              <name>EXTI9</name>
              <description>EXTI 9 configuration bits</description>
              <bitOffset>4</bitOffset>
              <bitWidth>3</bitWidth>
            </field>
            <field derivedFrom="SYSCFG.EXTICR2.EXTI7">
              <name>EXTI8</name>
              <description>EXTI 8 configuration bits</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</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 derivedFrom="SYSCFG.EXTICR1.EXTI0">
              <name>EXTI15</name>
              <description>EXTI15 configuration bits</description>
              <bitOffset>12</bitOffset>
              <bitWidth>3</bitWidth>
            </field>
            <field derivedFrom="SYSCFG.EXTICR1.EXTI0">
              <name>EXTI14</name>
              <description>EXTI14 configuration bits</description>
              <bitOffset>8</bitOffset>
              <bitWidth>3</bitWidth>
            </field>
            <field derivedFrom="SYSCFG.EXTICR1.EXTI0">
              <name>EXTI13</name>
              <description>EXTI13 configuration bits</description>
              <bitOffset>4</bitOffset>
              <bitWidth>3</bitWidth>
            </field>
            <field derivedFrom="SYSCFG.EXTICR2.EXTI7">
              <name>EXTI12</name>
              <description>EXTI12 configuration bits</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>SCSR</name>
          <displayName>SCSR</displayName>
          <description>SCSR</description>
          <addressOffset>0x18</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>PKASRAMBSY</name>
              <description>PKA SRAM busy by erase operation</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>PKASRAMBSY</name>
                <enumeratedValue>
                  <name>Idle</name>
                  <description>No PKA SRAM erase operation is ongoing</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Busy</name>
                  <description>PKA SRAM erase operation is ongoing</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SRAMBSY</name>
              <description>SRAM1, SRAM2 and PKA SRAM busy by erase               operation</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>SRAMBSY</name>
                <enumeratedValue>
                  <name>Idle</name>
                  <description>No SRAM1 or SRAM2 erase operation is ongoing</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Busy</name>
                  <description>SRAM1 or SRAM2 erase operation is ongoing</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SRAM2ER</name>
              <description>SRAM2 erase</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>SRAM2ERW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Erase</name>
                  <description>Start SRAM2 erase operation</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CFGR2</name>
          <displayName>CFGR2</displayName>
          <description>CFGR2</description>
          <addressOffset>0x1C</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>SPF</name>
              <description>SRAM2 parity error flag</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>SPFR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Nominal</name>
                  <description>No SRAM2 parity error detected</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Error</name>
                  <description>SRAM2 parity error detected</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>SPFW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear SRAM2 parity error flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ECCL</name>
              <description>ECC Lock</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>ECCLR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disconnected</name>
                  <description>ECC error disconnected from TIM1/16/17 break input</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Connected</name>
                  <description>ECC error connected to TIM1/16/17 break input</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>ECCLW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Connect</name>
                  <description>Connect ECC error to TIM1/16/17 break input</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>PVDL</name>
              <description>PVD lock enable bit</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>PVDLR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disconnected</name>
                  <description>PVD interrupt disconnected from TIM1/16/17 break input. PVDE and PLS[2:0] bits can be programmed by the application</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Connected</name>
                  <description>PVD interrupt connected to TIM1/16/17 break input. PVDE and PLS[2:0] bits are read only</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>PVDLW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Connect</name>
                  <description>Connect PVD interretup to TIM1/16/17 break input</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>SPL</name>
              <description>SRAM2 parity lock bit</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>SPLR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disconnected</name>
                  <description>SRAM2 parity error signal disconnected from TIM1/16/17 break input</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Connected</name>
                  <description>SRAM2 parity error signal connected to TIM1/16/17 break input</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>SPLW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Connect</name>
                  <description>Connect SRAM2 parity error signal to TIM1/16/17 break input</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CLL</name>
              <description>CPU1 LOCKUP (Hardfault) output enable               bit</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>CLLR</name>
                <usage>read</usage>
                <enumeratedValue>
                  <name>Disconnected</name>
                  <description>CPU LOCKUP output disconnected from TIM1/16/17 break input</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Connected</name>
                  <description>CPU LOCKUP output connected to TIM1/16/17 break input</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
              <enumeratedValues>
                <name>CLLW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Connect</name>
                  <description>Connect CPU LOCKUP output to TIM1/16/17 break input</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>SWPR</name>
          <displayName>SWPR</displayName>
          <description>SWPR</description>
          <addressOffset>0x20</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>P10WP</name>
              <description>SRAM2 1Kbyte page 10 write               protection</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>P10WP</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>SRAM2 1 KB page protection disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>SRAM2 1 KB page protection enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>P31WP</name>
              <description>SRAM2 1Kbyte page 31 write               protection</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="P10WP"/>
            </field>
            <field>
              <name>P30WP</name>
              <description>SRAM2 1Kbyte page 30 write               protection</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="P10WP"/>
            </field>
            <field>
              <name>P29WP</name>
              <description>SRAM2 1Kbyte page 29 write               protection</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="P10WP"/>
            </field>
            <field>
              <name>P28WP</name>
              <description>SRAM2 1Kbyte page 28 write               protection</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="P10WP"/>
            </field>
            <field>
              <name>P27WP</name>
              <description>SRAM2 1Kbyte page 27 write               protection</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="P10WP"/>
            </field>
            <field>
              <name>P26WP</name>
              <description>SRAM2 1Kbyte page 26 write               protection</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="P10WP"/>
            </field>
            <field>
              <name>P25WP</name>
              <description>SRAM2 1Kbyte page 25 write               protection</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="P10WP"/>
            </field>
            <field>
              <name>P24WP</name>
              <description>SRAM2 1Kbyte page 24 write               protection</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="P10WP"/>
            </field>
            <field>
              <name>P23WP</name>
              <description>SRAM2 1Kbyte page 23 write               protection</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="P10WP"/>
            </field>
            <field>
              <name>P22WP</name>
              <description>SRAM2 1Kbyte page 22 write               protection</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="P10WP"/>
            </field>
            <field>
              <name>P21WP</name>
              <description>SRAM2 1Kbyte page 21 write               protection</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="P10WP"/>
            </field>
            <field>
              <name>P20WP</name>
              <description>SRAM2 1Kbyte page 20 write               protection</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="P10WP"/>
            </field>
            <field>
              <name>P19WP</name>
              <description>SRAM2 1Kbyte page 19 write               protection</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="P10WP"/>
            </field>
            <field>
              <name>P18WP</name>
              <description>SRAM2 1Kbyte page 18 write               protection</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="P10WP"/>
            </field>
            <field>
              <name>P17WP</name>
              <description>SRAM2 1Kbyte page 17 write               protection</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="P10WP"/>
            </field>
            <field>
              <name>P16WP</name>
              <description>SRAM2 1Kbyte page 16 write               protection</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="P10WP"/>
            </field>
            <field>
              <name>P15WP</name>
              <description>SRAM2 1Kbyte page 15 write               protection</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="P10WP"/>
            </field>
            <field>
              <name>P14WP</name>
              <description>SRAM2 1Kbyte page 14 write               protection</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="P10WP"/>
            </field>
            <field>
              <name>P13WP</name>
              <description>SRAM2 1Kbyte page 13 write               protection</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="P10WP"/>
            </field>
            <field>
              <name>P12WP</name>
              <description>SRAM2 1Kbyte page 12 write               protection</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="P10WP"/>
            </field>
            <field>
              <name>P11WP</name>
              <description>SRAM2 1Kbyte page 11 write               protection</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="P10WP"/>
            </field>
            <field>
              <name>P0WP</name>
              <description>SRAM2 1Kbyte page 0 write               protection</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>P0WP</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>SRAM2 1 KB page protection disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>SRAM2 1 KB page protection enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>P9WP</name>
              <description>SRAM2 1Kbyte page 9 write               protection</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="P0WP"/>
            </field>
            <field>
              <name>P8WP</name>
              <description>SRAM2 1Kbyte page 8 write               protection</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="P0WP"/>
            </field>
            <field>
              <name>P7WP</name>
              <description>SRAM2 1Kbyte page 7 write               protection</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="P0WP"/>
            </field>
            <field>
              <name>P6WP</name>
              <description>SRAM2 1Kbyte page 6 write               protection</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="P0WP"/>
            </field>
            <field>
              <name>P5WP</name>
              <description>SRAM2 1Kbyte page 5 write               protection</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="P0WP"/>
            </field>
            <field>
              <name>P4WP</name>
              <description>SRAM2 1Kbyte page 4 write               protection</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="P0WP"/>
            </field>
            <field>
              <name>P3WP</name>
              <description>SRAM2 1Kbyte page 3 write               protection</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="P0WP"/>
            </field>
            <field>
              <name>P2WP</name>
              <description>SRAM2 1Kbyte page 2 write               protection</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="P0WP"/>
            </field>
            <field>
              <name>P1WP</name>
              <description>SRAM2 1Kbyte page 1 write               protection</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="P0WP"/>
            </field>
          </fields>
        </register>
        <register>
          <name>SKR</name>
          <displayName>SKR</displayName>
          <description>SKR</description>
          <addressOffset>0x24</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>KEY</name>
              <description>SRAM2 write protection key for software               erase</description>
              <bitOffset>0</bitOffset>
              <bitWidth>8</bitWidth>
              <enumeratedValues>
                <name>KEY</name>
                <enumeratedValue>
                  <name>WriteProtect</name>
                  <description>Activate SRAM2ER bits write protection</description>
                  <value>17</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Step2</name>
                  <description>Step 2 to remove SRAM2ER bits write protection</description>
                  <value>83</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Step1</name>
                  <description>Step 1 to remove SRAM2ER bits write protection</description>
                  <value>202</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>IMR1</name>
          <displayName>IMR1</displayName>
          <description>SYSCFG CPU1 interrupt mask register 1</description>
          <addressOffset>0x100</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>RTCSTAMPTAMPLSECSSIM</name>
              <description>RTCSTAMPTAMPLSECSSIM</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RTCSSRUIM</name>
              <description>RTCSSRUIM</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>EXTI5IM</name>
              <description>EXTI5IM</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>EXTI6IM</name>
              <description>EXTI6IM</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>EXTI7IM</name>
              <description>EXTI7IM</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>EXTI8IM</name>
              <description>EXTI8IM</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>EXTI9IM</name>
              <description>EXTI9IM</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>EXTI10IM</name>
              <description>EXTI10IM</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>EXTI11IM</name>
              <description>EXTI11IM</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>EXTI12IM</name>
              <description>EXTI12IM</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>EXTI13IM</name>
              <description>EXTI13IM</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>EXTI14IM</name>
              <description>EXTI14IM</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>EXTI15IM</name>
              <description>EXTI15IM</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>IMR2</name>
          <displayName>IMR2</displayName>
          <description>SYSCFG CPU1 interrupt mask register 2</description>
          <addressOffset>0x104</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>PVM3IM</name>
              <description>PVM3IM</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>PVDIM</name>
              <description>PVDIM</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>C2IMR1</name>
          <displayName>C2IMR1</displayName>
          <description>SYSCFG CPU2 interrupt mask register 1</description>
          <addressOffset>0x108</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>RTCSTAMPTAMPLSECSSIM</name>
              <description>RTCSTAMPTAMPLSECSSIM</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RTCALARMIM</name>
              <description>RTCALARMIM</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RTCSSRUIM</name>
              <description>RTCSSRUIM</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RTCWKUPIM</name>
              <description>RTCWKUPIM</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RCCIM</name>
              <description>RCCIM</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>FLASHIM</name>
              <description>FLASHIM</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>PKAIM</name>
              <description>PKAIM</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>AESIM</name>
              <description>AESIM</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>COMPIM</name>
              <description>COMPIM</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>ADCIM</name>
              <description>ADCIM</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DACIM</name>
              <description>DACIM</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>EXTI0IM</name>
              <description>EXTI0IM</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>EXTI1IM</name>
              <description>EXTI1IM</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>EXTI2IM</name>
              <description>EXTI2IM</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>EXTI3IM</name>
              <description>EXTI3IM</description>
              <bitOffset>19</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>EXTI4IM</name>
              <description>EXTI4IM</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>EXTI5IM</name>
              <description>EXTI5IM</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>EXTI6IM</name>
              <description>EXTI6IM</description>
              <bitOffset>22</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>EXTI7IM</name>
              <description>EXTI7IM</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>EXTI8IM</name>
              <description>EXTI8IM</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>EXTI9IM</name>
              <description>EXTI9IM</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>EXTI10IM</name>
              <description>EXTI10IM</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>EXTI11IM</name>
              <description>EXTI11IM</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>EXTI12IM</name>
              <description>EXTI12IM</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>EXTI13IM</name>
              <description>EXTI13IM</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>EXTI14IM</name>
              <description>EXTI14IM</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>EXTI15IM</name>
              <description>EXTI15IM</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>C2IMR2</name>
          <displayName>C2IMR2</displayName>
          <description>SYSCFG CPU2 interrupt mask register 2</description>
          <addressOffset>0x10C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>DMA1CH1IM</name>
              <description>DMA1CH1IM</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DMA1CH2IM</name>
              <description>DMA1CH2IM</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DMA1CH3IM</name>
              <description>DMA1CH3IM</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DMA1CH4IM</name>
              <description>DMA1CH4IM</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DMA1CH5IM</name>
              <description>DMA1CH5IM</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DMA1CH6IM</name>
              <description>DMA1CH6IM</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DMA1CH7IM</name>
              <description>DMA1CH7IM</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DMA2CH1IM</name>
              <description>DMA2CH1IM</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DMA2CH2IM</name>
              <description>DMA2CH2IM</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DMA2CH3IM</name>
              <description>DMA2CH3IM</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DMA2CH4IM</name>
              <description>DMA2CH4IM</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DMA2CH5IM</name>
              <description>DMA2CH5IM</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DMA2CH6IM</name>
              <description>DMA2CH6IM</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DMA2CH7IM</name>
              <description>DMA2CH7IM</description>
              <bitOffset>14</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DMAMUX1IM</name>
              <description>DMAMUX1IM</description>
              <bitOffset>15</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>PVM3IM</name>
              <description>PVM3IM</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>PVDIM</name>
              <description>PVDIM</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>RFDCR</name>
          <displayName>RFDCR</displayName>
          <description>radio debug control register</description>
          <addressOffset>0x208</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>RFTBSEL</name>
              <description>radio debug test bus selection</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>RFTBSEL</name>
                <enumeratedValue>
                  <name>Digital</name>
                  <description>Digital test bus selected on RF_ADTB[3:0]</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Analog</name>
                  <description>Analog test bus selected on RF_ADTB[3:0]</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>TAMP</name>
      <description>Tamper and backup registers</description>
      <groupName>TAMP</groupName>
      <baseAddress>0x4000B000</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>0xFFFF0000</resetValue>
          <fields>
            <field>
              <name>TAMP1E</name>
              <description>TAMP1E</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TAMP1E</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Tamper detection on TAMP_INx is disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Tamper detection on TAMP_IN3 is enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TAMP2E</name>
              <description>TAMP2E</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TAMP1E"/>
            </field>
            <field>
              <name>TAMP3E</name>
              <description>TAMP2E</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TAMP1E"/>
            </field>
            <field>
              <name>ITAMP3E</name>
              <description>ITAMP3E</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ITAMP3E</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Internal tamper x disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Internal tamper x enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ITAMP5E</name>
              <description>ITAMP5E</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="ITAMP3E"/>
            </field>
            <field>
              <name>ITAMP6E</name>
              <description>ITAMP6E</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="ITAMP3E"/>
            </field>
            <field>
              <name>ITAMP8E</name>
              <description>ITAMP8E</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="ITAMP3E"/>
            </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>TAMP1NOER</name>
              <description>TAMP1NOER</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TAMP1NOER</name>
                <enumeratedValue>
                  <name>Erase</name>
                  <description>Tamper x event erases the backup registers</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>NotErase</name>
                  <description>Tamper x event does not erase the backup registers</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TAMP2NOER</name>
              <description>TAMP2NOER</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TAMP1NOER"/>
            </field>
            <field>
              <name>TAMP3NOER</name>
              <description>TAMP3NOER</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TAMP1NOER"/>
            </field>
            <field>
              <name>TAMP1MSK</name>
              <description>TAMP1MSK</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TAMP1MSK</name>
                <enumeratedValue>
                  <name>ResetBySoftware</name>
                  <description>Tamper x event generates a trigger event and TAMPxF must be cleared by software to allow next tamper event detection</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ResetByHardware</name>
                  <description>Tamper x event generates a trigger event. TAMPxF is masked and internally cleared by hardware. The backup registers are not erased. The tamper x interrupt must not be enabled when TAMP3MSK is set</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TAMP2MSK</name>
              <description>TAMP2MSK</description>
              <bitOffset>17</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TAMP1MSK"/>
            </field>
            <field>
              <name>TAMP3MSK</name>
              <description>TAMP3MSK</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TAMP1MSK"/>
            </field>
            <field>
              <name>BKERASE</name>
              <description>Backup registerserase</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>BKERASEW</name>
                <usage>write</usage>
                <enumeratedValue>
                  <name>Reset</name>
                  <description>Reset backup registers</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TAMP1TRG</name>
              <description>TAMP1TRG</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TAMP1TRG</name>
                <enumeratedValue>
                  <name>FilteredLowOrUnfilteredHigh</name>
                  <description>If TAMPFLT != 00 Tamper x input staying low triggers a tamper detection event. If TAMPFLT = 00 Tamper x input rising edge and high level triggers a tamper detection event</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>FilteredHighOrUnfilteredLow</name>
                  <description>If TAMPFLT != 00 Tamper x input staying high triggers a tamper detection event. If TAMPFLT = 00 Tamper x input falling edge and low level triggers a tamper detection event</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TAMP2TRG</name>
              <description>TAMP2TRG</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TAMP1TRG"/>
            </field>
            <field>
              <name>TAMP3TRG</name>
              <description>TAMP3TRG</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TAMP1TRG"/>
            </field>
          </fields>
        </register>
        <register>
          <name>CR3</name>
          <displayName>CR3</displayName>
          <description>TAMP control register 3</description>
          <addressOffset>0x8</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>ITAMP3NOER</name>
              <description>ITAMP3NOER</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ITAMP3NOER</name>
                <enumeratedValue>
                  <name>Erase</name>
                  <description>Internal tamper x event erases the backup registers</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>NotErase</name>
                  <description>Internal tamper x event does not erase the backup registers</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ITAMP5NOER</name>
              <description>ITAMP5NOER</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="ITAMP3NOER"/>
            </field>
            <field>
              <name>ITAMP6NOER</name>
              <description>ITAMP6NOER</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="ITAMP3NOER"/>
            </field>
            <field>
              <name>ITAMP8NOER</name>
              <description>ITAMP8NOER</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="ITAMP3NOER"/>
            </field>
          </fields>
        </register>
        <register>
          <name>FLTCR</name>
          <displayName>FLTCR</displayName>
          <description>TAMP filter control register</description>
          <addressOffset>0xC</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TAMPFREQ</name>
              <description>TAMPFREQ</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>TAMPFREQ</name>
                <enumeratedValue>
                  <name>Hz_1</name>
                  <description>RTCCLK / 32768 (1 Hz when RTCCLK = 32768 Hz)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Hz_2</name>
                  <description>RTCCLK / 16384 (2 Hz when RTCCLK = 32768 Hz)</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Hz_4</name>
                  <description>RTCCLK / 8192 (4 Hz when RTCCLK = 32768 Hz)</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Hz_8</name>
                  <description>RTCCLK / 4096 (8 Hz when RTCCLK = 32768 Hz)</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Hz_16</name>
                  <description>RTCCLK / 2048 (16 Hz when RTCCLK = 32768 Hz)</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Hz_32</name>
                  <description>RTCCLK / 1024 (32 Hz when RTCCLK = 32768 Hz)</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Hz_64</name>
                  <description>RTCCLK / 512 (64 Hz when RTCCLK = 32768 Hz)</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Hz_128</name>
                  <description>RTCCLK / 256 (128 Hz when RTCCLK = 32768 Hz)</description>
                  <value>7</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TAMPFLT</name>
              <description>TAMPFLT</description>
              <bitOffset>3</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>TAMPFLT</name>
                <enumeratedValue>
                  <name>NoFilter</name>
                  <description>Tamper event is activated on edge of TAMP_INx input transitions to the active level (no internal pull-up on TAMP_INx input)"</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Filter2</name>
                  <description>Tamper event is activated after 2 consecutive samples at the active level"</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Filter4</name>
                  <description>Tamper event is activated after 4 consecutive samples at the active level"</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Filter8</name>
                  <description>Tamper event is activated after 8 consecutive samples at the active level"</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TAMPPRCH</name>
              <description>TAMPPRCH</description>
              <bitOffset>5</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>TAMPPRCH</name>
                <enumeratedValue>
                  <name>Cycles1</name>
                  <description>1 RTCCLK cycle</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Cycles2</name>
                  <description>2 RTCCLK cycles</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Cycles4</name>
                  <description>4 RTCCLK cycles</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Cycles8</name>
                  <description>8 RTCCLK cycles</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TAMPPUDIS</name>
              <description>TAMPPUDIS</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TAMPPUDIS</name>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Precharge TAMP_INx pins before sampling (enable internal pull-up)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Disable precharge of TAMP_INx pins</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>IER</name>
          <displayName>IER</displayName>
          <description>TAMP interrupt enable register</description>
          <addressOffset>0x2C</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TAMP1IE</name>
              <description>TAMP1IE</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TAMP1IE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Tamper x interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Tampoer x interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TAMP2IE</name>
              <description>TAMP2IE</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TAMP1IE"/>
            </field>
            <field>
              <name>TAMP3IE</name>
              <description>TAMP3IE</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TAMP1IE"/>
            </field>
            <field>
              <name>ITAMP3IE</name>
              <description>ITAMP3IE</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ITAMP3IE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Internal tamper x interrupt disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Internal tamper x interrupt enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ITAMP5IE</name>
              <description>ITAMP5IE</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="ITAMP3IE"/>
            </field>
            <field>
              <name>ITAMP6IE</name>
              <description>ITAMP6IE</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="ITAMP3IE"/>
            </field>
            <field>
              <name>ITAMP8IE</name>
              <description>ITAMP8IE</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="ITAMP3IE"/>
            </field>
          </fields>
        </register>
        <register>
          <name>SR</name>
          <displayName>SR</displayName>
          <description>TAMP status register</description>
          <addressOffset>0x30</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TAMP1F</name>
              <description>TAMP1F</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TAMP1F</name>
                <enumeratedValue>
                  <name>Idle</name>
                  <description>No tamper detected</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Tamper</name>
                  <description>Tamper detected</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TAMP2F</name>
              <description>TAMP2F</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TAMP1F"/>
            </field>
            <field>
              <name>TAMP3F</name>
              <description>TAMP3F</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TAMP1F"/>
            </field>
            <field>
              <name>ITAMP3F</name>
              <description>ITAMP3F</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ITAMP3F</name>
                <enumeratedValue>
                  <name>Idle</name>
                  <description>No tamper detected</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Tamper</name>
                  <description>Internal tamper detected</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ITAMP5F</name>
              <description>ITAMP5F</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="ITAMP3F"/>
            </field>
            <field>
              <name>ITAMP6F</name>
              <description>ITAMP6F</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="ITAMP3F"/>
            </field>
            <field>
              <name>ITAMP8F</name>
              <description>ITAMP8F</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="ITAMP3F"/>
            </field>
          </fields>
        </register>
        <register>
          <name>MISR</name>
          <displayName>MISR</displayName>
          <description>TAMP masked interrupt status           register</description>
          <addressOffset>0x34</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TAMP1MF</name>
              <description>TAMP1MF:</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TAMP1MF</name>
                <enumeratedValue>
                  <name>Idle</name>
                  <description>No tamper detected - Masked</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Tamper</name>
                  <description>Tamper detected - Masked</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TAMP2MF</name>
              <description>TAMP2MF</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TAMP1MF"/>
            </field>
            <field>
              <name>TAMP3MF</name>
              <description>TAMP3MF</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="TAMP1MF"/>
            </field>
            <field>
              <name>ITAMP3MF</name>
              <description>ITAMP3MF</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ITAMP3MF</name>
                <enumeratedValue>
                  <name>Idle</name>
                  <description>No tamper detected - Masked</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Tamper</name>
                  <description>Internal tamper detected - Masked</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ITAMP5MF</name>
              <description>ITAMP5MF</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="ITAMP3MF"/>
            </field>
            <field>
              <name>ITAMP6MF</name>
              <description>ITAMP6MF</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="ITAMP3MF"/>
            </field>
            <field>
              <name>ITAMP8MF</name>
              <description>ITAMP8MF</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="ITAMP3MF"/>
            </field>
          </fields>
        </register>
        <register>
          <name>SCR</name>
          <displayName>SCR</displayName>
          <description>TAMP status clear register</description>
          <addressOffset>0x3C</addressOffset>
          <size>0x20</size>
          <access>write-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CTAMP1F</name>
              <description>CTAMP1F</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CTAMP1FW</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear tamper flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CTAMP2F</name>
              <description>CTAMP2F</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CTAMP1FW"/>
            </field>
            <field>
              <name>CTAMP3F</name>
              <description>CTAMP3F</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CTAMP1FW"/>
            </field>
            <field>
              <name>CITAMP3F</name>
              <description>CITAMP3F</description>
              <bitOffset>18</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>CITAMP3FW</name>
                <enumeratedValue>
                  <name>Clear</name>
                  <description>Clear tamper flag</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>CITAMP5F</name>
              <description>CITAMP5F</description>
              <bitOffset>20</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CITAMP3FW"/>
            </field>
            <field>
              <name>CITAMP6F</name>
              <description>CITAMP6F</description>
              <bitOffset>21</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CITAMP3FW"/>
            </field>
            <field>
              <name>CITAMP8F</name>
              <description>CITAMP8F</description>
              <bitOffset>23</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="CITAMP3FW"/>
            </field>
          </fields>
        </register>
        <register>
          <name>COUNTR</name>
          <displayName>COUNTR</displayName>
          <description>monotonic counter register</description>
          <addressOffset>0x40</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>COUNT</name>
              <description>COUNT</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4294967295</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <dim>20</dim>
          <dimIncrement>0x4</dimIncrement>
          <dimIndex>0-19</dimIndex>
          <name>BKP%sR</name>
          <displayName>BKP%sR</displayName>
          <description>TAMP backup register</description>
          <addressOffset>0x100</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>BKP</name>
              <description>BKP</description>
              <bitOffset>0</bitOffset>
              <bitWidth>32</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4294967295</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>TIM1</name>
      <description>Advanced-control timers</description>
      <groupName>TIM</groupName>
      <baseAddress>0x40012C00</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>TIM1_BRK</name>
        <description>Timer 1 break interrupt</description>
        <value>23</value>
      </interrupt>
      <interrupt>
        <name>TIM1_UP</name>
        <description>Timer 1 Update</description>
        <value>24</value>
      </interrupt>
      <interrupt>
        <name>TIM1_TRG_COM</name>
        <description>Timer 1 trigger and communication</description>
        <value>25</value>
      </interrupt>
      <interrupt>
        <name>TIM1_CC</name>
        <description>Timer 1 capture compare interrupt</description>
        <value>26</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>
              <enumeratedValues>
                <name>UIFREMAP</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>No remapping. UIF status bit is not copied to TIMx_CNT register bit 31</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Remapping enabled. UIF status bit is copied to TIMx_CNT register bit 31</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>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>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>
              <enumeratedValues>
                <name>MMS2</name>
                <enumeratedValue>
                  <name>Reset</name>
                  <description>Reset - the UG bit from the TIMx_EGR register is used as trigger output (TRGO2). If the reset is generated by the trigger input (slave mode controller configured in reset mode), the signal on TRGO2 is delayed compared to the actual reset</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enable</name>
                  <description>Enable - the Counter Enable signal CNT_EN is used as trigger output (TRGO2). It is useful to start several timers at the same time or to control a window in which a slave timer is enabled. The Counter Enable signal is generated by a logic AND between the CEN control bit and the trigger input when configured in Gated mode. When the Counter Enable signal is controlled by the trigger input, there is a delay on TRGO2, except if the Master/Slave mode is selected (see the MSM bit description in TIMx_SMCR register)</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Update</name>
                  <description>Update - the update event is selected as trigger output (TRGO2). For instance, a master timer can then be used as a prescaler for a slave timer</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ComparePulse</name>
                  <description>Compare pulse - the trigger output sends a positive pulse when the CC1IF flag is to be set (even if it was already high), as soon as a capture or compare match occurs (TRGO2)</description>
                  <value>3</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CompareOC1</name>
                  <description>Compare - OC1REFC signal is used as trigger output (TRGO2)</description>
                  <value>4</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CompareOC2</name>
                  <description>Compare - OC2REFC signal is used as trigger output (TRGO2)</description>
                  <value>5</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CompareOC3</name>
                  <description>Compare - OC3REFC signal is used as trigger output (TRGO2)</description>
                  <value>6</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CompareOC4</name>
                  <description>Compare - OC4REFC signal is used as trigger output (TRGO2)</description>
                  <value>7</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CompareOC5</name>
                  <description>Compare - OC5REFC signal is used as trigger output (TRGO2)</description>
                  <value>8</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CompareOC6</name>
                  <description>Compare - OC6REFC signal is used as trigger output (TRGO2)</description>
                  <value>9</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PulseOC4</name>
                  <description>Compare Pulse - OC4REFC rising or falling edges generate pulses on TRGO2</description>
                  <value>10</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>PulseOC6</name>
                  <description>Compare Pulse - OC6REFC rising or falling edges generate pulses on TRGO2</description>
                  <value>11</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>RisingOC4_6</name>
                  <description>Compare Pulse - OC4REFC or OC6REFC rising edges generate pulses on TRGO2</description>
                  <value>12</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>RisingOC4_FallingOC6</name>
                  <description>Compare Pulse - OC4REFC rising or OC6REFC falling edges generate pulses on TRGO2</description>
                  <value>13</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>RisingOC5_6</name>
                  <description>Compare Pulse - OC5REFC or OC6REFC rising edges generate pulses on TRGO2</description>
                  <value>14</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>RisingOC5_FallingOC6</name>
                  <description>Compare Pulse - OC5REFC rising or OC6REFC falling edges generate pulses on TRGO2</description>
                  <value>15</value>
                </enumeratedValue>
              </enumeratedValues>
            </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>TS2</name>
              <description>Trigger selection</description>
              <bitOffset>20</bitOffset>
              <bitWidth>2</bitWidth>
            </field>
            <field>
              <name>SMS_3</name>
              <description>Slave mode selection</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SMS_3</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Slave mode disabled (see SMS[0:2])</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CombinedResetTrigger</name>
                  <description>SMS[0:2] must be 0b000 (DisabledOrCombined). Combined reset + trigger mode - Rising edge of the selected trigger input (TRGI) reinitializes the counter, generates an update of the registers and starts the counter</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>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>OCCS</name>
              <description>OCREF clear selection</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SMS</name>
              <description>Slave mode selection</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>SMS</name>
                <enumeratedValue>
                  <name>DisabledOrCombined</name>
                  <description>Slave mode disabled - if CEN = ‘1 then the prescaler is clocked directly by the internal clock. If SMS[3]=1 then Combined reset + trigger mode - Rising edge of the selected trigger input (TRGI) reinitializes the counter, generates an update of the registers and starts the counter</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>EncoderMode1</name>
                  <description>Encoder mode 1 - Counter counts up/down on TI2FP1 edge depending on TI1FP2 level</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>EncoderMode2</name>
                  <description>Encoder mode 2 - Counter counts up/down on TI1FP2 edge depending on TI2FP1 level</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>EncoderMode3</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>ResetMode</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>GatedMode</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>TriggerMode</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>ExtClockMode</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>
              <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>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>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>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>
              <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>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>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>
            <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>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>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>
            <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</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%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%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>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>
          </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.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="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">
              <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%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%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.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="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%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>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>3</dim>
              <dimIncrement>0x4</dimIncrement>
              <dimIndex>1-3</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>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>
          </fields>
        </register>
        <register>
          <name>CNT</name>
          <displayName>CNT</displayName>
          <description>counter</description>
          <addressOffset>0x24</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>UIFCPY</name>
              <description>UIF copy</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>CNT</name>
              <description>CNT</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>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>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>
          <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>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>BK2BID</name>
              <description>Break2 bidirectional</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>BK2BID</name>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Break input BRK2 in input mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bidirectional</name>
                  <description>Break input BRK2 in bidirectional mode</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BKBID</name>
              <description>BKBID</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>BKBID</name>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Break input BRK in input mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bidirectional</name>
                  <description>Break input BRK in bidirectional mode</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BK2DSRM</name>
              <description>Break2 Disarm</description>
              <bitOffset>27</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>BK2DSRM</name>
                <enumeratedValue>
                  <name>Armed</name>
                  <description>Break input BRK2 is armed</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Disarmed</name>
                  <description>Break input BRK2 is disarmed</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BKDSRM</name>
              <description>BKDSRM</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>BKDSRM</name>
                <enumeratedValue>
                  <name>Armed</name>
                  <description>Break input BRK is armed</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Disarmed</name>
                  <description>Break input BRK is disarmed</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>BK2P</name>
              <description>Break 2 polarity</description>
              <bitOffset>25</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="BKP"/>
            </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>BK2E</name>
              <description>Break 2 enable</description>
              <bitOffset>24</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues derivedFrom="BKE"/>
            </field>
            <field>
              <name>BKF</name>
              <description>Break filter</description>
              <bitOffset>16</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues>
                <name>BKF</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>BK2F</name>
              <description>Break 2 filter</description>
              <bitOffset>20</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues derivedFrom="BKF"/>
            </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>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>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>
          </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>17</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>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4294967295</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>OR1</name>
          <displayName>OR1</displayName>
          <description>option register 1</description>
          <addressOffset>0x50</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TI1_RMP</name>
              <description>Input Capture 1 remap</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>TI1_RMP</name>
                <enumeratedValue>
                  <name>IO</name>
                  <description>TIM1 input capture 1 is connected to I/O</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>COMP1</name>
                  <description>TIM1 input capture 1 is connected to COMP1 output</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TIM1_ETR_ADC1_RMP</name>
              <description>TIM1_ETR_ADC1 remapping               capability</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>TIM1_ETR_ADC1_RMP</name>
                <enumeratedValue>
                  <name>Select</name>
                  <description>TIM1_ETR is not connected to ADC AWDx (must be selected when the ETR comes from the ETR input pin)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ADC_AWD1</name>
                  <description>TIM1_ETR is connected to ADC AWD1</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ADC_AWD2</name>
                  <description>TIM1_ETR is connected to ADC AWD2</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>ADC_AWD3</name>
                  <description>TIM1_ETR is connected to ADC AWD3</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CCMR3_Output</name>
          <displayName>CCMR3OutputComparemode</displayName>
          <description>capture/compare mode register           3</description>
          <addressOffset>0x54</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <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>
            <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">
              <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%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%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>
          </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>GC5C3</name>
              <description>Group Channel 5 and Channel               3</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>GC5C3</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>No effect of OC5REF on OC3REFC</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>OC3REFC is the logical AND of OC3REFC and OC5REF</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>GC5C2</name>
              <description>Group Channel 5 and Channel               2</description>
              <bitOffset>30</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>GC5C2</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>No effect of OC5REF on OC2REFC</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>OC2REFC is the logical AND of OC2REFC and OC5REF</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>GC5C1</name>
              <description>Group Channel 5 and Channel               1</description>
              <bitOffset>29</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>GC5C1</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>No effect of OC5REF on OC1REFC</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>OC1REFC is the logical AND of OC1REFC and OC5REF</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <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>CCR6</name>
          <displayName>CCR6</displayName>
          <description>capture/compare register</description>
          <addressOffset>0x5C</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>CCR</name>
              <description>Capture/Compare value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>16</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>AF1</name>
          <displayName>AF1</displayName>
          <description>alternate function option register           1</description>
          <addressOffset>0x60</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000001</resetValue>
          <fields>
            <field>
              <name>ETRSEL</name>
              <description>ETR source selection</description>
              <bitOffset>14</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues>
                <name>ETRSEL</name>
                <enumeratedValue>
                  <name>Legacy</name>
                  <description>ETR legacy mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>COMP1</name>
                  <description>COMP1 output</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>COMP2</name>
                  <description>COMP2 output</description>
                  <value>2</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BKCMP2P</name>
              <description>BRK COMP2 input polarity</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>BKCMP2P</name>
                <enumeratedValue>
                  <name>NotInverted</name>
                  <description>Input polarity not inverted</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Inverted</name>
                  <description>Input polarity inverted</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BKCMP1P</name>
              <description>BRK COMP1 input polarity</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>BKCMP1P</name>
                <enumeratedValue>
                  <name>NotInverted</name>
                  <description>Input polarity not inverted</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Inverted</name>
                  <description>Input polarity inverted</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BKINP</name>
              <description>BRK BKIN input polarity</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>BKINP</name>
                <enumeratedValue>
                  <name>NotInverted</name>
                  <description>Input polarity not inverted</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Inverted</name>
                  <description>Input polarity inverted</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BKCMP2E</name>
              <description>BRK COMP2 enable</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>BKCMP2E</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>COMP2 input disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>COMP2 input enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BKCMP1E</name>
              <description>BRK COMP1 enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>BKCMP1E</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>COMP1 input disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>COMP1 input enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BKINE</name>
              <description>BRK BKIN input enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>BKINE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>BKIN input disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>BKIN input enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>AF2</name>
          <displayName>AF2</displayName>
          <description>Alternate function register 2</description>
          <addressOffset>0x64</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000001</resetValue>
          <fields>
            <field>
              <name>BK2CMP2P</name>
              <description>BRK2 COMP2 input polarity</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>BK2CMP2P</name>
                <enumeratedValue>
                  <name>NotInverted</name>
                  <description>Input polarity not inverted</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Inverted</name>
                  <description>Input polarity inverted</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BK2CMP1P</name>
              <description>BRK2 COMP1 input polarity</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>BK2CMP1P</name>
                <enumeratedValue>
                  <name>NotInverted</name>
                  <description>Input polarity not inverted</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Inverted</name>
                  <description>Input polarity inverted</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BK2INP</name>
              <description>BRK2 BKIN2 input polarity</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>BK2INP</name>
                <enumeratedValue>
                  <name>NotInverted</name>
                  <description>Input polarity not inverted</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Inverted</name>
                  <description>Input polarity inverted</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BK2CMP2E</name>
              <description>BRK2 COMP2 enable</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>BK2CMP2E</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>COMP2 input disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>COMP2 input enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BK2CMP1E</name>
              <description>BRK2 COMP1 enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>BK2CMP1E</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>COMP1 input disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>COMP1 input enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BK2INE</name>
              <description>BRK2 BKIN input enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>BK2INE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>BKIN input disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>BKIN input enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>TISEL</name>
          <displayName>TISEL</displayName>
          <description>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>
              <enumeratedValues>
                <name>TI1SEL</name>
                <enumeratedValue>
                  <name>Selected</name>
                  <description>TIM1_CHx input selected</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TI4SEL</name>
              <description>selects TI4[0] to TI4[15]               input</description>
              <bitOffset>24</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues derivedFrom="TI1SEL"/>
            </field>
            <field>
              <name>TI3SEL</name>
              <description>selects TI3[0] to TI3[15]               input</description>
              <bitOffset>16</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues derivedFrom="TI1SEL"/>
            </field>
            <field>
              <name>TI2SEL</name>
              <description>selects TI2[0] to TI2[15]               input</description>
              <bitOffset>8</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues derivedFrom="TI1SEL"/>
            </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>Timer 2 global interrupt</description>
        <value>27</value>
      </interrupt>
      <registers>
        <register>
          <name>CR1</name>
          <displayName>CR1</displayName>
          <description>control register 1</description>
          <addressOffset>0x0</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>UIFREMAP</name>
              <description>UIF status bit remapping</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>UIFREMAP</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>No remapping. UIF status bit is not copied to TIMx_CNT register bit 31</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Remapping enabled. UIF status bit is copied to TIMx_CNT register bit 31</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>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>SMS_3</name>
              <description>Slave mode selection - bit               3</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>SMS_3</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Slave mode disabled (see SMS[0:2])</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>CombinedResetTrigger</name>
                  <description>SMS[0:2] must be 0b000 (DisabledOrCombined). Combined reset + trigger mode - Rising edge of the selected trigger input (TRGI) reinitializes the counter, generates an update of the registers and starts the counter</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>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>OCCS</name>
              <description>OCREF clear selection</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SMS</name>
              <description>Slave mode selection</description>
              <bitOffset>0</bitOffset>
              <bitWidth>3</bitWidth>
              <enumeratedValues>
                <name>SMS</name>
                <enumeratedValue>
                  <name>DisabledOrCombined</name>
                  <description>Slave mode disabled - if CEN = ‘1 then the prescaler is clocked directly by the internal clock. If SMS[3]=1 then Combined reset + trigger mode - Rising edge of the selected trigger input (TRGI) reinitializes the counter, generates an update of the registers and starts the counter</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>EncoderMode1</name>
                  <description>Encoder mode 1 - Counter counts up/down on TI2FP1 edge depending on TI1FP2 level</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>EncoderMode2</name>
                  <description>Encoder mode 2 - Counter counts up/down on TI1FP2 edge depending on TI2FP1 level</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>EncoderMode3</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>ResetMode</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>GatedMode</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>TriggerMode</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>ExtClockMode</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>
              <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>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>
            <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</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%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%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>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>
          </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>
              <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>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>32</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>4294967295</maximum>
                </range>
              </writeConstraint>
            </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>
            </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>17</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>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>OR1</name>
          <displayName>OR1</displayName>
          <description>TIM2 option register</description>
          <addressOffset>0x50</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TI4_RMP</name>
              <description>Input capture 4 remap</description>
              <bitOffset>2</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>TI4_RMP</name>
                <enumeratedValue>
                  <name>GPIO</name>
                  <description>TIM2 TI4 is connected to GPIO: Refer to Alternate Function mapping</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>COMP_1</name>
                  <description>TIM2 TI4 is connected to COMP1_OUT</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>COMP_2</name>
                  <description>TIM2 TI4 is connected to COMP2_OUT</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>COMP_12</name>
                  <description>TIM2 TI4 is connected to a logical OR between COMP1_OUT and COMP2_OUT</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ETR_RMP</name>
              <description>External trigger remap</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>ETR_RMP</name>
                <enumeratedValue>
                  <name>GPIO</name>
                  <description>TIM2 ETR is connected to GPIO: Refer to Alternate Function mapping</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>TIM2_ETR</name>
                  <description>LSE internal clock is connected to TIM2_ETR input</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>AF1</name>
          <displayName>AF1</displayName>
          <description>TIM2 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>External trigger source               selection</description>
              <bitOffset>14</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues>
                <name>ETRSEL</name>
                <enumeratedValue>
                  <name>Legacy</name>
                  <description>ETR legacy mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>COMP1</name>
                  <description>COMP1 output</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>COMP2</name>
                  <description>COMP2 output</description>
                  <value>2</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>TISEL</name>
          <displayName>TISEL</displayName>
          <description>TIM2 timer input selection           register</description>
          <addressOffset>0x68</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TI1SEL</name>
              <description>TI1SEL</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues>
                <name>TI1SEL</name>
                <enumeratedValue>
                  <name>Selected</name>
                  <description>TIM1_CHx input selected</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>TI2SEL</name>
              <description>TI2SEL</description>
              <bitOffset>8</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues derivedFrom="TI1SEL"/>
            </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>Timer 16 global interrupt</description>
        <value>28</value>
      </interrupt>
      <registers>
        <register>
          <name>CR1</name>
          <displayName>CR1</displayName>
          <description>TIM16/TIM17 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>
              <enumeratedValues>
                <name>UIFREMAP</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>No remapping. UIF status bit is not copied to TIMx_CNT register bit 31</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Remapping enabled. UIF status bit is copied to TIMx_CNT register bit 31</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>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>TIM16/TIM17 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>CCDS</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>CCUS</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>CCPC</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>TIM16/TIM17 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%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>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>
            <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>TIM16/TIM17 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>TIM16/TIM17 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>TIM16/TIM17 capture/compare mode register           1</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>OC%sM_3</name>
              <description>Output compare %s mode, bit 3</description>
              <bitOffset>16</bitOffset>
              <bitWidth>1</bitWidth>
            </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%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%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>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>
          </fields>
        </register>
        <register>
          <name>CCMR1_Input</name>
          <displayName>CCMR1_Input</displayName>
          <description>TIM16/TIM17 capture/compare mode register           1</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>CC1S</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>TIM16/TIM17 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>TIM16/TIM17 counter</description>
          <addressOffset>0x24</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>UIFCPYorRes</name>
              <description>UIF Copy</description>
              <bitOffset>31</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
            </field>
            <field>
              <name>CNT</name>
              <description>CNT</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>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>TIM16/TIM17 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>TIM16/TIM17 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>TIM16/TIM17 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>TIM16/TIM17 break and dead-time           register</description>
          <addressOffset>0x44</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>BKBID</name>
              <description>Break Bidirectional</description>
              <bitOffset>28</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>BKBID</name>
                <enumeratedValue>
                  <name>Input</name>
                  <description>Break input BRK in input mode</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Bidirectional</name>
                  <description>Break input BRK in bidirectional mode</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BKDSRM</name>
              <description>Break Disarm</description>
              <bitOffset>26</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>BKDSRM</name>
                <enumeratedValue>
                  <name>Armed</name>
                  <description>Break input BRK is armed</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Disarmed</name>
                  <description>Break input BRK is disarmed</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>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>
          </fields>
        </register>
        <register>
          <name>DCR</name>
          <displayName>DCR</displayName>
          <description>TIM16/TIM17 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>17</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>TIM16/TIM17 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>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>65535</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>OR1</name>
          <displayName>OR1</displayName>
          <description>TIM16 option register 1</description>
          <addressOffset>0x50</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TI1_RMP</name>
              <description>Timer 17 input 1               connection</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>TI1_RMP</name>
                <enumeratedValue>
                  <name>GPIO</name>
                  <description>TI1 is connected to GPIO</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LSI</name>
                  <description>TI1 is connected to LSI</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LSE</name>
                  <description>TI1 is connected to LSE</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>RTC</name>
                  <description>TI1 is connected to RTC wake-up interrupt</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>AF1</name>
          <displayName>AF1</displayName>
          <description>TIM16 alternate function register           1</description>
          <addressOffset>0x60</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000001</resetValue>
          <fields>
            <field>
              <name>BKCMP2P</name>
              <description>BRK COMP2 input polarity</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>BKCMP2P</name>
                <enumeratedValue>
                  <name>NotInverted</name>
                  <description>Input polarity not inverted</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Inverted</name>
                  <description>Input polarity inverted</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BKCMP1P</name>
              <description>BRK COMP1 input polarity</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>BKCMP1P</name>
                <enumeratedValue>
                  <name>NotInverted</name>
                  <description>Input polarity not inverted</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Inverted</name>
                  <description>Input polarity inverted</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BKINP</name>
              <description>BRK BKIN input polarity</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>BKINP</name>
                <enumeratedValue>
                  <name>NotInverted</name>
                  <description>Input polarity not inverted</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Inverted</name>
                  <description>Input polarity inverted</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BKCMP2E</name>
              <description>BRK COMP2 enable</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>BKCMP2E</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>COMP2 input disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>COMP2 input enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BKCMP1E</name>
              <description>BRK COMP1 enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>BKCMP1E</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>COMP1 input disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>COMP1 input enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BKINE</name>
              <description>BRK BKIN input enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>BKINE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>BKIN input disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>BKIN input enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>TISEL</name>
          <displayName>TISEL</displayName>
          <description>TIM16 input selection register</description>
          <addressOffset>0x68</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TISEL</name>
              <description>TISEL</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues>
                <name>TISEL</name>
                <enumeratedValue>
                  <name>Selected</name>
                  <description>TIM1_CH1 input selected</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </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>Timer 17 global interrupt</description>
        <value>29</value>
      </interrupt>
      <registers>
        <register derivedFrom="TIM16.CR1">
          <name>CR1</name>
          <displayName>CR1</displayName>
          <description>TIM16/TIM17 control register 1</description>
          <addressOffset>0x0</addressOffset>
        </register>
        <register derivedFrom="TIM16.CR2">
          <name>CR2</name>
          <displayName>CR2</displayName>
          <description>TIM16/TIM17 control register 2</description>
          <addressOffset>0x4</addressOffset>
        </register>
        <register derivedFrom="TIM16.DIER">
          <name>DIER</name>
          <displayName>DIER</displayName>
          <description>TIM16/TIM17 DMA/interrupt enable           register</description>
          <addressOffset>0xC</addressOffset>
        </register>
        <register derivedFrom="TIM16.SR">
          <name>SR</name>
          <displayName>SR</displayName>
          <description>TIM16/TIM17 status register</description>
          <addressOffset>0x10</addressOffset>
        </register>
        <register derivedFrom="TIM16.EGR">
          <name>EGR</name>
          <displayName>EGR</displayName>
          <description>TIM16/TIM17 event generation           register</description>
          <addressOffset>0x14</addressOffset>
        </register>
        <register derivedFrom="TIM16.CCMR1_Output">
          <name>CCMR1_Output</name>
          <displayName>CCMR1_Output</displayName>
          <description>TIM16/TIM17 capture/compare mode register           1</description>
          <addressOffset>0x18</addressOffset>
        </register>
        <register derivedFrom="TIM16.CCMR1_Input">
          <name>CCMR1_Input</name>
          <displayName>CCMR1_Input</displayName>
          <description>TIM16/TIM17 capture/compare mode register           1</description>
          <alternateRegister>CCMR1_Output</alternateRegister>
          <addressOffset>0x18</addressOffset>
        </register>
        <register derivedFrom="TIM16.CCER">
          <name>CCER</name>
          <displayName>CCER</displayName>
          <description>TIM16/TIM17 capture/compare enable           register</description>
          <addressOffset>0x20</addressOffset>
        </register>
        <register derivedFrom="TIM16.CNT">
          <name>CNT</name>
          <displayName>CNT</displayName>
          <description>TIM16/TIM17 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>TIM16/TIM17 prescaler</description>
          <addressOffset>0x28</addressOffset>
        </register>
        <register derivedFrom="TIM16.ARR">
          <name>ARR</name>
          <displayName>ARR</displayName>
          <description>TIM16/TIM17 auto-reload           register</description>
          <addressOffset>0x2C</addressOffset>
        </register>
        <register derivedFrom="TIM16.RCR">
          <name>RCR</name>
          <displayName>RCR</displayName>
          <description>TIM16/TIM17 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>TIM16/TIM17 break and dead-time           register</description>
          <addressOffset>0x44</addressOffset>
        </register>
        <register derivedFrom="TIM16.DCR">
          <name>DCR</name>
          <displayName>DCR</displayName>
          <description>TIM16/TIM17 DMA control           register</description>
          <addressOffset>0x48</addressOffset>
        </register>
        <register derivedFrom="TIM16.DMAR">
          <name>DMAR</name>
          <displayName>DMAR</displayName>
          <description>TIM16/TIM17 DMA address for full           transfer</description>
          <addressOffset>0x4C</addressOffset>
        </register>
        <register>
          <name>OR1</name>
          <displayName>OR1</displayName>
          <description>TIM17 option register 1</description>
          <addressOffset>0x50</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TI1_RMP</name>
              <description>Timer 17 input 1               connection</description>
              <bitOffset>0</bitOffset>
              <bitWidth>2</bitWidth>
              <enumeratedValues>
                <name>TI1_RMP</name>
                <enumeratedValue>
                  <name>GPIO</name>
                  <description>TI1 is connected to GPIO</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LSI</name>
                  <description>TI1 is connected to LSI</description>
                  <value>1</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>LSE</name>
                  <description>TI1 is connected to LSE</description>
                  <value>2</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>RTC</name>
                  <description>TI1 is connected to RTC wake-up interrupt</description>
                  <value>3</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>AF1</name>
          <displayName>AF1</displayName>
          <description>TIM17 alternate function register           1</description>
          <addressOffset>0x60</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000001</resetValue>
          <fields>
            <field>
              <name>BKCMP2P</name>
              <description>BRK COMP2 input polarity</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>BKCMP2P</name>
                <enumeratedValue>
                  <name>NotInverted</name>
                  <description>Input polarity not inverted</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Inverted</name>
                  <description>Input polarity inverted</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BKCMP1P</name>
              <description>BRK COMP1 input polarity</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>BKCMP1P</name>
                <enumeratedValue>
                  <name>NotInverted</name>
                  <description>Input polarity not inverted</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Inverted</name>
                  <description>Input polarity inverted</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BKINP</name>
              <description>BRK BKIN input polarity</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>BKINP</name>
                <enumeratedValue>
                  <name>NotInverted</name>
                  <description>Input polarity not inverted</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Inverted</name>
                  <description>Input polarity inverted</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BKCMP2E</name>
              <description>BRK COMP2 enable</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>BKCMP2E</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>COMP2 input disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>COMP2 input enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BKCMP1E</name>
              <description>BRK COMP1 enable</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>BKCMP1E</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>COMP1 input disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>COMP1 input enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>BKINE</name>
              <description>BRK BKIN input enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <enumeratedValues>
                <name>BKINE</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>BKIN input disabled</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>BKIN input enabled</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>TISEL</name>
          <displayName>TISEL</displayName>
          <description>TIM17 input selection register</description>
          <addressOffset>0x68</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TISEL</name>
              <description>TISEL</description>
              <bitOffset>0</bitOffset>
              <bitWidth>4</bitWidth>
              <enumeratedValues>
                <name>TISEL</name>
                <enumeratedValue>
                  <name>Selected</name>
                  <description>TIM1_CH1 input selected</description>
                  <value>0</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>TZIC</name>
      <description>TrustZone Interrupt Control</description>
      <groupName>TZSC</groupName>
      <baseAddress>0x58004800</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <registers>
        <register>
          <name>IER1</name>
          <displayName>IER1</displayName>
          <description>TZIC interrupt enable register 1</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0xFFFFFFFF</resetValue>
          <fields>
            <field>
              <name>TZICIE</name>
              <description>TZICIE</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TZSCIE</name>
              <description>TZSCIE</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>AESIE</name>
              <description>AESIE</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RNGIE</name>
              <description>RNGIE</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SUBGHZSPIIE</name>
              <description>SUBGHZSPIIE</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>PWRIE</name>
              <description>PWRIE</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>FLASHIFIE</name>
              <description>FLASHIFIE</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DMA1IE</name>
              <description>DMA1IE</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DMA2IE</name>
              <description>DMA2IE</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DMAMUX1IE</name>
              <description>DMAMUX1IE</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>FLASHIE</name>
              <description>FLASHIE</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SRAM1IE</name>
              <description>SRAM1IE</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SRAM2IE</name>
              <description>SRAM2IE</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>PKAIE</name>
              <description>PKAIE</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MISR1</name>
          <displayName>MISR1</displayName>
          <description>TZIC status register 1</description>
          <addressOffset>0x10</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TZICMF</name>
              <description>TZICMF</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TZSCMF</name>
              <description>TZSCMF</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>AESMF</name>
              <description>AESMF</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RNGMF</name>
              <description>RNGMF</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SUBGHZSPIMF</name>
              <description>SUBGHZSPIMF</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>PWRMF</name>
              <description>PWRMF</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>FLASHIFMF</name>
              <description>FLASHIFMF</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DMA1MF</name>
              <description>DMA1MF</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DMA2MF</name>
              <description>DMA2MF</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DMAMUX1MF</name>
              <description>DMAMUX1MF</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>FLASHMF</name>
              <description>FLASHMF</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SRAM1MF</name>
              <description>SRAM1MF</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SRAM2MF</name>
              <description>SRAM2MF</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>PKAMF</name>
              <description>PKAMF</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>ICR1</name>
          <displayName>ICR1</displayName>
          <description>TZIC interrupt status clear register 1</description>
          <addressOffset>0x20</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TZICCF</name>
              <description>TZICCF</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>TZSCCF</name>
              <description>TZSCCF</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>AESCF</name>
              <description>AESCF</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RNGCF</name>
              <description>RNGCF</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SUBGHZSPICF</name>
              <description>SUBGHZSPICF</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>PWRCF</name>
              <description>PWRCF</description>
              <bitOffset>5</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>FLASHIFCF</name>
              <description>FLASHIFCF</description>
              <bitOffset>6</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DMA1CF</name>
              <description>DMA1CF</description>
              <bitOffset>7</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DMA2CF</name>
              <description>DMA2CF</description>
              <bitOffset>8</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>DMAMUX1CF</name>
              <description>DMAMUX1CF</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>FLASHCF</name>
              <description>FLASHCF</description>
              <bitOffset>10</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SRAM1CF</name>
              <description>SRAM1CF</description>
              <bitOffset>11</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SRAM2CF</name>
              <description>SRAM2CF</description>
              <bitOffset>12</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>PKACF</name>
              <description>PKACF</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>TZSC</name>
      <description>Global TrustZone Controller</description>
      <groupName>TZSC</groupName>
      <baseAddress>0x58004400</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <registers>
        <register>
          <name>CR</name>
          <displayName>CR</displayName>
          <description>TZSC control register</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>LCK</name>
              <description>LCK</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>SECCFGR1</name>
          <displayName>SECCFGR1</displayName>
          <description>TZSC security configuration           register</description>
          <addressOffset>0x10</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>AESSEC</name>
              <description>AESSEC</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RNGSEC</name>
              <description>RNGSEC</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>PKASEC</name>
              <description>PKASEC</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>PRIVCFGR1</name>
          <displayName>PRIVCFGR1</displayName>
          <description>TZSC privilege configuration register           1</description>
          <addressOffset>0x20</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>AESPRIV</name>
              <description>AESPRIV</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>RNGPRIV</name>
              <description>RNGPRIV</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>SUBGHZSPIPRIV</name>
              <description>SUBGHZSPIPRIV</description>
              <bitOffset>4</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
            <field>
              <name>PKAPRIV</name>
              <description>PKAPRIV</description>
              <bitOffset>13</bitOffset>
              <bitWidth>1</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MPCWM1_UPWMR</name>
          <displayName>MPCWM1_UPWMR</displayName>
          <description>Unprivileged Water Mark 1 register</description>
          <addressOffset>0x130</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x0FFF0000</resetValue>
          <fields>
            <field>
              <name>LGTH</name>
              <description>LGTH</description>
              <bitOffset>16</bitOffset>
              <bitWidth>12</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MPCWM1_UPWWMR</name>
          <displayName>MPCWM1_UPWWMR</displayName>
          <description>Unprivileged Writable Water Mark 1 register</description>
          <addressOffset>0x134</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x0FFF0000</resetValue>
          <fields>
            <field>
              <name>LGTH</name>
              <description>Define the length of Flash Unprivileged               Writable area, in 2</description>
              <bitOffset>16</bitOffset>
              <bitWidth>12</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MPCWM2_UPWMR</name>
          <displayName>MPCWM2_UPWMR</displayName>
          <description>Unprivileged Water Mark 2 register</description>
          <addressOffset>0x138</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x0FFF0000</resetValue>
          <fields>
            <field>
              <name>LGTH</name>
              <description>LGTH</description>
              <bitOffset>16</bitOffset>
              <bitWidth>12</bitWidth>
            </field>
          </fields>
        </register>
        <register>
          <name>MPCWM3_UPWMR</name>
          <displayName>MPCWM3_UPWMR</displayName>
          <description>Unprivileged Water Mark 3 register</description>
          <addressOffset>0x140</addressOffset>
          <size>0x20</size>
          <access>read-write</access>
          <resetValue>0x0FFF0000</resetValue>
          <fields>
            <field>
              <name>LGTH</name>
              <description>LGTH</description>
              <bitOffset>16</bitOffset>
              <bitWidth>12</bitWidth>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>USART1</name>
      <description>Universal synchronous asynchronous receiver       transmitter</description>
      <groupName>USART</groupName>
      <baseAddress>0x40013800</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>USART1</name>
        <description>USART1 global interrupt</description>
        <value>36</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 deassertion               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>Transmit data register empty/TXFIFO not               full 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>Receive data register not empty/RXFIFO               not empty 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 low-power               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>DIS_NSS</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 low-power 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 low-power 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>OVRDIS: 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>IrDA 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>IrDA 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>BRR</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>read-write</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 and status register</description>
          <addressOffset>0x1C</addressOffset>
          <size>0x20</size>
          <access>read-only</access>
          <resetValue>0x00000000</resetValue>
          <fields>
            <field>
              <name>TXFT</name>
              <description>TXFT</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>RXFT</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>TCBGT</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>RXFF</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>TXFE</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>UDR</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>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 low-power 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>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>37</value>
      </interrupt>
    </peripheral>
    <peripheral>
      <name>VREFBUF</name>
      <description>Voltage reference buffer</description>
      <groupName>VREFBUF</groupName>
      <baseAddress>0x40010030</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0xD0</size>
        <usage>registers</usage>
      </addressBlock>
      <registers>
        <register>
          <name>CSR</name>
          <displayName>CSR</displayName>
          <description>control and status register</description>
          <addressOffset>0x0</addressOffset>
          <size>0x20</size>
          <resetValue>0x00000002</resetValue>
          <fields>
            <field>
              <name>VRR</name>
              <description>Voltage reference buffer               ready</description>
              <bitOffset>3</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-only</access>
              <enumeratedValues>
                <name>VRR</name>
                <enumeratedValue>
                  <name>NotReady</name>
                  <description>The voltage reference buffer output is not ready</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Ready</name>
                  <description>The voltage reference buffer output reached the requested level</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>VRS</name>
              <description>Voltage reference scale</description>
              <bitOffset>2</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>VRS</name>
                <enumeratedValue>
                  <name>V2_048</name>
                  <description>Voltage reference set to VREF_OUT1 (around 2.048 V)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>V2_5</name>
                  <description>Voltage reference set to VREF_OUT2 (around 2.5 V)</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>HIZ</name>
              <description>High impedance mode</description>
              <bitOffset>1</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>HIZ</name>
                <enumeratedValue>
                  <name>Connected</name>
                  <description>VREF+ pin is internally connected to the voltage reference buffer output</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>HighZ</name>
                  <description>VREF+ pin is high impedance</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>ENVR</name>
              <description>Voltage reference buffer mode               enable</description>
              <bitOffset>0</bitOffset>
              <bitWidth>1</bitWidth>
              <access>read-write</access>
              <enumeratedValues>
                <name>ENVR</name>
                <enumeratedValue>
                  <name>Disabled</name>
                  <description>Internal voltage reference mode disable (external voltage reference mode)</description>
                  <value>0</value>
                </enumeratedValue>
                <enumeratedValue>
                  <name>Enabled</name>
                  <description>Internal voltage reference mode (reference buffer enable or hold mode) enable</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
          </fields>
        </register>
        <register>
          <name>CCR</name>
          <displayName>CCR</displayName>
          <description>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</description>
              <bitOffset>0</bitOffset>
              <bitWidth>6</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>63</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
      </registers>
    </peripheral>
    <peripheral>
      <name>WWDG</name>
      <description>System window watchdog</description>
      <groupName>WWDG</groupName>
      <baseAddress>0x40002C00</baseAddress>
      <addressBlock>
        <offset>0x0</offset>
        <size>0x400</size>
        <usage>registers</usage>
      </addressBlock>
      <interrupt>
        <name>WWDG</name>
        <description>Window watchdog early wakeup interrupt</description>
        <value>0</value>
      </interrupt>
      <registers>
        <register>
          <name>CR</name>
          <displayName>CR</displayName>
          <description>Control register</description>
          <addressOffset>0x0</addressOffset>
          <size>0x10</size>
          <access>read-write</access>
          <resetValue>0x0000007F</resetValue>
          <fields>
            <field>
              <name>WDGA</name>
              <description>Activation bit</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>
            <field>
              <name>T</name>
              <description>7-bit counter (MSB to LSB)</description>
              <bitOffset>0</bitOffset>
              <bitWidth>7</bitWidth>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>127</maximum>
                </range>
              </writeConstraint>
            </field>
          </fields>
        </register>
        <register>
          <name>CFR</name>
          <displayName>CFR</displayName>
          <description>Configuration register</description>
          <addressOffset>0x4</addressOffset>
          <size>0x10</size>
          <resetValue>0x0000007F</resetValue>
          <fields>
            <field>
              <name>WDGTB</name>
              <description>Timer base</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>
              </enumeratedValues>
            </field>
            <field>
              <name>EWI</name>
              <description>Early wakeup interrupt</description>
              <bitOffset>9</bitOffset>
              <bitWidth>1</bitWidth>
              <access>write-only</access>
              <enumeratedValues>
                <name>EWIW</name>
                <enumeratedValue>
                  <name>Enable</name>
                  <description>interrupt occurs whenever the counter reaches the value 0x40</description>
                  <value>1</value>
                </enumeratedValue>
              </enumeratedValues>
            </field>
            <field>
              <name>W</name>
              <description>7-bit window value</description>
              <bitOffset>0</bitOffset>
              <bitWidth>7</bitWidth>
              <access>read-write</access>
              <writeConstraint>
                <range>
                  <minimum>0</minimum>
                  <maximum>127</maximum>
                </range>
              </writeConstraint>
            </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</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>
  </peripherals>
</device>