<!DOCTYPE Register_Definition_File>
<Processor name="STM32G07x" description="STM32G07x">
  <RegisterGroup name="IWDG" start="0x40003000" description="Independent watchdog">
    <Register start="+0x0" size="0" name="KR" access="WriteOnly" description="Key register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="16" name="KEY" description="Key value (write only, read&#xa;              0x0000)" />
    </Register>
    <Register start="+0x4" size="0" name="PR" access="Read/Write" description="Prescaler register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="3" name="PR" description="Prescaler divider" />
    </Register>
    <Register start="+0x8" size="0" name="RLR" access="Read/Write" description="Reload register" reset_value="0x00000FFF" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="12" name="RL" description="Watchdog counter reload&#xa;              value" />
    </Register>
    <Register start="+0xC" size="0" name="SR" access="ReadOnly" description="Status register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="2" size="1" name="WVU" description="Watchdog counter window value&#xa;              update" />
      <BitField start="1" size="1" name="RVU" description="Watchdog counter reload value&#xa;              update" />
      <BitField start="0" size="1" name="PVU" description="Watchdog prescaler value&#xa;              update" />
    </Register>
    <Register start="+0x10" size="0" name="WINR" access="Read/Write" description="Window register" reset_value="0x00000FFF" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="12" name="WIN" description="Watchdog counter window&#xa;              value" />
    </Register>
    <Register start="+0x3F0" size="0" name="HWCFGR" access="Read/Write" description="hardware configuration&#xa;          register" reset_value="0x00000071" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="4" name="WINDOW" description="Support of Window function" />
      <BitField start="4" size="4" name="PR_DEFAULT" description="Prescaler default value" />
    </Register>
    <Register start="+0x3F4" size="0" name="VERR" access="ReadOnly" description="EXTI IP Version register" reset_value="0x00000023" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="4" name="MINREV" description="Minor Revision number" />
      <BitField start="4" size="4" name="MAJREV" description="Major Revision number" />
    </Register>
    <Register start="+0x3F8" size="0" name="IPIDR" access="ReadOnly" description="EXTI Identification register" reset_value="0x00120041" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="IPID" description="IP Identification" />
    </Register>
    <Register start="+0x3FC" size="0" name="SIDR" access="ReadOnly" description="EXTI Size ID register" reset_value="0xA3C5DD01" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="SID" description="Size Identification" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="WWDG" start="0x40002C00" description="System window watchdog">
    <Register start="+0x0" size="0" name="CR" access="Read/Write" description="Control register" reset_value="0x0000007F" reset_mask="0xFFFFFFFF">
      <BitField start="7" size="1" name="WDGA" description="Activation bit" />
      <BitField start="0" size="7" name="T" description="7-bit counter (MSB to LSB)" />
    </Register>
    <Register start="+0x4" size="0" name="CFR" access="Read/Write" description="Configuration register" reset_value="0x0000007F" reset_mask="0xFFFFFFFF">
      <BitField start="11" size="3" name="WDGTB" description="Timer base" />
      <BitField start="9" size="1" name="EWI" description="Early wakeup interrupt" />
      <BitField start="0" size="7" name="W" description="7-bit window value" />
    </Register>
    <Register start="+0x8" size="0" name="SR" access="Read/Write" description="Status register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="EWIF" description="Early wakeup interrupt&#xa;              flag" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="FLASH" start="0x40022000" description="Flash">
    <Register start="+0x0" size="0" name="ACR" access="Read/Write" description="Access control register" reset_value="0x00000600" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="3" name="LATENCY" description="Latency" />
      <BitField start="8" size="1" name="PRFTEN" description="Prefetch enable" />
      <BitField start="9" size="1" name="ICEN" description="Instruction cache enable" />
      <BitField start="11" size="1" name="ICRST" description="Instruction cache reset" />
      <BitField start="16" size="1" name="EMPTY" description="Flash User area empty" />
      <BitField start="18" size="1" name="DBG_SWEN" description="Debug access software&#xa;              enable" />
    </Register>
    <Register start="+0x8" size="0" name="KEYR" access="WriteOnly" description="Flash key register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="KEYR" description="KEYR" />
    </Register>
    <Register start="+0xC" size="0" name="OPTKEYR" access="WriteOnly" description="Option byte key register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="OPTKEYR" description="Option byte key" />
    </Register>
    <Register start="+0x10" size="0" name="SR" access="Read/Write" description="Status register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="EOP" description="End of operation" />
      <BitField start="1" size="1" name="OPERR" description="Operation error" />
      <BitField start="3" size="1" name="PROGERR" description="Programming error" />
      <BitField start="4" size="1" name="WRPERR" description="Write protected error" />
      <BitField start="5" size="1" name="PGAERR" description="Programming alignment&#xa;              error" />
      <BitField start="6" size="1" name="SIZERR" description="Size error" />
      <BitField start="7" size="1" name="PGSERR" description="Programming sequence error" />
      <BitField start="8" size="1" name="MISERR" description="Fast programming data miss&#xa;              error" />
      <BitField start="9" size="1" name="FASTERR" description="Fast programming error" />
      <BitField start="14" size="1" name="RDERR" description="PCROP read error" />
      <BitField start="15" size="1" name="OPTVERR" description="Option and Engineering bits loading&#xa;              validity error" />
      <BitField start="16" size="1" name="BSY" description="Busy" />
      <BitField start="18" size="1" name="CFGBSY" description="Programming or erase configuration&#xa;              busy." />
    </Register>
    <Register start="+0x14" size="0" name="CR" access="Read/Write" description="Flash control register" reset_value="0xC0000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="PG" description="Programming" />
      <BitField start="1" size="1" name="PER" description="Page erase" />
      <BitField start="2" size="1" name="MER" description="Mass erase" />
      <BitField start="3" size="6" name="PNB" description="Page number" />
      <BitField start="16" size="1" name="STRT" description="Start" />
      <BitField start="17" size="1" name="OPTSTRT" description="Options modification start" />
      <BitField start="18" size="1" name="FSTPG" description="Fast programming" />
      <BitField start="24" size="1" name="EOPIE" description="End of operation interrupt&#xa;              enable" />
      <BitField start="25" size="1" name="ERRIE" description="Error interrupt enable" />
      <BitField start="26" size="1" name="RDERRIE" description="PCROP read error interrupt&#xa;              enable" />
      <BitField start="27" size="1" name="OBL_LAUNCH" description="Force the option byte&#xa;              loading" />
      <BitField start="28" size="1" name="SEC_PROT" description="Securable memory area protection&#xa;              enable" />
      <BitField start="30" size="1" name="OPTLOCK" description="Options Lock" />
      <BitField start="31" size="1" name="LOCK" description="FLASH_CR Lock" />
    </Register>
    <Register start="+0x18" size="0" name="ECCR" access="Read/Write" description="Flash ECC register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="14" name="ADDR_ECC" description="ECC fail address" />
      <BitField start="20" size="1" name="SYSF_ECC" description="ECC fail for Corrected ECC Error or&#xa;              Double ECC Error in info block" />
      <BitField start="24" size="1" name="ECCIE" description="ECC correction interrupt&#xa;              enable" />
      <BitField start="30" size="1" name="ECCC" description="ECC correction" />
      <BitField start="31" size="1" name="ECCD" description="ECC detection" />
    </Register>
    <Register start="+0x20" size="0" name="OPTR" access="Read/Write" description="Flash option register" reset_value="0xF0000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="8" name="RDP" description="Read protection level" />
      <BitField start="8" size="1" name="BOREN" description="BOR reset Level" />
      <BitField start="9" size="2" name="BORF_LEV" description="These bits contain the VDD supply level&#xa;              threshold that activates the reset" />
      <BitField start="11" size="2" name="BORR_LEV" description="These bits contain the VDD supply level&#xa;              threshold that releases the reset." />
      <BitField start="13" size="1" name="nRST_STOP" description="nRST_STOP" />
      <BitField start="14" size="1" name="nRST_STDBY" description="nRST_STDBY" />
      <BitField start="15" size="1" name="nRSTS_HDW" description="nRSTS_HDW" />
      <BitField start="16" size="1" name="IDWG_SW" description="Independent watchdog&#xa;              selection" />
      <BitField start="17" size="1" name="IWDG_STOP" description="Independent watchdog counter freeze in&#xa;              Stop mode" />
      <BitField start="18" size="1" name="IWDG_STDBY" description="Independent watchdog counter freeze in&#xa;              Standby mode" />
      <BitField start="19" size="1" name="WWDG_SW" description="Window watchdog selection" />
      <BitField start="22" size="1" name="RAM_PARITY_CHECK" description="SRAM parity check control" />
      <BitField start="24" size="1" name="nBOOT_SEL" description="nBOOT_SEL" />
      <BitField start="25" size="1" name="nBOOT1" description="Boot configuration" />
      <BitField start="26" size="1" name="nBOOT0" description="nBOOT0 option bit" />
      <BitField start="27" size="2" name="NRST_MODE" description="NRST_MODE" />
      <BitField start="29" size="1" name="IRHEN" description="Internal reset holder enable&#xa;              bit" />
    </Register>
    <Register start="+0x24" size="0" name="PCROP1ASR" access="ReadOnly" description="Flash PCROP zone A Start address&#xa;          register" reset_value="0xF0000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="8" name="PCROP1A_STRT" description="PCROP1A area start offset" />
    </Register>
    <Register start="+0x28" size="0" name="PCROP1AER" access="ReadOnly" description="Flash PCROP zone A End address&#xa;          register" reset_value="0xF0000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="8" name="PCROP1A_END" description="PCROP1A area end offset" />
      <BitField start="31" size="1" name="PCROP_RDP" description="PCROP area preserved when RDP level&#xa;              decreased" />
    </Register>
    <Register start="+0x2C" size="0" name="WRP1AR" access="ReadOnly" description="Flash WRP area A address&#xa;          register" reset_value="0xF0000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="6" name="WRP1A_STRT" description="WRP area A start offset" />
      <BitField start="16" size="6" name="WRP1A_END" description="WRP area A end offset" />
    </Register>
    <Register start="+0x30" size="0" name="WRP1BR" access="ReadOnly" description="Flash WRP area B address&#xa;          register" reset_value="0xF0000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="6" name="WRP1B_STRT" description="WRP area B start offset" />
      <BitField start="16" size="6" name="WRP1B_END" description="WRP area B end offset" />
    </Register>
    <Register start="+0x34" size="0" name="PCROP1BSR" access="ReadOnly" description="Flash PCROP zone B Start address&#xa;          register" reset_value="0xF0000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="8" name="PCROP1B_STRT" description="PCROP1B area start offset" />
    </Register>
    <Register start="+0x38" size="0" name="PCROP1BER" access="ReadOnly" description="Flash PCROP zone B End address&#xa;          register" reset_value="0xF0000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="8" name="PCROP1B_END" description="PCROP1B area end offset" />
    </Register>
    <Register start="+0x80" size="0" name="SECR" access="ReadOnly" description="Flash Security register" reset_value="0xF0000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="7" name="SEC_SIZE" description="Securable memory area size" />
      <BitField start="16" size="1" name="BOOT_LOCK" description="used to force boot from user&#xa;              area" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="DBG" start="0x40015800" description="Debug support">
    <Register start="+0x0" size="0" name="IDCODE" access="ReadOnly" description="MCU Device ID Code Register" reset_value="0x0" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="16" name="DEV_ID" description="Device Identifier" />
      <BitField start="16" size="16" name="REV_ID" description="Revision Identifier" />
    </Register>
    <Register start="+0x4" size="0" name="CR" access="Read/Write" description="Debug MCU Configuration&#xa;          Register" reset_value="0x0" reset_mask="0xFFFFFFFF">
      <BitField start="1" size="1" name="DBG_STOP" description="Debug Stop Mode" />
      <BitField start="2" size="1" name="DBG_STANDBY" description="Debug Standby Mode" />
    </Register>
    <Register start="+0x8" size="0" name="APB_FZ1" access="Read/Write" description="DBG APB freeze register 1" reset_value="0x0" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="DBG_TIMER2_STOP" description="Debug Timer 2 stopped when Core is&#xa;              halted" />
      <BitField start="1" size="1" name="DBG_TIM3_STOP" description="TIM3 counter stopped when core is&#xa;              halted" />
      <BitField start="4" size="1" name="DBG_TIMER6_STOP" description="Debug Timer 6 stopped when Core is&#xa;              halted" />
      <BitField start="5" size="1" name="DBG_TIM7_STOP" description="TIM7 counter stopped when core is&#xa;              halted" />
      <BitField start="10" size="1" name="DBG_RTC_STOP" description="Debug RTC stopped when Core is&#xa;              halted" />
      <BitField start="11" size="1" name="DBG_WWDG_STOP" description="Debug Window Wachdog stopped when Core&#xa;              is halted" />
      <BitField start="12" size="1" name="DBG_IWDG_STOP" description="Debug Independent Wachdog stopped when&#xa;              Core is halted" />
      <BitField start="21" size="1" name="DBG_I2C1_STOP" description="I2C1 SMBUS timeout mode stopped when&#xa;              core is halted" />
      <BitField start="30" size="1" name="DBG_LPTIM2_STOP" description="Clocking of LPTIMER2 counter when the&#xa;              core is halted" />
      <BitField start="31" size="1" name="DBG_LPTIM1_STOP" description="Clocking of LPTIMER1 counter when the&#xa;              core is halted" />
    </Register>
    <Register start="+0xC" size="0" name="APB_FZ2" access="Read/Write" description="DBG APB freeze register 2" reset_value="0x0" reset_mask="0xFFFFFFFF">
      <BitField start="11" size="1" name="DBG_TIM1_STOP" description="DBG_TIM1_STOP" />
      <BitField start="15" size="1" name="DBG_TIM14_STOP" description="DBG_TIM14_STOP" />
      <BitField start="16" size="1" name="DBG_TIM15_STOP" description="DBG_TIM15_STOP" />
      <BitField start="17" size="1" name="DBG_TIM16_STOP" description="DBG_TIM16_STOP" />
      <BitField start="18" size="1" name="DBG_TIM17_STOP" description="DBG_TIM17_STOP" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="RCC" start="0x40021000" description="Reset and clock control">
    <Register start="+0x0" size="0" name="CR" access="Read/Write" description="Clock control register" reset_value="0x00000063" reset_mask="0xFFFFFFFF">
      <BitField start="8" size="1" name="HSION" description="HSI16 clock enable" />
      <BitField start="9" size="1" name="HSIKERON" description="HSI16 always enable for peripheral&#xa;              kernels" />
      <BitField start="10" size="1" name="HSIRDY" description="HSI16 clock ready flag" />
      <BitField start="11" size="3" name="HSIDIV" description="HSI16 clock division&#xa;              factor" />
      <BitField start="16" size="1" name="HSEON" description="HSE clock enable" />
      <BitField start="17" size="1" name="HSERDY" description="HSE clock ready flag" />
      <BitField start="18" size="1" name="HSEBYP" description="HSE crystal oscillator&#xa;              bypass" />
      <BitField start="19" size="1" name="CSSON" description="Clock security system&#xa;              enable" />
      <BitField start="24" size="1" name="PLLON" description="PLL enable" />
      <BitField start="25" size="1" name="PLLRDY" description="PLL clock ready flag" />
    </Register>
    <Register start="+0x4" size="0" name="ICSCR" access="Read/Write" description="Internal clock sources calibration&#xa;          register" reset_value="0x10000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="8" name="HSICAL" description="HSI16 clock calibration" />
      <BitField start="8" size="7" name="HSITRIM" description="HSI16 clock trimming" />
    </Register>
    <Register start="+0x8" size="0" name="CFGR" access="Read/Write" description="Clock configuration register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="28" size="3" name="MCOPRE" description="Microcontroller clock output&#xa;              prescaler" />
      <BitField start="24" size="3" name="MCOSEL" description="Microcontroller clock&#xa;              output" />
      <BitField start="12" size="3" name="PPRE" description="APB prescaler" />
      <BitField start="8" size="4" name="HPRE" description="AHB prescaler" />
      <BitField start="3" size="3" name="SWS" description="System clock switch status" />
      <BitField start="0" size="3" name="SW" description="System clock switch" />
    </Register>
    <Register start="+0xC" size="0" name="PLLSYSCFGR" access="Read/Write" description="PLL configuration register" reset_value="0x00001000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="2" name="PLLSRC" description="PLL input clock source" />
      <BitField start="4" size="3" name="PLLM" description="Division factor M of the PLL input clock&#xa;              divider" />
      <BitField start="8" size="7" name="PLLN" description="PLL frequency multiplication factor&#xa;              N" />
      <BitField start="16" size="1" name="PLLPEN" description="PLLPCLK clock output&#xa;              enable" />
      <BitField start="17" size="5" name="PLLP" description="PLL VCO division factor P for PLLPCLK&#xa;              clock output" />
      <BitField start="24" size="1" name="PLLQEN" description="PLLQCLK clock output&#xa;              enable" />
      <BitField start="25" size="3" name="PLLQ" description="PLL VCO division factor Q for PLLQCLK&#xa;              clock output" />
      <BitField start="28" size="1" name="PLLREN" description="PLLRCLK clock output&#xa;              enable" />
      <BitField start="29" size="3" name="PLLR" description="PLL VCO division factor R for PLLRCLK&#xa;              clock output" />
    </Register>
    <Register start="+0x18" size="0" name="CIER" access="Read/Write" description="Clock interrupt enable&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="LSIRDYIE" description="LSI ready interrupt enable" />
      <BitField start="1" size="1" name="LSERDYIE" description="LSE ready interrupt enable" />
      <BitField start="3" size="1" name="HSIRDYIE" description="HSI ready interrupt enable" />
      <BitField start="4" size="1" name="HSERDYIE" description="HSE ready interrupt enable" />
      <BitField start="5" size="1" name="PLLSYSRDYIE" description="PLL ready interrupt enable" />
    </Register>
    <Register start="+0x1C" size="0" name="CIFR" access="ReadOnly" description="Clock interrupt flag register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="LSIRDYF" description="LSI ready interrupt flag" />
      <BitField start="1" size="1" name="LSERDYF" description="LSE ready interrupt flag" />
      <BitField start="3" size="1" name="HSIRDYF" description="HSI ready interrupt flag" />
      <BitField start="4" size="1" name="HSERDYF" description="HSE ready interrupt flag" />
      <BitField start="5" size="1" name="PLLSYSRDYF" description="PLL ready interrupt flag" />
      <BitField start="8" size="1" name="CSSF" description="Clock security system interrupt&#xa;              flag" />
      <BitField start="9" size="1" name="LSECSSF" description="LSE Clock security system interrupt&#xa;              flag" />
    </Register>
    <Register start="+0x20" size="0" name="CICR" access="WriteOnly" description="Clock interrupt clear register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="LSIRDYC" description="LSI ready interrupt clear" />
      <BitField start="1" size="1" name="LSERDYC" description="LSE ready interrupt clear" />
      <BitField start="3" size="1" name="HSIRDYC" description="HSI ready interrupt clear" />
      <BitField start="4" size="1" name="HSERDYC" description="HSE ready interrupt clear" />
      <BitField start="5" size="1" name="PLLSYSRDYC" description="PLL ready interrupt clear" />
      <BitField start="8" size="1" name="CSSC" description="Clock security system interrupt&#xa;              clear" />
      <BitField start="9" size="1" name="LSECSSC" description="LSE Clock security system interrupt&#xa;              clear" />
    </Register>
    <Register start="+0x28" size="0" name="AHBRSTR" access="Read/Write" description="AHB peripheral reset register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="DMARST" description="DMA1 reset" />
      <BitField start="8" size="1" name="FLASHRST" description="FLITF reset" />
      <BitField start="12" size="1" name="CRCRST" description="CRC reset" />
      <BitField start="16" size="1" name="AESRST" description="AES hardware accelerator&#xa;              reset" />
      <BitField start="18" size="1" name="RNGRST" description="Random number generator&#xa;              reset" />
    </Register>
    <Register start="+0x24" size="0" name="IOPRSTR" access="Read/Write" description="GPIO reset register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="IOPARST" description="I/O port A reset" />
      <BitField start="1" size="1" name="IOPBRST" description="I/O port B reset" />
      <BitField start="2" size="1" name="IOPCRST" description="I/O port C reset" />
      <BitField start="3" size="1" name="IOPDRST" description="I/O port D reset" />
      <BitField start="5" size="1" name="IOPFRST" description="I/O port F reset" />
    </Register>
    <Register start="+0x2C" size="0" name="APBRSTR1" access="Read/Write" description="APB peripheral reset register&#xa;          1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="TIM2RST" description="TIM2 timer reset" />
      <BitField start="1" size="1" name="TIM3RST" description="TIM3 timer reset" />
      <BitField start="4" size="1" name="TIM6RST" description="TIM6 timer reset" />
      <BitField start="5" size="1" name="TIM7RST" description="TIM7 timer reset" />
      <BitField start="14" size="1" name="SPI2RST" description="SPI2 reset" />
      <BitField start="17" size="1" name="USART2RST" description="USART2 reset" />
      <BitField start="18" size="1" name="USART3RST" description="USART3 reset" />
      <BitField start="19" size="1" name="USART4RST" description="USART4 reset" />
      <BitField start="20" size="1" name="LPUART1RST" description="LPUART1 reset" />
      <BitField start="21" size="1" name="I2C1RST" description="I2C1 reset" />
      <BitField start="22" size="1" name="I2C2RST" description="I2C2 reset" />
      <BitField start="24" size="1" name="CECRST" description="HDMI CEC reset" />
      <BitField start="25" size="1" name="UCPD1RST" description="UCPD1 reset" />
      <BitField start="26" size="1" name="UCPD2RST" description="UCPD2 reset" />
      <BitField start="27" size="1" name="DBGRST" description="Debug support reset" />
      <BitField start="28" size="1" name="PWRRST" description="Power interface reset" />
      <BitField start="29" size="1" name="DAC1RST" description="DAC1 interface reset" />
      <BitField start="30" size="1" name="LPTIM2RST" description="Low Power Timer 2 reset" />
      <BitField start="31" size="1" name="LPTIM1RST" description="Low Power Timer 1 reset" />
    </Register>
    <Register start="+0x30" size="0" name="APBRSTR2" access="Read/Write" description="APB peripheral reset register&#xa;          2" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="SYSCFGRST" description="SYSCFG, COMP and VREFBUF&#xa;              reset" />
      <BitField start="11" size="1" name="TIM1RST" description="TIM1 timer reset" />
      <BitField start="12" size="1" name="SPI1RST" description="SPI1 reset" />
      <BitField start="14" size="1" name="USART1RST" description="USART1 reset" />
      <BitField start="15" size="1" name="TIM14RST" description="TIM14 timer reset" />
      <BitField start="16" size="1" name="TIM15RST" description="TIM15 timer reset" />
      <BitField start="17" size="1" name="TIM16RST" description="TIM16 timer reset" />
      <BitField start="18" size="1" name="TIM17RST" description="TIM17 timer reset" />
      <BitField start="20" size="1" name="ADCRST" description="ADC reset" />
    </Register>
    <Register start="+0x34" size="0" name="IOPENR" access="Read/Write" description="GPIO clock enable register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="IOPAEN" description="I/O port A clock enable" />
      <BitField start="1" size="1" name="IOPBEN" description="I/O port B clock enable" />
      <BitField start="2" size="1" name="IOPCEN" description="I/O port C clock enable" />
      <BitField start="3" size="1" name="IOPDEN" description="I/O port D clock enable" />
      <BitField start="5" size="1" name="IOPFEN" description="I/O port F clock enable" />
    </Register>
    <Register start="+0x38" size="0" name="AHBENR" access="Read/Write" description="AHB peripheral clock enable&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="DMAEN" description="DMA clock enable" />
      <BitField start="8" size="1" name="FLASHEN" description="Flash memory interface clock&#xa;              enable" />
      <BitField start="12" size="1" name="CRCEN" description="CRC clock enable" />
      <BitField start="16" size="1" name="AESEN" description="AES hardware accelerator" />
      <BitField start="18" size="1" name="RNGEN" description="Random number generator clock&#xa;              enable" />
    </Register>
    <Register start="+0x3C" size="0" name="APBENR1" access="Read/Write" description="APB peripheral clock enable register&#xa;          1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="TIM2EN" description="TIM2 timer clock enable" />
      <BitField start="1" size="1" name="TIM3EN" description="TIM3 timer clock enable" />
      <BitField start="4" size="1" name="TIM6EN" description="TIM6 timer clock enable" />
      <BitField start="5" size="1" name="TIM7EN" description="TIM7 timer clock enable" />
      <BitField start="10" size="1" name="RTCAPBEN" description="RTC APB clock enable" />
      <BitField start="11" size="1" name="WWDGEN" description="WWDG clock enable" />
      <BitField start="14" size="1" name="SPI2EN" description="SPI2 clock enable" />
      <BitField start="17" size="1" name="USART2EN" description="USART2 clock enable" />
      <BitField start="18" size="1" name="USART3EN" description="USART3 clock enable" />
      <BitField start="19" size="1" name="USART4EN" description="USART4 clock enable" />
      <BitField start="20" size="1" name="LPUART1EN" description="LPUART1 clock enable" />
      <BitField start="21" size="1" name="I2C1EN" description="I2C1 clock enable" />
      <BitField start="22" size="1" name="I2C2EN" description="I2C2 clock enable" />
      <BitField start="24" size="1" name="CECEN" description="HDMI CEC clock enable" />
      <BitField start="25" size="1" name="UCPD1EN" description="UCPD1 clock enable" />
      <BitField start="26" size="1" name="UCPD2EN" description="UCPD2 clock enable" />
      <BitField start="27" size="1" name="DBGEN" description="Debug support clock enable" />
      <BitField start="28" size="1" name="PWREN" description="Power interface clock&#xa;              enable" />
      <BitField start="29" size="1" name="DAC1EN" description="DAC1 interface clock&#xa;              enable" />
      <BitField start="30" size="1" name="LPTIM2EN" description="LPTIM2 clock enable" />
      <BitField start="31" size="1" name="LPTIM1EN" description="LPTIM1 clock enable" />
    </Register>
    <Register start="+0x40" size="0" name="APBENR2" access="Read/Write" description="APB peripheral clock enable register&#xa;          2" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="SYSCFGEN" description="SYSCFG, COMP and VREFBUF clock&#xa;              enable" />
      <BitField start="11" size="1" name="TIM1EN" description="TIM1 timer clock enable" />
      <BitField start="12" size="1" name="SPI1EN" description="SPI1 clock enable" />
      <BitField start="14" size="1" name="USART1EN" description="USART1 clock enable" />
      <BitField start="15" size="1" name="TIM14EN" description="TIM14 timer clock enable" />
      <BitField start="16" size="1" name="TIM15EN" description="TIM15 timer clock enable" />
      <BitField start="17" size="1" name="TIM16EN" description="TIM16 timer clock enable" />
      <BitField start="18" size="1" name="TIM17EN" description="TIM16 timer clock enable" />
      <BitField start="20" size="1" name="ADCEN" description="ADC clock enable" />
    </Register>
    <Register start="+0x44" size="0" name="IOPSMENR" access="Read/Write" description="GPIO in Sleep mode clock enable&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="IOPASMEN" description="I/O port A clock enable during Sleep&#xa;              mode" />
      <BitField start="1" size="1" name="IOPBSMEN" description="I/O port B clock enable during Sleep&#xa;              mode" />
      <BitField start="2" size="1" name="IOPCSMEN" description="I/O port C clock enable during Sleep&#xa;              mode" />
      <BitField start="3" size="1" name="IOPDSMEN" description="I/O port D clock enable during Sleep&#xa;              mode" />
      <BitField start="5" size="1" name="IOPFSMEN" description="I/O port F clock enable during Sleep&#xa;              mode" />
    </Register>
    <Register start="+0x48" size="0" name="AHBSMENR" access="Read/Write" description="AHB peripheral clock enable in Sleep mode&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="DMASMEN" description="DMA clock enable during Sleep&#xa;              mode" />
      <BitField start="8" size="1" name="FLASHSMEN" description="Flash memory interface clock enable&#xa;              during Sleep mode" />
      <BitField start="9" size="1" name="SRAMSMEN" description="SRAM clock enable during Sleep&#xa;              mode" />
      <BitField start="12" size="1" name="CRCSMEN" description="CRC clock enable during Sleep&#xa;              mode" />
      <BitField start="16" size="1" name="AESSMEN" description="AES hardware accelerator clock enable&#xa;              during Sleep mode" />
      <BitField start="18" size="1" name="RNGSMEN" description="Random number generator clock enable&#xa;              during Sleep mode" />
    </Register>
    <Register start="+0x4C" size="0" name="APBSMENR1" access="Read/Write" description="APB peripheral clock enable in Sleep mode&#xa;          register 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="TIM2SMEN" description="TIM2 timer clock enable during Sleep&#xa;              mode" />
      <BitField start="1" size="1" name="TIM3SMEN" description="TIM3 timer clock enable during Sleep&#xa;              mode" />
      <BitField start="4" size="1" name="TIM6SMEN" description="TIM6 timer clock enable during Sleep&#xa;              mode" />
      <BitField start="5" size="1" name="TIM7SMEN" description="TIM7 timer clock enable during Sleep&#xa;              mode" />
      <BitField start="10" size="1" name="RTCAPBSMEN" description="RTC APB clock enable during Sleep&#xa;              mode" />
      <BitField start="11" size="1" name="WWDGSMEN" description="WWDG clock enable during Sleep&#xa;              mode" />
      <BitField start="14" size="1" name="SPI2SMEN" description="SPI2 clock enable during Sleep&#xa;              mode" />
      <BitField start="17" size="1" name="USART2SMEN" description="USART2 clock enable during Sleep&#xa;              mode" />
      <BitField start="18" size="1" name="USART3SMEN" description="USART3 clock enable during Sleep&#xa;              mode" />
      <BitField start="19" size="1" name="USART4SMEN" description="USART4 clock enable during Sleep&#xa;              mode" />
      <BitField start="20" size="1" name="LPUART1SMEN" description="LPUART1 clock enable during Sleep&#xa;              mode" />
      <BitField start="21" size="1" name="I2C1SMEN" description="I2C1 clock enable during Sleep&#xa;              mode" />
      <BitField start="22" size="1" name="I2C2SMEN" description="I2C2 clock enable during Sleep&#xa;              mode" />
      <BitField start="24" size="1" name="CECSMEN" description="HDMI CEC clock enable during Sleep&#xa;              mode" />
      <BitField start="25" size="1" name="UCPD1SMEN" description="UCPD1 clock enable during Sleep&#xa;              mode" />
      <BitField start="26" size="1" name="UCPD2SMEN" description="UCPD2 clock enable during Sleep&#xa;              mode" />
      <BitField start="27" size="1" name="DBGSMEN" description="Debug support clock enable during Sleep&#xa;              mode" />
      <BitField start="28" size="1" name="PWRSMEN" description="Power interface clock enable during&#xa;              Sleep mode" />
      <BitField start="29" size="1" name="DAC1SMEN" description="DAC1 interface clock enable during Sleep&#xa;              mode" />
      <BitField start="30" size="1" name="LPTIM2SMEN" description="Low Power Timer 2 clock enable during&#xa;              Sleep mode" />
      <BitField start="31" size="1" name="LPTIM1SMEN" description="Low Power Timer 1 clock enable during&#xa;              Sleep mode" />
    </Register>
    <Register start="+0x50" size="0" name="APBSMENR2" access="Read/Write" description="APB peripheral clock enable in Sleep mode&#xa;          register 2" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="SYSCFGSMEN" description="SYSCFG, COMP and VREFBUF clock enable&#xa;              during Sleep mode" />
      <BitField start="11" size="1" name="TIM1SMEN" description="TIM1 timer clock enable during Sleep&#xa;              mode" />
      <BitField start="12" size="1" name="SPI1SMEN" description="SPI1 clock enable during Sleep&#xa;              mode" />
      <BitField start="14" size="1" name="USART1SMEN" description="USART1 clock enable during Sleep&#xa;              mode" />
      <BitField start="15" size="1" name="TIM14SMEN" description="TIM14 timer clock enable during Sleep&#xa;              mode" />
      <BitField start="16" size="1" name="TIM15SMEN" description="TIM15 timer clock enable during Sleep&#xa;              mode" />
      <BitField start="17" size="1" name="TIM16SMEN" description="TIM16 timer clock enable during Sleep&#xa;              mode" />
      <BitField start="18" size="1" name="TIM17SMEN" description="TIM16 timer clock enable during Sleep&#xa;              mode" />
      <BitField start="20" size="1" name="ADCSMEN" description="ADC clock enable during Sleep&#xa;              mode" />
    </Register>
    <Register start="+0x54" size="0" name="CCIPR" access="Read/Write" description="Peripherals independent clock configuration&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="2" name="USART1SEL" description="USART1 clock source&#xa;              selection" />
      <BitField start="2" size="2" name="USART2SEL" description="USART2 clock source&#xa;              selection" />
      <BitField start="6" size="1" name="CECSEL" description="HDMI CEC clock source&#xa;              selection" />
      <BitField start="10" size="2" name="LPUART1SEL" description="LPUART1 clock source&#xa;              selection" />
      <BitField start="12" size="2" name="I2C1SEL" description="I2C1 clock source&#xa;              selection" />
      <BitField start="14" size="2" name="I2S2SEL" description="I2S1 clock source&#xa;              selection" />
      <BitField start="18" size="2" name="LPTIM1SEL" description="LPTIM1 clock source&#xa;              selection" />
      <BitField start="20" size="2" name="LPTIM2SEL" description="LPTIM2 clock source&#xa;              selection" />
      <BitField start="22" size="1" name="TIM1SEL" description="TIM1 clock source&#xa;              selection" />
      <BitField start="24" size="1" name="TIM15SEL" description="TIM15 clock source&#xa;              selection" />
      <BitField start="26" size="2" name="RNGSEL" description="RNG clock source selection" />
      <BitField start="28" size="2" name="RNGDIV" description="Division factor of RNG clock&#xa;              divider" />
      <BitField start="30" size="2" name="ADCSEL" description="ADCs clock source&#xa;              selection" />
    </Register>
    <Register start="+0x5C" size="0" name="BDCR" access="Read/Write" description="RTC domain control register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="LSEON" description="LSE oscillator enable" />
      <BitField start="1" size="1" name="LSERDY" description="LSE oscillator ready" />
      <BitField start="2" size="1" name="LSEBYP" description="LSE oscillator bypass" />
      <BitField start="3" size="2" name="LSEDRV" description="LSE oscillator drive&#xa;              capability" />
      <BitField start="5" size="1" name="LSECSSON" description="CSS on LSE enable" />
      <BitField start="6" size="1" name="LSECSSD" description="CSS on LSE failure&#xa;              Detection" />
      <BitField start="8" size="2" name="RTCSEL" description="RTC clock source selection" />
      <BitField start="15" size="1" name="RTCEN" description="RTC clock enable" />
      <BitField start="16" size="1" name="BDRST" description="RTC domain software reset" />
      <BitField start="24" size="1" name="LSCOEN" description="Low-speed clock output (LSCO)&#xa;              enable" />
      <BitField start="25" size="1" name="LSCOSEL" description="Low-speed clock output&#xa;              selection" />
    </Register>
    <Register start="+0x60" size="0" name="CSR" access="Read/Write" description="Control/status register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="LSION" description="LSI oscillator enable" />
      <BitField start="1" size="1" name="LSIRDY" description="LSI oscillator ready" />
      <BitField start="23" size="1" name="RMVF" description="Remove reset flags" />
      <BitField start="25" size="1" name="OBLRSTF" description="Option byte loader reset&#xa;              flag" />
      <BitField start="26" size="1" name="PINRSTF" description="Pin reset flag" />
      <BitField start="27" size="1" name="PWRRSTF" description="BOR or POR/PDR flag" />
      <BitField start="28" size="1" name="SFTRSTF" description="Software reset flag" />
      <BitField start="29" size="1" name="IWDGRSTF" description="Independent window watchdog reset&#xa;              flag" />
      <BitField start="30" size="1" name="WWDGRSTF" description="Window watchdog reset flag" />
      <BitField start="31" size="1" name="LPWRRSTF" description="Low-power reset flag" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="PWR" start="0x40007000" description="Power control">
    <Register start="+0x0" size="0" name="CR1" access="Read/Write" description="Power control register 1" reset_value="0x00000200" reset_mask="0xFFFFFFFF">
      <BitField start="14" size="1" name="LPR" description="Low-power run" />
      <BitField start="9" size="2" name="VOS" description="Voltage scaling range&#xa;              selection" />
      <BitField start="8" size="1" name="DBP" description="Disable backup domain write&#xa;              protection" />
      <BitField start="5" size="1" name="FPD_LPSLP" description="Flash memory powered down during&#xa;              Low-power sleep mode" />
      <BitField start="4" size="1" name="FPD_LPRUN" description="Flash memory powered down during&#xa;              Low-power run mode" />
      <BitField start="3" size="1" name="FPD_STOP" description="Flash memory powered down during Stop&#xa;              mode" />
      <BitField start="0" size="3" name="LPMS" description="Low-power mode selection" />
    </Register>
    <Register start="+0x4" size="0" name="CR2" access="Read/Write" description="Power control register 2" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="PVDE" description="Power voltage detector&#xa;              enable" />
      <BitField start="1" size="3" name="PVDFT" description="Power voltage detector falling threshold&#xa;              selection" />
      <BitField start="4" size="3" name="PVDRT" description="Power voltage detector rising threshold&#xa;              selection" />
    </Register>
    <Register start="+0x8" size="0" name="CR3" access="Read/Write" description="Power control register 3" reset_value="0X00008000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="EWUP1" description="Enable Wakeup pin WKUP1" />
      <BitField start="1" size="1" name="EWUP2" description="Enable Wakeup pin WKUP2" />
      <BitField start="3" size="1" name="EWUP4" description="Enable Wakeup pin WKUP4" />
      <BitField start="4" size="1" name="EWUP5" description="Enable WKUP5 wakeup pin" />
      <BitField start="5" size="1" name="EWUP6" description="Enable WKUP6 wakeup pin" />
      <BitField start="8" size="1" name="RRS" description="SRAM retention in Standby&#xa;              mode" />
      <BitField start="9" size="1" name="ULPEN" description="Enable the periodical sampling mode for&#xa;              PDR detection" />
      <BitField start="10" size="1" name="APC" description="Apply pull-up and pull-down&#xa;              configuration" />
      <BitField start="15" size="1" name="EIWUL" description="Enable internal wakeup&#xa;              line" />
    </Register>
    <Register start="+0xC" size="0" name="CR4" access="Read/Write" description="Power control register 4" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="WP1" description="Wakeup pin WKUP1 polarity" />
      <BitField start="1" size="1" name="WP2" description="Wakeup pin WKUP2 polarity" />
      <BitField start="3" size="1" name="WP4" description="Wakeup pin WKUP4 polarity" />
      <BitField start="4" size="1" name="WP5" description="Wakeup pin WKUP5 polarity" />
      <BitField start="5" size="1" name="WP6" description="WKUP6 wakeup pin polarity" />
      <BitField start="8" size="1" name="VBE" description="VBAT battery charging&#xa;              enable" />
      <BitField start="9" size="1" name="VBRS" description="VBAT battery charging resistor&#xa;              selection" />
    </Register>
    <Register start="+0x10" size="0" name="SR1" access="ReadOnly" description="Power status register 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="WUF1" description="Wakeup flag 1" />
      <BitField start="1" size="1" name="WUF2" description="Wakeup flag 2" />
      <BitField start="3" size="1" name="WUF4" description="Wakeup flag 4" />
      <BitField start="4" size="1" name="WUF5" description="Wakeup flag 5" />
      <BitField start="5" size="1" name="WUF6" description="Wakeup flag 6" />
      <BitField start="8" size="1" name="SBF" description="Standby flag" />
      <BitField start="15" size="1" name="WUFI" description="Wakeup flag internal" />
    </Register>
    <Register start="+0x14" size="0" name="SR2" access="ReadOnly" description="Power status register 2" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="11" size="1" name="PVDO" description="Power voltage detector&#xa;              output" />
      <BitField start="10" size="1" name="VOSF" description="Voltage scaling flag" />
      <BitField start="9" size="1" name="REGLPF" description="Low-power regulator flag" />
      <BitField start="8" size="1" name="REGLPS" description="Low-power regulator&#xa;              started" />
      <BitField start="7" size="1" name="FLASH_RDY" description="Flash ready flag" />
    </Register>
    <Register start="+0x18" size="0" name="SCR" access="WriteOnly" description="Power status clear register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="8" size="1" name="CSBF" description="Clear standby flag" />
      <BitField start="5" size="1" name="CWUF6" description="Clear wakeup flag 6" />
      <BitField start="4" size="1" name="CWUF5" description="Clear wakeup flag 5" />
      <BitField start="3" size="1" name="CWUF4" description="Clear wakeup flag 4" />
      <BitField start="1" size="1" name="CWUF2" description="Clear wakeup flag 2" />
      <BitField start="0" size="1" name="CWUF1" description="Clear wakeup flag 1" />
    </Register>
    <Register start="+0x20" size="0" name="PUCRA" access="Read/Write" description="Power Port A pull-up control&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="15" size="1" name="PU15" description="Port A pull-up bit y&#xa;              (y=0..15)" />
      <BitField start="14" size="1" name="PU14" description="Port A pull-up bit y&#xa;              (y=0..15)" />
      <BitField start="13" size="1" name="PU13" description="Port A pull-up bit y&#xa;              (y=0..15)" />
      <BitField start="12" size="1" name="PU12" description="Port A pull-up bit y&#xa;              (y=0..15)" />
      <BitField start="11" size="1" name="PU11" description="Port A pull-up bit y&#xa;              (y=0..15)" />
      <BitField start="10" size="1" name="PU10" description="Port A pull-up bit y&#xa;              (y=0..15)" />
      <BitField start="9" size="1" name="PU9" description="Port A pull-up bit y&#xa;              (y=0..15)" />
      <BitField start="8" size="1" name="PU8" description="Port A pull-up bit y&#xa;              (y=0..15)" />
      <BitField start="7" size="1" name="PU7" description="Port A pull-up bit y&#xa;              (y=0..15)" />
      <BitField start="6" size="1" name="PU6" description="Port A pull-up bit y&#xa;              (y=0..15)" />
      <BitField start="5" size="1" name="PU5" description="Port A pull-up bit y&#xa;              (y=0..15)" />
      <BitField start="4" size="1" name="PU4" description="Port A pull-up bit y&#xa;              (y=0..15)" />
      <BitField start="3" size="1" name="PU3" description="Port A pull-up bit y&#xa;              (y=0..15)" />
      <BitField start="2" size="1" name="PU2" description="Port A pull-up bit y&#xa;              (y=0..15)" />
      <BitField start="1" size="1" name="PU1" description="Port A pull-up bit y&#xa;              (y=0..15)" />
      <BitField start="0" size="1" name="PU0" description="Port A pull-up bit y&#xa;              (y=0..15)" />
    </Register>
    <Register start="+0x24" size="0" name="PDCRA" access="Read/Write" description="Power Port A pull-down control&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="15" size="1" name="PD15" description="Port A pull-down bit y&#xa;              (y=0..15)" />
      <BitField start="14" size="1" name="PD14" description="Port A pull-down bit y&#xa;              (y=0..15)" />
      <BitField start="13" size="1" name="PD13" description="Port A pull-down bit y&#xa;              (y=0..15)" />
      <BitField start="12" size="1" name="PD12" description="Port A pull-down bit y&#xa;              (y=0..15)" />
      <BitField start="11" size="1" name="PD11" description="Port A pull-down bit y&#xa;              (y=0..15)" />
      <BitField start="10" size="1" name="PD10" description="Port A pull-down bit y&#xa;              (y=0..15)" />
      <BitField start="9" size="1" name="PD9" description="Port A pull-down bit y&#xa;              (y=0..15)" />
      <BitField start="8" size="1" name="PD8" description="Port A pull-down bit y&#xa;              (y=0..15)" />
      <BitField start="7" size="1" name="PD7" description="Port A pull-down bit y&#xa;              (y=0..15)" />
      <BitField start="6" size="1" name="PD6" description="Port A pull-down bit y&#xa;              (y=0..15)" />
      <BitField start="5" size="1" name="PD5" description="Port A pull-down bit y&#xa;              (y=0..15)" />
      <BitField start="4" size="1" name="PD4" description="Port A pull-down bit y&#xa;              (y=0..15)" />
      <BitField start="3" size="1" name="PD3" description="Port A pull-down bit y&#xa;              (y=0..15)" />
      <BitField start="2" size="1" name="PD2" description="Port A pull-down bit y&#xa;              (y=0..15)" />
      <BitField start="1" size="1" name="PD1" description="Port A pull-down bit y&#xa;              (y=0..15)" />
      <BitField start="0" size="1" name="PD0" description="Port A pull-down bit y&#xa;              (y=0..15)" />
    </Register>
    <Register start="+0x28" size="0" name="PUCRB" access="Read/Write" description="Power Port B pull-up control&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="15" size="1" name="PU15" description="Port B pull-up bit y&#xa;              (y=0..15)" />
      <BitField start="14" size="1" name="PU14" description="Port B pull-up bit y&#xa;              (y=0..15)" />
      <BitField start="13" size="1" name="PU13" description="Port B pull-up bit y&#xa;              (y=0..15)" />
      <BitField start="12" size="1" name="PU12" description="Port B pull-up bit y&#xa;              (y=0..15)" />
      <BitField start="11" size="1" name="PU11" description="Port B pull-up bit y&#xa;              (y=0..15)" />
      <BitField start="10" size="1" name="PU10" description="Port B pull-up bit y&#xa;              (y=0..15)" />
      <BitField start="9" size="1" name="PU9" description="Port B pull-up bit y&#xa;              (y=0..15)" />
      <BitField start="8" size="1" name="PU8" description="Port B pull-up bit y&#xa;              (y=0..15)" />
      <BitField start="7" size="1" name="PU7" description="Port B pull-up bit y&#xa;              (y=0..15)" />
      <BitField start="6" size="1" name="PU6" description="Port B pull-up bit y&#xa;              (y=0..15)" />
      <BitField start="5" size="1" name="PU5" description="Port B pull-up bit y&#xa;              (y=0..15)" />
      <BitField start="4" size="1" name="PU4" description="Port B pull-up bit y&#xa;              (y=0..15)" />
      <BitField start="3" size="1" name="PU3" description="Port B pull-up bit y&#xa;              (y=0..15)" />
      <BitField start="2" size="1" name="PU2" description="Port B pull-up bit y&#xa;              (y=0..15)" />
      <BitField start="1" size="1" name="PU1" description="Port B pull-up bit y&#xa;              (y=0..15)" />
      <BitField start="0" size="1" name="PU0" description="Port B pull-up bit y&#xa;              (y=0..15)" />
    </Register>
    <Register start="+0x2C" size="0" name="PDCRB" access="Read/Write" description="Power Port B pull-down control&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="15" size="1" name="PD15" description="Port B pull-down bit y&#xa;              (y=0..15)" />
      <BitField start="14" size="1" name="PD14" description="Port B pull-down bit y&#xa;              (y=0..15)" />
      <BitField start="13" size="1" name="PD13" description="Port B pull-down bit y&#xa;              (y=0..15)" />
      <BitField start="12" size="1" name="PD12" description="Port B pull-down bit y&#xa;              (y=0..15)" />
      <BitField start="11" size="1" name="PD11" description="Port B pull-down bit y&#xa;              (y=0..15)" />
      <BitField start="10" size="1" name="PD10" description="Port B pull-down bit y&#xa;              (y=0..15)" />
      <BitField start="9" size="1" name="PD9" description="Port B pull-down bit y&#xa;              (y=0..15)" />
      <BitField start="8" size="1" name="PD8" description="Port B pull-down bit y&#xa;              (y=0..15)" />
      <BitField start="7" size="1" name="PD7" description="Port B pull-down bit y&#xa;              (y=0..15)" />
      <BitField start="6" size="1" name="PD6" description="Port B pull-down bit y&#xa;              (y=0..15)" />
      <BitField start="5" size="1" name="PD5" description="Port B pull-down bit y&#xa;              (y=0..15)" />
      <BitField start="4" size="1" name="PD4" description="Port B pull-down bit y&#xa;              (y=0..15)" />
      <BitField start="3" size="1" name="PD3" description="Port B pull-down bit y&#xa;              (y=0..15)" />
      <BitField start="2" size="1" name="PD2" description="Port B pull-down bit y&#xa;              (y=0..15)" />
      <BitField start="1" size="1" name="PD1" description="Port B pull-down bit y&#xa;              (y=0..15)" />
      <BitField start="0" size="1" name="PD0" description="Port B pull-down bit y&#xa;              (y=0..15)" />
    </Register>
    <Register start="+0x30" size="0" name="PUCRC" access="Read/Write" description="Power Port C pull-up control&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="15" size="1" name="PU15" description="Port C pull-up bit y&#xa;              (y=0..15)" />
      <BitField start="14" size="1" name="PU14" description="Port C pull-up bit y&#xa;              (y=0..15)" />
      <BitField start="13" size="1" name="PU13" description="Port C pull-up bit y&#xa;              (y=0..15)" />
      <BitField start="12" size="1" name="PU12" description="Port C pull-up bit y&#xa;              (y=0..15)" />
      <BitField start="11" size="1" name="PU11" description="Port C pull-up bit y&#xa;              (y=0..15)" />
      <BitField start="10" size="1" name="PU10" description="Port C pull-up bit y&#xa;              (y=0..15)" />
      <BitField start="9" size="1" name="PU9" description="Port C pull-up bit y&#xa;              (y=0..15)" />
      <BitField start="8" size="1" name="PU8" description="Port C pull-up bit y&#xa;              (y=0..15)" />
      <BitField start="7" size="1" name="PU7" description="Port C pull-up bit y&#xa;              (y=0..15)" />
      <BitField start="6" size="1" name="PU6" description="Port C pull-up bit y&#xa;              (y=0..15)" />
      <BitField start="5" size="1" name="PU5" description="Port C pull-up bit y&#xa;              (y=0..15)" />
      <BitField start="4" size="1" name="PU4" description="Port C pull-up bit y&#xa;              (y=0..15)" />
      <BitField start="3" size="1" name="PU3" description="Port C pull-up bit y&#xa;              (y=0..15)" />
      <BitField start="2" size="1" name="PU2" description="Port C pull-up bit y&#xa;              (y=0..15)" />
      <BitField start="1" size="1" name="PU1" description="Port C pull-up bit y&#xa;              (y=0..15)" />
      <BitField start="0" size="1" name="PU0" description="Port C pull-up bit y&#xa;              (y=0..15)" />
    </Register>
    <Register start="+0x34" size="0" name="PDCRC" access="Read/Write" description="Power Port C pull-down control&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="15" size="1" name="PD15" description="Port C pull-down bit y&#xa;              (y=0..15)" />
      <BitField start="14" size="1" name="PD14" description="Port C pull-down bit y&#xa;              (y=0..15)" />
      <BitField start="13" size="1" name="PD13" description="Port C pull-down bit y&#xa;              (y=0..15)" />
      <BitField start="12" size="1" name="PD12" description="Port C pull-down bit y&#xa;              (y=0..15)" />
      <BitField start="11" size="1" name="PD11" description="Port C pull-down bit y&#xa;              (y=0..15)" />
      <BitField start="10" size="1" name="PD10" description="Port C pull-down bit y&#xa;              (y=0..15)" />
      <BitField start="9" size="1" name="PD9" description="Port C pull-down bit y&#xa;              (y=0..15)" />
      <BitField start="8" size="1" name="PD8" description="Port C pull-down bit y&#xa;              (y=0..15)" />
      <BitField start="7" size="1" name="PD7" description="Port C pull-down bit y&#xa;              (y=0..15)" />
      <BitField start="6" size="1" name="PD6" description="Port C pull-down bit y&#xa;              (y=0..15)" />
      <BitField start="5" size="1" name="PD5" description="Port C pull-down bit y&#xa;              (y=0..15)" />
      <BitField start="4" size="1" name="PD4" description="Port C pull-down bit y&#xa;              (y=0..15)" />
      <BitField start="3" size="1" name="PD3" description="Port C pull-down bit y&#xa;              (y=0..15)" />
      <BitField start="2" size="1" name="PD2" description="Port C pull-down bit y&#xa;              (y=0..15)" />
      <BitField start="1" size="1" name="PD1" description="Port C pull-down bit y&#xa;              (y=0..15)" />
      <BitField start="0" size="1" name="PD0" description="Port C pull-down bit y&#xa;              (y=0..15)" />
    </Register>
    <Register start="+0x38" size="0" name="PUCRD" access="Read/Write" description="Power Port D pull-up control&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="9" size="1" name="PU9" description="Port D pull-up bit y&#xa;              (y=0..15)" />
      <BitField start="8" size="1" name="PU8" description="Port D pull-up bit y&#xa;              (y=0..15)" />
      <BitField start="6" size="1" name="PU6" description="Port D pull-up bit y&#xa;              (y=0..15)" />
      <BitField start="5" size="1" name="PU5" description="Port D pull-up bit y&#xa;              (y=0..15)" />
      <BitField start="4" size="1" name="PU4" description="Port D pull-up bit y&#xa;              (y=0..15)" />
      <BitField start="3" size="1" name="PU3" description="Port D pull-up bit y&#xa;              (y=0..15)" />
      <BitField start="2" size="1" name="PU2" description="Port D pull-up bit y&#xa;              (y=0..15)" />
      <BitField start="1" size="1" name="PU1" description="Port D pull-up bit y&#xa;              (y=0..15)" />
      <BitField start="0" size="1" name="PU0" description="Port D pull-up bit y&#xa;              (y=0..15)" />
    </Register>
    <Register start="+0x3C" size="0" name="PDCRD" access="Read/Write" description="Power Port D pull-down control&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="9" size="1" name="PD9" description="Port D pull-down bit y&#xa;              (y=0..15)" />
      <BitField start="8" size="1" name="PD8" description="Port D pull-down bit y&#xa;              (y=0..15)" />
      <BitField start="6" size="1" name="PD6" description="Port D pull-down bit y&#xa;              (y=0..15)" />
      <BitField start="5" size="1" name="PD5" description="Port D pull-down bit y&#xa;              (y=0..15)" />
      <BitField start="4" size="1" name="PD4" description="Port D pull-down bit y&#xa;              (y=0..15)" />
      <BitField start="3" size="1" name="PD3" description="Port D pull-down bit y&#xa;              (y=0..15)" />
      <BitField start="2" size="1" name="PD2" description="Port D pull-down bit y&#xa;              (y=0..15)" />
      <BitField start="1" size="1" name="PD1" description="Port D pull-down bit y&#xa;              (y=0..15)" />
      <BitField start="0" size="1" name="PD0" description="Port D pull-down bit y&#xa;              (y=0..15)" />
    </Register>
    <Register start="+0x48" size="0" name="PUCRF" access="Read/Write" description="Power Port F pull-up control&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="2" size="1" name="PU2" description="Port F pull-up bit y&#xa;              (y=0..15)" />
      <BitField start="1" size="1" name="PU1" description="Port F pull-up bit y&#xa;              (y=0..15)" />
      <BitField start="0" size="1" name="PU0" description="Port F pull-up bit y&#xa;              (y=0..15)" />
    </Register>
    <Register start="+0x4C" size="0" name="PDCRF" access="Read/Write" description="Power Port F pull-down control&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="2" size="1" name="PD2" description="Port F pull-down bit y&#xa;              (y=0..15)" />
      <BitField start="1" size="1" name="PD1" description="Port F pull-down bit y&#xa;              (y=0..15)" />
      <BitField start="0" size="1" name="PD0" description="Port F pull-down bit y&#xa;              (y=0..15)" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="DMA" start="0x40020000" description="DMA controller">
    <Register start="+0x0" size="0" name="ISR" access="ReadOnly" description="low interrupt status register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="GIF0" description="Channel global interrupt&#xa;              flag" />
      <BitField start="1" size="1" name="TCIF1" description="Channel transfer complete&#xa;              flag" />
      <BitField start="2" size="1" name="HTIF2" description="Channel half transfer flag" />
      <BitField start="3" size="1" name="TEIF3" description="Channel transfer error&#xa;              flag" />
      <BitField start="4" size="1" name="GIF4" description="Channel global interrupt&#xa;              flag" />
      <BitField start="5" size="1" name="TCIF5" description="Channel transfer complete&#xa;              flag" />
      <BitField start="6" size="1" name="HTIF6" description="Channel half transfer flag" />
      <BitField start="7" size="1" name="TEIF7" description="Channel transfer error&#xa;              flag" />
      <BitField start="8" size="1" name="GIF8" description="Channel global interrupt&#xa;              flag" />
      <BitField start="9" size="1" name="TCIF9" description="Channel transfer complete&#xa;              flag" />
      <BitField start="10" size="1" name="HTIF10" description="Channel half transfer flag" />
      <BitField start="11" size="1" name="TEIF11" description="Channel transfer error&#xa;              flag" />
      <BitField start="12" size="1" name="GIF12" description="Channel global interrupt&#xa;              flag" />
      <BitField start="13" size="1" name="TCIF13" description="Channel transfer complete&#xa;              flag" />
      <BitField start="14" size="1" name="HTIF14" description="Channel half transfer flag" />
      <BitField start="15" size="1" name="TEIF15" description="Channel transfer error&#xa;              flag" />
      <BitField start="16" size="1" name="GIF16" description="Channel global interrupt&#xa;              flag" />
      <BitField start="17" size="1" name="TCIF17" description="Channel transfer complete&#xa;              flag" />
      <BitField start="18" size="1" name="HTIF18" description="Channel half transfer flag" />
      <BitField start="19" size="1" name="TEIF19" description="Channel transfer error&#xa;              flag" />
      <BitField start="20" size="1" name="GIF20" description="Channel global interrupt&#xa;              flag" />
      <BitField start="21" size="1" name="TCIF21" description="Channel transfer complete&#xa;              flag" />
      <BitField start="22" size="1" name="HTIF22" description="Channel half transfer flag" />
      <BitField start="23" size="1" name="TEIF23" description="Channel transfer error&#xa;              flag" />
      <BitField start="24" size="1" name="GIF24" description="Channel global interrupt&#xa;              flag" />
      <BitField start="25" size="1" name="TCIF25" description="Channel transfer complete&#xa;              flag" />
      <BitField start="26" size="1" name="HTIF26" description="Channel half transfer flag" />
      <BitField start="27" size="1" name="TEIF27" description="Channel transfer error&#xa;              flag" />
    </Register>
    <Register start="+0x4" size="0" name="IFCR" access="ReadOnly" description="high interrupt status register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="CGIF0" description="Channel global interrupt&#xa;              flag" />
      <BitField start="1" size="1" name="CTCIF1" description="Channel transfer complete&#xa;              flag" />
      <BitField start="2" size="1" name="CHTIF2" description="Channel half transfer flag" />
      <BitField start="3" size="1" name="CTEIF3" description="Channel transfer error&#xa;              flag" />
      <BitField start="4" size="1" name="CGIF4" description="Channel global interrupt&#xa;              flag" />
      <BitField start="5" size="1" name="CTCIF5" description="Channel transfer complete&#xa;              flag" />
      <BitField start="6" size="1" name="CHTIF6" description="Channel half transfer flag" />
      <BitField start="7" size="1" name="CTEIF7" description="Channel transfer error&#xa;              flag" />
      <BitField start="8" size="1" name="CGIF8" description="Channel global interrupt&#xa;              flag" />
      <BitField start="9" size="1" name="CTCIF9" description="Channel transfer complete&#xa;              flag" />
      <BitField start="10" size="1" name="CHTIF10" description="Channel half transfer flag" />
      <BitField start="11" size="1" name="CTEIF11" description="Channel transfer error&#xa;              flag" />
      <BitField start="12" size="1" name="CGIF12" description="Channel global interrupt&#xa;              flag" />
      <BitField start="13" size="1" name="CTCIF13" description="Channel transfer complete&#xa;              flag" />
      <BitField start="14" size="1" name="CHTIF14" description="Channel half transfer flag" />
      <BitField start="15" size="1" name="CTEIF15" description="Channel transfer error&#xa;              flag" />
      <BitField start="16" size="1" name="CGIF16" description="Channel global interrupt&#xa;              flag" />
      <BitField start="17" size="1" name="CTCIF17" description="Channel transfer complete&#xa;              flag" />
      <BitField start="18" size="1" name="CHTIF18" description="Channel half transfer flag" />
      <BitField start="19" size="1" name="CTEIF19" description="Channel transfer error&#xa;              flag" />
      <BitField start="20" size="1" name="CGIF20" description="Channel global interrupt&#xa;              flag" />
      <BitField start="21" size="1" name="CTCIF21" description="Channel transfer complete&#xa;              flag" />
      <BitField start="22" size="1" name="CHTIF22" description="Channel half transfer flag" />
      <BitField start="23" size="1" name="CTEIF23" description="Channel transfer error&#xa;              flag" />
      <BitField start="24" size="1" name="CGIF24" description="Channel global interrupt&#xa;              flag" />
      <BitField start="25" size="1" name="CTCIF25" description="Channel transfer complete&#xa;              flag" />
      <BitField start="26" size="1" name="CHTIF26" description="Channel half transfer flag" />
      <BitField start="27" size="1" name="CTEIF27" description="Channel transfer error&#xa;              flag" />
    </Register>
    <Register start="+0x8" size="0" name="CCR1" access="Read/Write" description="DMA channel x configuration&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="EN" description="Channel enable" />
      <BitField start="1" size="1" name="TCIE" description="Transfer complete interrupt&#xa;              enable" />
      <BitField start="2" size="1" name="HTIE" description="Half transfer interrupt&#xa;              enable" />
      <BitField start="3" size="1" name="TEIE" description="Transfer error interrupt&#xa;              enable" />
      <BitField start="4" size="1" name="DIR" description="Data transfer direction" />
      <BitField start="5" size="1" name="CIRC" description="Circular mode" />
      <BitField start="6" size="1" name="PINC" description="Peripheral increment mode" />
      <BitField start="7" size="1" name="MINC" description="Memory increment mode" />
      <BitField start="8" size="2" name="PSIZE" description="Peripheral size" />
      <BitField start="10" size="2" name="MSIZE" description="Memory size" />
      <BitField start="12" size="2" name="PL" description="Channel priority level" />
      <BitField start="14" size="1" name="MEM2MEM" description="Memory to memory mode" />
    </Register>
    <Register start="+0x1C" size="0" name="CCR2" access="Read/Write" description="DMA channel x configuration&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="EN" description="Channel enable" />
      <BitField start="1" size="1" name="TCIE" description="Transfer complete interrupt&#xa;              enable" />
      <BitField start="2" size="1" name="HTIE" description="Half transfer interrupt&#xa;              enable" />
      <BitField start="3" size="1" name="TEIE" description="Transfer error interrupt&#xa;              enable" />
      <BitField start="4" size="1" name="DIR" description="Data transfer direction" />
      <BitField start="5" size="1" name="CIRC" description="Circular mode" />
      <BitField start="6" size="1" name="PINC" description="Peripheral increment mode" />
      <BitField start="7" size="1" name="MINC" description="Memory increment mode" />
      <BitField start="8" size="2" name="PSIZE" description="Peripheral size" />
      <BitField start="10" size="2" name="MSIZE" description="Memory size" />
      <BitField start="12" size="2" name="PL" description="Channel priority level" />
      <BitField start="14" size="1" name="MEM2MEM" description="Memory to memory mode" />
    </Register>
    <Register start="+0x30" size="0" name="CCR3" access="Read/Write" description="DMA channel x configuration&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="EN" description="Channel enable" />
      <BitField start="1" size="1" name="TCIE" description="Transfer complete interrupt&#xa;              enable" />
      <BitField start="2" size="1" name="HTIE" description="Half transfer interrupt&#xa;              enable" />
      <BitField start="3" size="1" name="TEIE" description="Transfer error interrupt&#xa;              enable" />
      <BitField start="4" size="1" name="DIR" description="Data transfer direction" />
      <BitField start="5" size="1" name="CIRC" description="Circular mode" />
      <BitField start="6" size="1" name="PINC" description="Peripheral increment mode" />
      <BitField start="7" size="1" name="MINC" description="Memory increment mode" />
      <BitField start="8" size="2" name="PSIZE" description="Peripheral size" />
      <BitField start="10" size="2" name="MSIZE" description="Memory size" />
      <BitField start="12" size="2" name="PL" description="Channel priority level" />
      <BitField start="14" size="1" name="MEM2MEM" description="Memory to memory mode" />
    </Register>
    <Register start="+0x44" size="0" name="CCR4" access="Read/Write" description="DMA channel x configuration&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="EN" description="Channel enable" />
      <BitField start="1" size="1" name="TCIE" description="Transfer complete interrupt&#xa;              enable" />
      <BitField start="2" size="1" name="HTIE" description="Half transfer interrupt&#xa;              enable" />
      <BitField start="3" size="1" name="TEIE" description="Transfer error interrupt&#xa;              enable" />
      <BitField start="4" size="1" name="DIR" description="Data transfer direction" />
      <BitField start="5" size="1" name="CIRC" description="Circular mode" />
      <BitField start="6" size="1" name="PINC" description="Peripheral increment mode" />
      <BitField start="7" size="1" name="MINC" description="Memory increment mode" />
      <BitField start="8" size="2" name="PSIZE" description="Peripheral size" />
      <BitField start="10" size="2" name="MSIZE" description="Memory size" />
      <BitField start="12" size="2" name="PL" description="Channel priority level" />
      <BitField start="14" size="1" name="MEM2MEM" description="Memory to memory mode" />
    </Register>
    <Register start="+0x58" size="0" name="CCR5" access="Read/Write" description="DMA channel x configuration&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="EN" description="Channel enable" />
      <BitField start="1" size="1" name="TCIE" description="Transfer complete interrupt&#xa;              enable" />
      <BitField start="2" size="1" name="HTIE" description="Half transfer interrupt&#xa;              enable" />
      <BitField start="3" size="1" name="TEIE" description="Transfer error interrupt&#xa;              enable" />
      <BitField start="4" size="1" name="DIR" description="Data transfer direction" />
      <BitField start="5" size="1" name="CIRC" description="Circular mode" />
      <BitField start="6" size="1" name="PINC" description="Peripheral increment mode" />
      <BitField start="7" size="1" name="MINC" description="Memory increment mode" />
      <BitField start="8" size="2" name="PSIZE" description="Peripheral size" />
      <BitField start="10" size="2" name="MSIZE" description="Memory size" />
      <BitField start="12" size="2" name="PL" description="Channel priority level" />
      <BitField start="14" size="1" name="MEM2MEM" description="Memory to memory mode" />
    </Register>
    <Register start="+0x6C" size="0" name="CCR6" access="Read/Write" description="DMA channel x configuration&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="EN" description="Channel enable" />
      <BitField start="1" size="1" name="TCIE" description="Transfer complete interrupt&#xa;              enable" />
      <BitField start="2" size="1" name="HTIE" description="Half transfer interrupt&#xa;              enable" />
      <BitField start="3" size="1" name="TEIE" description="Transfer error interrupt&#xa;              enable" />
      <BitField start="4" size="1" name="DIR" description="Data transfer direction" />
      <BitField start="5" size="1" name="CIRC" description="Circular mode" />
      <BitField start="6" size="1" name="PINC" description="Peripheral increment mode" />
      <BitField start="7" size="1" name="MINC" description="Memory increment mode" />
      <BitField start="8" size="2" name="PSIZE" description="Peripheral size" />
      <BitField start="10" size="2" name="MSIZE" description="Memory size" />
      <BitField start="12" size="2" name="PL" description="Channel priority level" />
      <BitField start="14" size="1" name="MEM2MEM" description="Memory to memory mode" />
    </Register>
    <Register start="+0x80" size="0" name="CCR7" access="Read/Write" description="DMA channel x configuration&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="EN" description="Channel enable" />
      <BitField start="1" size="1" name="TCIE" description="Transfer complete interrupt&#xa;              enable" />
      <BitField start="2" size="1" name="HTIE" description="Half transfer interrupt&#xa;              enable" />
      <BitField start="3" size="1" name="TEIE" description="Transfer error interrupt&#xa;              enable" />
      <BitField start="4" size="1" name="DIR" description="Data transfer direction" />
      <BitField start="5" size="1" name="CIRC" description="Circular mode" />
      <BitField start="6" size="1" name="PINC" description="Peripheral increment mode" />
      <BitField start="7" size="1" name="MINC" description="Memory increment mode" />
      <BitField start="8" size="2" name="PSIZE" description="Peripheral size" />
      <BitField start="10" size="2" name="MSIZE" description="Memory size" />
      <BitField start="12" size="2" name="PL" description="Channel priority level" />
      <BitField start="14" size="1" name="MEM2MEM" description="Memory to memory mode" />
    </Register>
    <Register start="+0xC" size="0" name="CNDTR1" access="Read/Write" description="DMA channel x number of data&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="16" name="NDT" description="Number of data to transfer" />
    </Register>
    <Register start="+0x20" size="0" name="CNDTR2" access="Read/Write" description="DMA channel x number of data&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="16" name="NDT" description="Number of data to transfer" />
    </Register>
    <Register start="+0x34" size="0" name="CNDTR3" access="Read/Write" description="DMA channel x configuration&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="16" name="NDT" description="Number of data to transfer" />
    </Register>
    <Register start="+0x48" size="0" name="CNDTR4" access="Read/Write" description="DMA channel x configuration&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="16" name="NDT" description="Number of data to transfer" />
    </Register>
    <Register start="+0x5C" size="0" name="CNDTR5" access="Read/Write" description="DMA channel x configuration&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="16" name="NDT" description="Number of data to transfer" />
    </Register>
    <Register start="+0x70" size="0" name="CNDTR6" access="Read/Write" description="DMA channel x configuration&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="16" name="NDT" description="Number of data to transfer" />
    </Register>
    <Register start="+0x84" size="0" name="CNDTR7" access="Read/Write" description="DMA channel x configuration&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="16" name="NDT" description="Number of data to transfer" />
    </Register>
    <Register start="+0x10" size="0" name="CPAR1" access="Read/Write" description="DMA channel x peripheral address&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="PA" description="Peripheral address" />
    </Register>
    <Register start="+0x24" size="0" name="CPAR2" access="Read/Write" description="DMA channel x peripheral address&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="PA" description="Peripheral address" />
    </Register>
    <Register start="+0x38" size="0" name="CPAR3" access="Read/Write" description="DMA channel x peripheral address&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="PA" description="Peripheral address" />
    </Register>
    <Register start="+0x4C" size="0" name="CPAR4" access="Read/Write" description="DMA channel x peripheral address&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="PA" description="Peripheral address" />
    </Register>
    <Register start="+0x60" size="0" name="CPAR5" access="Read/Write" description="DMA channel x peripheral address&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="PA" description="Peripheral address" />
    </Register>
    <Register start="+0x74" size="0" name="CPAR6" access="Read/Write" description="DMA channel x peripheral address&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="PA" description="Peripheral address" />
    </Register>
    <Register start="+0x88" size="0" name="CPAR7" access="Read/Write" description="DMA channel x peripheral address&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="PA" description="Peripheral address" />
    </Register>
    <Register start="+0x14" size="0" name="CMAR1" access="Read/Write" description="DMA channel x memory address&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="MA" description="Memory address" />
    </Register>
    <Register start="+0x28" size="0" name="CMAR2" access="Read/Write" description="DMA channel x memory address&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="MA" description="Memory address" />
    </Register>
    <Register start="+0x3C" size="0" name="CMAR3" access="Read/Write" description="DMA channel x memory address&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="MA" description="Memory address" />
    </Register>
    <Register start="+0x50" size="0" name="CMAR4" access="Read/Write" description="DMA channel x memory address&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="MA" description="Memory address" />
    </Register>
    <Register start="+0x64" size="0" name="CMAR5" access="Read/Write" description="DMA channel x memory address&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="MA" description="Memory address" />
    </Register>
    <Register start="+0x78" size="0" name="CMAR6" access="Read/Write" description="DMA channel x memory address&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="MA" description="Memory address" />
    </Register>
    <Register start="+0x8C" size="0" name="CMAR7" access="Read/Write" description="DMA channel x memory address&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="MA" description="Memory address" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="DMAMUX" start="0x40020800" description="DMAMUX">
    <Register start="+0x0" size="0" name="DMAMUX_C0CR" access="Read/Write" description="DMAMux - DMA request line multiplexer&#xa;          channel x control register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="8" name="DMAREQ_ID" description="Input DMA request line&#xa;              selected" />
      <BitField start="8" size="1" name="SOIE" description="Interrupt enable at synchronization&#xa;              event overrun" />
      <BitField start="9" size="1" name="EGE" description="Event generation&#xa;              enable/disable" />
      <BitField start="16" size="1" name="SE" description="Synchronous operating mode&#xa;              enable/disable" />
      <BitField start="17" size="2" name="SPOL" description="Synchronization event type selector&#xa;              Defines the synchronization event on the selected&#xa;              synchronization input:" />
      <BitField start="19" size="5" name="NBREQ" description="Number of DMA requests to forward&#xa;              Defines the number of DMA requests forwarded before&#xa;              output event is generated. In synchronous mode, it&#xa;              also defines the number of DMA requests to forward&#xa;              after a synchronization event, then stop forwarding.&#xa;              The actual number of DMA requests forwarded is&#xa;              NBREQ+1. Note: This field can only be written when&#xa;              both SE and EGE bits are reset." />
      <BitField start="24" size="5" name="SYNC_ID" description="Synchronization input&#xa;              selected" />
    </Register>
    <Register start="+0x4" size="0" name="DMAMUX_C1CR" access="Read/Write" description="DMAMux - DMA request line multiplexer&#xa;          channel x control register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="8" name="DMAREQ_ID" description="Input DMA request line&#xa;              selected" />
      <BitField start="8" size="1" name="SOIE" description="Interrupt enable at synchronization&#xa;              event overrun" />
      <BitField start="9" size="1" name="EGE" description="Event generation&#xa;              enable/disable" />
      <BitField start="16" size="1" name="SE" description="Synchronous operating mode&#xa;              enable/disable" />
      <BitField start="17" size="2" name="SPOL" description="Synchronization event type selector&#xa;              Defines the synchronization event on the selected&#xa;              synchronization input:" />
      <BitField start="19" size="5" name="NBREQ" description="Number of DMA requests to forward&#xa;              Defines the number of DMA requests forwarded before&#xa;              output event is generated. In synchronous mode, it&#xa;              also defines the number of DMA requests to forward&#xa;              after a synchronization event, then stop forwarding.&#xa;              The actual number of DMA requests forwarded is&#xa;              NBREQ+1. Note: This field can only be written when&#xa;              both SE and EGE bits are reset." />
      <BitField start="24" size="5" name="SYNC_ID" description="Synchronization input&#xa;              selected" />
    </Register>
    <Register start="+0x8" size="0" name="DMAMUX_C2CR" access="Read/Write" description="DMAMux - DMA request line multiplexer&#xa;          channel x control register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="8" name="DMAREQ_ID" description="Input DMA request line&#xa;              selected" />
      <BitField start="8" size="1" name="SOIE" description="Interrupt enable at synchronization&#xa;              event overrun" />
      <BitField start="9" size="1" name="EGE" description="Event generation&#xa;              enable/disable" />
      <BitField start="16" size="1" name="SE" description="Synchronous operating mode&#xa;              enable/disable" />
      <BitField start="17" size="2" name="SPOL" description="Synchronization event type selector&#xa;              Defines the synchronization event on the selected&#xa;              synchronization input:" />
      <BitField start="19" size="5" name="NBREQ" description="Number of DMA requests to forward&#xa;              Defines the number of DMA requests forwarded before&#xa;              output event is generated. In synchronous mode, it&#xa;              also defines the number of DMA requests to forward&#xa;              after a synchronization event, then stop forwarding.&#xa;              The actual number of DMA requests forwarded is&#xa;              NBREQ+1. Note: This field can only be written when&#xa;              both SE and EGE bits are reset." />
      <BitField start="24" size="5" name="SYNC_ID" description="Synchronization input&#xa;              selected" />
    </Register>
    <Register start="+0xC" size="0" name="DMAMUX_C3CR" access="Read/Write" description="DMAMux - DMA request line multiplexer&#xa;          channel x control register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="8" name="DMAREQ_ID" description="Input DMA request line&#xa;              selected" />
      <BitField start="8" size="1" name="SOIE" description="Interrupt enable at synchronization&#xa;              event overrun" />
      <BitField start="9" size="1" name="EGE" description="Event generation&#xa;              enable/disable" />
      <BitField start="16" size="1" name="SE" description="Synchronous operating mode&#xa;              enable/disable" />
      <BitField start="17" size="2" name="SPOL" description="Synchronization event type selector&#xa;              Defines the synchronization event on the selected&#xa;              synchronization input:" />
      <BitField start="19" size="5" name="NBREQ" description="Number of DMA requests to forward&#xa;              Defines the number of DMA requests forwarded before&#xa;              output event is generated. In synchronous mode, it&#xa;              also defines the number of DMA requests to forward&#xa;              after a synchronization event, then stop forwarding.&#xa;              The actual number of DMA requests forwarded is&#xa;              NBREQ+1. Note: This field can only be written when&#xa;              both SE and EGE bits are reset." />
      <BitField start="24" size="5" name="SYNC_ID" description="Synchronization input&#xa;              selected" />
    </Register>
    <Register start="+0x10" size="0" name="DMAMUX_C4CR" access="Read/Write" description="DMAMux - DMA request line multiplexer&#xa;          channel x control register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="8" name="DMAREQ_ID" description="Input DMA request line&#xa;              selected" />
      <BitField start="8" size="1" name="SOIE" description="Interrupt enable at synchronization&#xa;              event overrun" />
      <BitField start="9" size="1" name="EGE" description="Event generation&#xa;              enable/disable" />
      <BitField start="16" size="1" name="SE" description="Synchronous operating mode&#xa;              enable/disable" />
      <BitField start="17" size="2" name="SPOL" description="Synchronization event type selector&#xa;              Defines the synchronization event on the selected&#xa;              synchronization input:" />
      <BitField start="19" size="5" name="NBREQ" description="Number of DMA requests to forward&#xa;              Defines the number of DMA requests forwarded before&#xa;              output event is generated. In synchronous mode, it&#xa;              also defines the number of DMA requests to forward&#xa;              after a synchronization event, then stop forwarding.&#xa;              The actual number of DMA requests forwarded is&#xa;              NBREQ+1. Note: This field can only be written when&#xa;              both SE and EGE bits are reset." />
      <BitField start="24" size="5" name="SYNC_ID" description="Synchronization input&#xa;              selected" />
    </Register>
    <Register start="+0x14" size="0" name="DMAMUX_C5CR" access="Read/Write" description="DMAMux - DMA request line multiplexer&#xa;          channel x control register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="8" name="DMAREQ_ID" description="Input DMA request line&#xa;              selected" />
      <BitField start="8" size="1" name="SOIE" description="Interrupt enable at synchronization&#xa;              event overrun" />
      <BitField start="9" size="1" name="EGE" description="Event generation&#xa;              enable/disable" />
      <BitField start="16" size="1" name="SE" description="Synchronous operating mode&#xa;              enable/disable" />
      <BitField start="17" size="2" name="SPOL" description="Synchronization event type selector&#xa;              Defines the synchronization event on the selected&#xa;              synchronization input:" />
      <BitField start="19" size="5" name="NBREQ" description="Number of DMA requests to forward&#xa;              Defines the number of DMA requests forwarded before&#xa;              output event is generated. In synchronous mode, it&#xa;              also defines the number of DMA requests to forward&#xa;              after a synchronization event, then stop forwarding.&#xa;              The actual number of DMA requests forwarded is&#xa;              NBREQ+1. Note: This field can only be written when&#xa;              both SE and EGE bits are reset." />
      <BitField start="24" size="5" name="SYNC_ID" description="Synchronization input&#xa;              selected" />
    </Register>
    <Register start="+0x18" size="0" name="DMAMUX_C6CR" access="Read/Write" description="DMAMux - DMA request line multiplexer&#xa;          channel x control register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="8" name="DMAREQ_ID" description="Input DMA request line&#xa;              selected" />
      <BitField start="8" size="1" name="SOIE" description="Interrupt enable at synchronization&#xa;              event overrun" />
      <BitField start="9" size="1" name="EGE" description="Event generation&#xa;              enable/disable" />
      <BitField start="16" size="1" name="SE" description="Synchronous operating mode&#xa;              enable/disable" />
      <BitField start="17" size="2" name="SPOL" description="Synchronization event type selector&#xa;              Defines the synchronization event on the selected&#xa;              synchronization input:" />
      <BitField start="19" size="5" name="NBREQ" description="Number of DMA requests to forward&#xa;              Defines the number of DMA requests forwarded before&#xa;              output event is generated. In synchronous mode, it&#xa;              also defines the number of DMA requests to forward&#xa;              after a synchronization event, then stop forwarding.&#xa;              The actual number of DMA requests forwarded is&#xa;              NBREQ+1. Note: This field can only be written when&#xa;              both SE and EGE bits are reset." />
      <BitField start="24" size="5" name="SYNC_ID" description="Synchronization input&#xa;              selected" />
    </Register>
    <Register start="+0x100" size="0" name="DMAMUX_RG0CR" access="Read/Write" description="DMAMux - DMA request generator channel x&#xa;          control register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="5" name="SIG_ID" description="DMA request trigger input&#xa;              selected" />
      <BitField start="8" size="1" name="OIE" description="Interrupt enable at trigger event&#xa;              overrun" />
      <BitField start="16" size="1" name="GE" description="DMA request generator channel&#xa;              enable/disable" />
      <BitField start="17" size="2" name="GPOL" description="DMA request generator trigger event type&#xa;              selection Defines the trigger event on the selected&#xa;              DMA request trigger input" />
      <BitField start="19" size="5" name="GNBREQ" description="Number of DMA requests to generate&#xa;              Defines the number of DMA requests generated after a&#xa;              trigger event, then stop generating. The actual&#xa;              number of generated DMA requests is GNBREQ+1. Note:&#xa;              This field can only be written when GE bit is&#xa;              reset." />
    </Register>
    <Register start="+0x104" size="0" name="DMAMUX_RG1CR" access="Read/Write" description="DMAMux - DMA request generator channel x&#xa;          control register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="5" name="SIG_ID" description="DMA request trigger input&#xa;              selected" />
      <BitField start="8" size="1" name="OIE" description="Interrupt enable at trigger event&#xa;              overrun" />
      <BitField start="16" size="1" name="GE" description="DMA request generator channel&#xa;              enable/disable" />
      <BitField start="17" size="2" name="GPOL" description="DMA request generator trigger event type&#xa;              selection Defines the trigger event on the selected&#xa;              DMA request trigger input" />
      <BitField start="19" size="5" name="GNBREQ" description="Number of DMA requests to generate&#xa;              Defines the number of DMA requests generated after a&#xa;              trigger event, then stop generating. The actual&#xa;              number of generated DMA requests is GNBREQ+1. Note:&#xa;              This field can only be written when GE bit is&#xa;              reset." />
    </Register>
    <Register start="+0x108" size="0" name="DMAMUX_RG2CR" access="Read/Write" description="DMAMux - DMA request generator channel x&#xa;          control register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="5" name="SIG_ID" description="DMA request trigger input&#xa;              selected" />
      <BitField start="8" size="1" name="OIE" description="Interrupt enable at trigger event&#xa;              overrun" />
      <BitField start="16" size="1" name="GE" description="DMA request generator channel&#xa;              enable/disable" />
      <BitField start="17" size="2" name="GPOL" description="DMA request generator trigger event type&#xa;              selection Defines the trigger event on the selected&#xa;              DMA request trigger input" />
      <BitField start="19" size="5" name="GNBREQ" description="Number of DMA requests to generate&#xa;              Defines the number of DMA requests generated after a&#xa;              trigger event, then stop generating. The actual&#xa;              number of generated DMA requests is GNBREQ+1. Note:&#xa;              This field can only be written when GE bit is&#xa;              reset." />
    </Register>
    <Register start="+0x10C" size="0" name="DMAMUX_RG3CR" access="Read/Write" description="DMAMux - DMA request generator channel x&#xa;          control register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="5" name="SIG_ID" description="DMA request trigger input&#xa;              selected" />
      <BitField start="8" size="1" name="OIE" description="Interrupt enable at trigger event&#xa;              overrun" />
      <BitField start="16" size="1" name="GE" description="DMA request generator channel&#xa;              enable/disable" />
      <BitField start="17" size="2" name="GPOL" description="DMA request generator trigger event type&#xa;              selection Defines the trigger event on the selected&#xa;              DMA request trigger input" />
      <BitField start="19" size="5" name="GNBREQ" description="Number of DMA requests to generate&#xa;              Defines the number of DMA requests generated after a&#xa;              trigger event, then stop generating. The actual&#xa;              number of generated DMA requests is GNBREQ+1. Note:&#xa;              This field can only be written when GE bit is&#xa;              reset." />
    </Register>
    <Register start="+0x140" size="0" name="DMAMUX_RGSR" access="ReadOnly" description="DMAMux - DMA request generator status&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="4" name="OF" description="Trigger event overrun flag The flag is&#xa;              set when a trigger event occurs on DMA request&#xa;              generator channel x, while the DMA request generator&#xa;              counter value is lower than GNBREQ. The flag is&#xa;              cleared by writing 1 to the corresponding COFx bit in&#xa;              DMAMUX_RGCFR register." />
    </Register>
    <Register start="+0x144" size="0" name="DMAMUX_RGCFR" access="WriteOnly" description="DMAMux - DMA request generator clear flag&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="4" name="COF" description="Clear trigger event overrun flag Upon&#xa;              setting, this bit clears the corresponding overrun&#xa;              flag OFx in the DMAMUX_RGCSR register." />
    </Register>
    <Register start="+0x80" size="0" name="DMAMUX_CSR" access="ReadOnly" description="DMAMUX request line multiplexer interrupt&#xa;          channel status register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="7" name="SOF" description="Synchronization overrun event&#xa;              flag" />
    </Register>
    <Register start="+0x84" size="0" name="DMAMUX_CFR" access="WriteOnly" description="DMAMUX request line multiplexer interrupt&#xa;          clear flag register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="7" name="CSOF" description="Clear synchronization overrun event&#xa;              flag" />
    </Register>
    <Register start="+0x3FC" size="0" name="DMAMUX_SIDR" access="ReadOnly" description="DMAMUX size identification&#xa;          register" reset_value="0xA3C5DD01" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="SID" description="Size identification" />
    </Register>
    <Register start="+0x3F8" size="0" name="DMAMUX_IPIDR" access="ReadOnly" description="DMAMUX IP identification&#xa;          register" reset_value="0x00100011" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="ID" description="IP identification" />
    </Register>
    <Register start="+0x3F4" size="0" name="DMAMUX_VERR" access="ReadOnly" description="DMAMUX version register" reset_value="0x00000011" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="4" name="MINREV" description="Minor IP revision" />
      <BitField start="4" size="4" name="MAJREV" description="Major IP revision" />
    </Register>
    <Register start="+0x3F0" size="0" name="DMAMUX_HWCFGR1" access="ReadOnly" description="DMAMUX hardware configuration 1&#xa;          register" reset_value="0x04173907" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="8" name="NUM_DMA_STREAMS" description="number of DMA request line multiplexer&#xa;              (output) channels" />
      <BitField start="8" size="8" name="NUM_DMA_PERIPH_REQ" description="number of DMA request lines from&#xa;              peripherals" />
      <BitField start="16" size="8" name="NUM_DMA_TRIG" description="number of synchronization&#xa;              inputs" />
      <BitField start="24" size="8" name="NUM_DMA_REQGEN" description="number of DMA request generator&#xa;              channels" />
    </Register>
    <Register start="+0x3EC" size="0" name="DMAMUX_HWCFGR2" access="ReadOnly" description="DMAMUX hardware configuration 2&#xa;          register" reset_value="0x00000017" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="8" name="NUM_DMA_EXT_REQ" description="Number of DMA request trigger&#xa;              inputs" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="GPIOA" start="0x50000000" description="General-purpose I/Os">
    <Register start="+0x0" size="0" name="MODER" access="Read/Write" description="GPIO port mode register" reset_value="0xEBFFFFFF" reset_mask="0xFFFFFFFF">
      <BitField start="30" size="2" name="MODER15" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="28" size="2" name="MODER14" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="26" size="2" name="MODER13" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="24" size="2" name="MODER12" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="22" size="2" name="MODER11" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="20" size="2" name="MODER10" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="18" size="2" name="MODER9" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="16" size="2" name="MODER8" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="14" size="2" name="MODER7" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="12" size="2" name="MODER6" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="10" size="2" name="MODER5" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="8" size="2" name="MODER4" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="6" size="2" name="MODER3" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="4" size="2" name="MODER2" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="2" size="2" name="MODER1" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="0" size="2" name="MODER0" description="Port x configuration bits (y =&#xa;              0..15)" />
    </Register>
    <Register start="+0x4" size="0" name="OTYPER" access="Read/Write" description="GPIO port output type register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="15" size="1" name="OT15" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="14" size="1" name="OT14" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="13" size="1" name="OT13" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="12" size="1" name="OT12" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="11" size="1" name="OT11" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="10" size="1" name="OT10" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="9" size="1" name="OT9" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="8" size="1" name="OT8" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="7" size="1" name="OT7" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="6" size="1" name="OT6" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="5" size="1" name="OT5" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="4" size="1" name="OT4" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="3" size="1" name="OT3" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="2" size="1" name="OT2" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="1" size="1" name="OT1" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="0" size="1" name="OT0" description="Port x configuration bits (y =&#xa;              0..15)" />
    </Register>
    <Register start="+0x8" size="0" name="OSPEEDR" access="Read/Write" description="GPIO port output speed&#xa;          register" reset_value="0x0C000000" reset_mask="0xFFFFFFFF">
      <BitField start="30" size="2" name="OSPEEDR15" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="28" size="2" name="OSPEEDR14" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="26" size="2" name="OSPEEDR13" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="24" size="2" name="OSPEEDR12" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="22" size="2" name="OSPEEDR11" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="20" size="2" name="OSPEEDR10" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="18" size="2" name="OSPEEDR9" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="16" size="2" name="OSPEEDR8" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="14" size="2" name="OSPEEDR7" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="12" size="2" name="OSPEEDR6" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="10" size="2" name="OSPEEDR5" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="8" size="2" name="OSPEEDR4" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="6" size="2" name="OSPEEDR3" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="4" size="2" name="OSPEEDR2" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="2" size="2" name="OSPEEDR1" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="0" size="2" name="OSPEEDR0" description="Port x configuration bits (y =&#xa;              0..15)" />
    </Register>
    <Register start="+0xC" size="0" name="PUPDR" access="Read/Write" description="GPIO port pull-up/pull-down&#xa;          register" reset_value="0x24000000" reset_mask="0xFFFFFFFF">
      <BitField start="30" size="2" name="PUPDR15" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="28" size="2" name="PUPDR14" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="26" size="2" name="PUPDR13" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="24" size="2" name="PUPDR12" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="22" size="2" name="PUPDR11" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="20" size="2" name="PUPDR10" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="18" size="2" name="PUPDR9" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="16" size="2" name="PUPDR8" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="14" size="2" name="PUPDR7" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="12" size="2" name="PUPDR6" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="10" size="2" name="PUPDR5" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="8" size="2" name="PUPDR4" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="6" size="2" name="PUPDR3" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="4" size="2" name="PUPDR2" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="2" size="2" name="PUPDR1" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="0" size="2" name="PUPDR0" description="Port x configuration bits (y =&#xa;              0..15)" />
    </Register>
    <Register start="+0x10" size="0" name="IDR" access="ReadOnly" description="GPIO port input data register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="15" size="1" name="IDR15" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="14" size="1" name="IDR14" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="13" size="1" name="IDR13" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="12" size="1" name="IDR12" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="11" size="1" name="IDR11" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="10" size="1" name="IDR10" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="9" size="1" name="IDR9" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="8" size="1" name="IDR8" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="7" size="1" name="IDR7" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="6" size="1" name="IDR6" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="5" size="1" name="IDR5" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="4" size="1" name="IDR4" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="3" size="1" name="IDR3" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="2" size="1" name="IDR2" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="1" size="1" name="IDR1" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="0" size="1" name="IDR0" description="Port input data (y =&#xa;              0..15)" />
    </Register>
    <Register start="+0x14" size="0" name="ODR" access="Read/Write" description="GPIO port output data register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="15" size="1" name="ODR15" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="14" size="1" name="ODR14" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="13" size="1" name="ODR13" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="12" size="1" name="ODR12" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="11" size="1" name="ODR11" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="10" size="1" name="ODR10" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="9" size="1" name="ODR9" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="8" size="1" name="ODR8" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="7" size="1" name="ODR7" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="6" size="1" name="ODR6" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="5" size="1" name="ODR5" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="4" size="1" name="ODR4" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="3" size="1" name="ODR3" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="2" size="1" name="ODR2" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="1" size="1" name="ODR1" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="0" size="1" name="ODR0" description="Port output data (y =&#xa;              0..15)" />
    </Register>
    <Register start="+0x18" size="0" name="BSRR" access="WriteOnly" description="GPIO port bit set/reset&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="31" size="1" name="BR15" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="30" size="1" name="BR14" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="29" size="1" name="BR13" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="28" size="1" name="BR12" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="27" size="1" name="BR11" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="26" size="1" name="BR10" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="25" size="1" name="BR9" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="24" size="1" name="BR8" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="23" size="1" name="BR7" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="22" size="1" name="BR6" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="21" size="1" name="BR5" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="20" size="1" name="BR4" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="19" size="1" name="BR3" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="18" size="1" name="BR2" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="17" size="1" name="BR1" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="16" size="1" name="BR0" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="15" size="1" name="BS15" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="14" size="1" name="BS14" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="13" size="1" name="BS13" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="12" size="1" name="BS12" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="11" size="1" name="BS11" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="10" size="1" name="BS10" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="9" size="1" name="BS9" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="8" size="1" name="BS8" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="7" size="1" name="BS7" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="6" size="1" name="BS6" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="5" size="1" name="BS5" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="4" size="1" name="BS4" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="3" size="1" name="BS3" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="2" size="1" name="BS2" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="1" size="1" name="BS1" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="0" size="1" name="BS0" description="Port x set bit y (y=&#xa;              0..15)" />
    </Register>
    <Register start="+0x1C" size="0" name="LCKR" access="Read/Write" description="GPIO port configuration lock&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="16" size="1" name="LCKK" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="15" size="1" name="LCK15" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="14" size="1" name="LCK14" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="13" size="1" name="LCK13" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="12" size="1" name="LCK12" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="11" size="1" name="LCK11" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="10" size="1" name="LCK10" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="9" size="1" name="LCK9" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="8" size="1" name="LCK8" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="7" size="1" name="LCK7" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="6" size="1" name="LCK6" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="5" size="1" name="LCK5" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="4" size="1" name="LCK4" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="3" size="1" name="LCK3" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="2" size="1" name="LCK2" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="1" size="1" name="LCK1" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="0" size="1" name="LCK0" description="Port x lock bit y (y=&#xa;              0..15)" />
    </Register>
    <Register start="+0x20" size="0" name="AFRL" access="Read/Write" description="GPIO alternate function low&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="28" size="4" name="AFSEL7" description="Alternate function selection for port x&#xa;              bit y (y = 0..7)" />
      <BitField start="24" size="4" name="AFSEL6" description="Alternate function selection for port x&#xa;              bit y (y = 0..7)" />
      <BitField start="20" size="4" name="AFSEL5" description="Alternate function selection for port x&#xa;              bit y (y = 0..7)" />
      <BitField start="16" size="4" name="AFSEL4" description="Alternate function selection for port x&#xa;              bit y (y = 0..7)" />
      <BitField start="12" size="4" name="AFSEL3" description="Alternate function selection for port x&#xa;              bit y (y = 0..7)" />
      <BitField start="8" size="4" name="AFSEL2" description="Alternate function selection for port x&#xa;              bit y (y = 0..7)" />
      <BitField start="4" size="4" name="AFSEL1" description="Alternate function selection for port x&#xa;              bit y (y = 0..7)" />
      <BitField start="0" size="4" name="AFSEL0" description="Alternate function selection for port x&#xa;              bit y (y = 0..7)" />
    </Register>
    <Register start="+0x24" size="0" name="AFRH" access="Read/Write" description="GPIO alternate function high&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="28" size="4" name="AFSEL15" description="Alternate function selection for port x&#xa;              bit y (y = 8..15)" />
      <BitField start="24" size="4" name="AFSEL14" description="Alternate function selection for port x&#xa;              bit y (y = 8..15)" />
      <BitField start="20" size="4" name="AFSEL13" description="Alternate function selection for port x&#xa;              bit y (y = 8..15)" />
      <BitField start="16" size="4" name="AFSEL12" description="Alternate function selection for port x&#xa;              bit y (y = 8..15)" />
      <BitField start="12" size="4" name="AFSEL11" description="Alternate function selection for port x&#xa;              bit y (y = 8..15)" />
      <BitField start="8" size="4" name="AFSEL10" description="Alternate function selection for port x&#xa;              bit y (y = 8..15)" />
      <BitField start="4" size="4" name="AFSEL9" description="Alternate function selection for port x&#xa;              bit y (y = 8..15)" />
      <BitField start="0" size="4" name="AFSEL8" description="Alternate function selection for port x&#xa;              bit y (y = 8..15)" />
    </Register>
    <Register start="+0x28" size="0" name="BRR" access="WriteOnly" description="port bit reset register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="BR0" description="Port Reset bit" />
      <BitField start="1" size="1" name="BR1" description="Port Reset bit" />
      <BitField start="2" size="1" name="BR2" description="Port Reset bit" />
      <BitField start="3" size="1" name="BR3" description="Port Reset bit" />
      <BitField start="4" size="1" name="BR4" description="Port Reset bit" />
      <BitField start="5" size="1" name="BR5" description="Port Reset bit" />
      <BitField start="6" size="1" name="BR6" description="Port Reset bit" />
      <BitField start="7" size="1" name="BR7" description="Port Reset bit" />
      <BitField start="8" size="1" name="BR8" description="Port Reset bit" />
      <BitField start="9" size="1" name="BR9" description="Port Reset bit" />
      <BitField start="10" size="1" name="BR10" description="Port Reset bit" />
      <BitField start="11" size="1" name="BR11" description="Port Reset bit" />
      <BitField start="12" size="1" name="BR12" description="Port Reset bit" />
      <BitField start="13" size="1" name="BR13" description="Port Reset bit" />
      <BitField start="14" size="1" name="BR14" description="Port Reset bit" />
      <BitField start="15" size="1" name="BR15" description="Port Reset bit" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="GPIOB" start="0x50000400" description="General-purpose I/Os">
    <Register start="+0x0" size="0" name="MODER" access="Read/Write" description="GPIO port mode register" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
      <BitField start="30" size="2" name="MODER15" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="28" size="2" name="MODER14" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="26" size="2" name="MODER13" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="24" size="2" name="MODER12" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="22" size="2" name="MODER11" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="20" size="2" name="MODER10" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="18" size="2" name="MODER9" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="16" size="2" name="MODER8" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="14" size="2" name="MODER7" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="12" size="2" name="MODER6" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="10" size="2" name="MODER5" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="8" size="2" name="MODER4" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="6" size="2" name="MODER3" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="4" size="2" name="MODER2" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="2" size="2" name="MODER1" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="0" size="2" name="MODER0" description="Port x configuration bits (y =&#xa;              0..15)" />
    </Register>
    <Register start="+0x4" size="0" name="OTYPER" access="Read/Write" description="GPIO port output type register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="15" size="1" name="OT15" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="14" size="1" name="OT14" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="13" size="1" name="OT13" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="12" size="1" name="OT12" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="11" size="1" name="OT11" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="10" size="1" name="OT10" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="9" size="1" name="OT9" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="8" size="1" name="OT8" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="7" size="1" name="OT7" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="6" size="1" name="OT6" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="5" size="1" name="OT5" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="4" size="1" name="OT4" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="3" size="1" name="OT3" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="2" size="1" name="OT2" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="1" size="1" name="OT1" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="0" size="1" name="OT0" description="Port x configuration bits (y =&#xa;              0..15)" />
    </Register>
    <Register start="+0x8" size="0" name="OSPEEDR" access="Read/Write" description="GPIO port output speed&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="30" size="2" name="OSPEEDR15" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="28" size="2" name="OSPEEDR14" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="26" size="2" name="OSPEEDR13" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="24" size="2" name="OSPEEDR12" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="22" size="2" name="OSPEEDR11" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="20" size="2" name="OSPEEDR10" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="18" size="2" name="OSPEEDR9" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="16" size="2" name="OSPEEDR8" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="14" size="2" name="OSPEEDR7" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="12" size="2" name="OSPEEDR6" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="10" size="2" name="OSPEEDR5" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="8" size="2" name="OSPEEDR4" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="6" size="2" name="OSPEEDR3" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="4" size="2" name="OSPEEDR2" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="2" size="2" name="OSPEEDR1" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="0" size="2" name="OSPEEDR0" description="Port x configuration bits (y =&#xa;              0..15)" />
    </Register>
    <Register start="+0xC" size="0" name="PUPDR" access="Read/Write" description="GPIO port pull-up/pull-down&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="30" size="2" name="PUPDR15" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="28" size="2" name="PUPDR14" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="26" size="2" name="PUPDR13" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="24" size="2" name="PUPDR12" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="22" size="2" name="PUPDR11" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="20" size="2" name="PUPDR10" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="18" size="2" name="PUPDR9" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="16" size="2" name="PUPDR8" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="14" size="2" name="PUPDR7" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="12" size="2" name="PUPDR6" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="10" size="2" name="PUPDR5" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="8" size="2" name="PUPDR4" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="6" size="2" name="PUPDR3" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="4" size="2" name="PUPDR2" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="2" size="2" name="PUPDR1" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="0" size="2" name="PUPDR0" description="Port x configuration bits (y =&#xa;              0..15)" />
    </Register>
    <Register start="+0x10" size="0" name="IDR" access="ReadOnly" description="GPIO port input data register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="15" size="1" name="IDR15" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="14" size="1" name="IDR14" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="13" size="1" name="IDR13" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="12" size="1" name="IDR12" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="11" size="1" name="IDR11" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="10" size="1" name="IDR10" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="9" size="1" name="IDR9" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="8" size="1" name="IDR8" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="7" size="1" name="IDR7" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="6" size="1" name="IDR6" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="5" size="1" name="IDR5" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="4" size="1" name="IDR4" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="3" size="1" name="IDR3" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="2" size="1" name="IDR2" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="1" size="1" name="IDR1" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="0" size="1" name="IDR0" description="Port input data (y =&#xa;              0..15)" />
    </Register>
    <Register start="+0x14" size="0" name="ODR" access="Read/Write" description="GPIO port output data register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="15" size="1" name="ODR15" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="14" size="1" name="ODR14" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="13" size="1" name="ODR13" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="12" size="1" name="ODR12" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="11" size="1" name="ODR11" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="10" size="1" name="ODR10" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="9" size="1" name="ODR9" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="8" size="1" name="ODR8" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="7" size="1" name="ODR7" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="6" size="1" name="ODR6" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="5" size="1" name="ODR5" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="4" size="1" name="ODR4" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="3" size="1" name="ODR3" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="2" size="1" name="ODR2" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="1" size="1" name="ODR1" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="0" size="1" name="ODR0" description="Port output data (y =&#xa;              0..15)" />
    </Register>
    <Register start="+0x18" size="0" name="BSRR" access="WriteOnly" description="GPIO port bit set/reset&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="31" size="1" name="BR15" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="30" size="1" name="BR14" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="29" size="1" name="BR13" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="28" size="1" name="BR12" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="27" size="1" name="BR11" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="26" size="1" name="BR10" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="25" size="1" name="BR9" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="24" size="1" name="BR8" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="23" size="1" name="BR7" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="22" size="1" name="BR6" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="21" size="1" name="BR5" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="20" size="1" name="BR4" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="19" size="1" name="BR3" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="18" size="1" name="BR2" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="17" size="1" name="BR1" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="16" size="1" name="BR0" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="15" size="1" name="BS15" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="14" size="1" name="BS14" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="13" size="1" name="BS13" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="12" size="1" name="BS12" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="11" size="1" name="BS11" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="10" size="1" name="BS10" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="9" size="1" name="BS9" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="8" size="1" name="BS8" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="7" size="1" name="BS7" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="6" size="1" name="BS6" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="5" size="1" name="BS5" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="4" size="1" name="BS4" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="3" size="1" name="BS3" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="2" size="1" name="BS2" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="1" size="1" name="BS1" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="0" size="1" name="BS0" description="Port x set bit y (y=&#xa;              0..15)" />
    </Register>
    <Register start="+0x1C" size="0" name="LCKR" access="Read/Write" description="GPIO port configuration lock&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="16" size="1" name="LCKK" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="15" size="1" name="LCK15" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="14" size="1" name="LCK14" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="13" size="1" name="LCK13" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="12" size="1" name="LCK12" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="11" size="1" name="LCK11" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="10" size="1" name="LCK10" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="9" size="1" name="LCK9" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="8" size="1" name="LCK8" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="7" size="1" name="LCK7" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="6" size="1" name="LCK6" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="5" size="1" name="LCK5" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="4" size="1" name="LCK4" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="3" size="1" name="LCK3" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="2" size="1" name="LCK2" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="1" size="1" name="LCK1" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="0" size="1" name="LCK0" description="Port x lock bit y (y=&#xa;              0..15)" />
    </Register>
    <Register start="+0x20" size="0" name="AFRL" access="Read/Write" description="GPIO alternate function low&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="28" size="4" name="AFSEL7" description="Alternate function selection for port x&#xa;              bit y (y = 0..7)" />
      <BitField start="24" size="4" name="AFSEL6" description="Alternate function selection for port x&#xa;              bit y (y = 0..7)" />
      <BitField start="20" size="4" name="AFSEL5" description="Alternate function selection for port x&#xa;              bit y (y = 0..7)" />
      <BitField start="16" size="4" name="AFSEL4" description="Alternate function selection for port x&#xa;              bit y (y = 0..7)" />
      <BitField start="12" size="4" name="AFSEL3" description="Alternate function selection for port x&#xa;              bit y (y = 0..7)" />
      <BitField start="8" size="4" name="AFSEL2" description="Alternate function selection for port x&#xa;              bit y (y = 0..7)" />
      <BitField start="4" size="4" name="AFSEL1" description="Alternate function selection for port x&#xa;              bit y (y = 0..7)" />
      <BitField start="0" size="4" name="AFSEL0" description="Alternate function selection for port x&#xa;              bit y (y = 0..7)" />
    </Register>
    <Register start="+0x24" size="0" name="AFRH" access="Read/Write" description="GPIO alternate function high&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="28" size="4" name="AFSEL15" description="Alternate function selection for port x&#xa;              bit y (y = 8..15)" />
      <BitField start="24" size="4" name="AFSEL14" description="Alternate function selection for port x&#xa;              bit y (y = 8..15)" />
      <BitField start="20" size="4" name="AFSEL13" description="Alternate function selection for port x&#xa;              bit y (y = 8..15)" />
      <BitField start="16" size="4" name="AFSEL12" description="Alternate function selection for port x&#xa;              bit y (y = 8..15)" />
      <BitField start="12" size="4" name="AFSEL11" description="Alternate function selection for port x&#xa;              bit y (y = 8..15)" />
      <BitField start="8" size="4" name="AFSEL10" description="Alternate function selection for port x&#xa;              bit y (y = 8..15)" />
      <BitField start="4" size="4" name="AFSEL9" description="Alternate function selection for port x&#xa;              bit y (y = 8..15)" />
      <BitField start="0" size="4" name="AFSEL8" description="Alternate function selection for port x&#xa;              bit y (y = 8..15)" />
    </Register>
    <Register start="+0x28" size="0" name="BRR" access="WriteOnly" description="port bit reset register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="BR0" description="Port Reset bit" />
      <BitField start="1" size="1" name="BR1" description="Port Reset bit" />
      <BitField start="2" size="1" name="BR2" description="Port Reset bit" />
      <BitField start="3" size="1" name="BR3" description="Port Reset bit" />
      <BitField start="4" size="1" name="BR4" description="Port Reset bit" />
      <BitField start="5" size="1" name="BR5" description="Port Reset bit" />
      <BitField start="6" size="1" name="BR6" description="Port Reset bit" />
      <BitField start="7" size="1" name="BR7" description="Port Reset bit" />
      <BitField start="8" size="1" name="BR8" description="Port Reset bit" />
      <BitField start="9" size="1" name="BR9" description="Port Reset bit" />
      <BitField start="10" size="1" name="BR10" description="Port Reset bit" />
      <BitField start="11" size="1" name="BR11" description="Port Reset bit" />
      <BitField start="12" size="1" name="BR12" description="Port Reset bit" />
      <BitField start="13" size="1" name="BR13" description="Port Reset bit" />
      <BitField start="14" size="1" name="BR14" description="Port Reset bit" />
      <BitField start="15" size="1" name="BR15" description="Port Reset bit" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="GPIOC" start="0x50000800" description="General-purpose I/Os">
    <Register start="+0x0" size="0" name="MODER" access="Read/Write" description="GPIO port mode register" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
      <BitField start="30" size="2" name="MODER15" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="28" size="2" name="MODER14" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="26" size="2" name="MODER13" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="24" size="2" name="MODER12" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="22" size="2" name="MODER11" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="20" size="2" name="MODER10" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="18" size="2" name="MODER9" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="16" size="2" name="MODER8" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="14" size="2" name="MODER7" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="12" size="2" name="MODER6" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="10" size="2" name="MODER5" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="8" size="2" name="MODER4" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="6" size="2" name="MODER3" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="4" size="2" name="MODER2" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="2" size="2" name="MODER1" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="0" size="2" name="MODER0" description="Port x configuration bits (y =&#xa;              0..15)" />
    </Register>
    <Register start="+0x4" size="0" name="OTYPER" access="Read/Write" description="GPIO port output type register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="15" size="1" name="OT15" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="14" size="1" name="OT14" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="13" size="1" name="OT13" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="12" size="1" name="OT12" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="11" size="1" name="OT11" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="10" size="1" name="OT10" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="9" size="1" name="OT9" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="8" size="1" name="OT8" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="7" size="1" name="OT7" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="6" size="1" name="OT6" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="5" size="1" name="OT5" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="4" size="1" name="OT4" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="3" size="1" name="OT3" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="2" size="1" name="OT2" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="1" size="1" name="OT1" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="0" size="1" name="OT0" description="Port x configuration bits (y =&#xa;              0..15)" />
    </Register>
    <Register start="+0x8" size="0" name="OSPEEDR" access="Read/Write" description="GPIO port output speed&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="30" size="2" name="OSPEEDR15" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="28" size="2" name="OSPEEDR14" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="26" size="2" name="OSPEEDR13" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="24" size="2" name="OSPEEDR12" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="22" size="2" name="OSPEEDR11" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="20" size="2" name="OSPEEDR10" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="18" size="2" name="OSPEEDR9" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="16" size="2" name="OSPEEDR8" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="14" size="2" name="OSPEEDR7" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="12" size="2" name="OSPEEDR6" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="10" size="2" name="OSPEEDR5" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="8" size="2" name="OSPEEDR4" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="6" size="2" name="OSPEEDR3" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="4" size="2" name="OSPEEDR2" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="2" size="2" name="OSPEEDR1" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="0" size="2" name="OSPEEDR0" description="Port x configuration bits (y =&#xa;              0..15)" />
    </Register>
    <Register start="+0xC" size="0" name="PUPDR" access="Read/Write" description="GPIO port pull-up/pull-down&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="30" size="2" name="PUPDR15" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="28" size="2" name="PUPDR14" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="26" size="2" name="PUPDR13" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="24" size="2" name="PUPDR12" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="22" size="2" name="PUPDR11" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="20" size="2" name="PUPDR10" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="18" size="2" name="PUPDR9" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="16" size="2" name="PUPDR8" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="14" size="2" name="PUPDR7" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="12" size="2" name="PUPDR6" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="10" size="2" name="PUPDR5" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="8" size="2" name="PUPDR4" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="6" size="2" name="PUPDR3" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="4" size="2" name="PUPDR2" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="2" size="2" name="PUPDR1" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="0" size="2" name="PUPDR0" description="Port x configuration bits (y =&#xa;              0..15)" />
    </Register>
    <Register start="+0x10" size="0" name="IDR" access="ReadOnly" description="GPIO port input data register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="15" size="1" name="IDR15" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="14" size="1" name="IDR14" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="13" size="1" name="IDR13" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="12" size="1" name="IDR12" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="11" size="1" name="IDR11" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="10" size="1" name="IDR10" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="9" size="1" name="IDR9" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="8" size="1" name="IDR8" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="7" size="1" name="IDR7" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="6" size="1" name="IDR6" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="5" size="1" name="IDR5" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="4" size="1" name="IDR4" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="3" size="1" name="IDR3" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="2" size="1" name="IDR2" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="1" size="1" name="IDR1" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="0" size="1" name="IDR0" description="Port input data (y =&#xa;              0..15)" />
    </Register>
    <Register start="+0x14" size="0" name="ODR" access="Read/Write" description="GPIO port output data register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="15" size="1" name="ODR15" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="14" size="1" name="ODR14" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="13" size="1" name="ODR13" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="12" size="1" name="ODR12" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="11" size="1" name="ODR11" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="10" size="1" name="ODR10" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="9" size="1" name="ODR9" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="8" size="1" name="ODR8" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="7" size="1" name="ODR7" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="6" size="1" name="ODR6" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="5" size="1" name="ODR5" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="4" size="1" name="ODR4" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="3" size="1" name="ODR3" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="2" size="1" name="ODR2" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="1" size="1" name="ODR1" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="0" size="1" name="ODR0" description="Port output data (y =&#xa;              0..15)" />
    </Register>
    <Register start="+0x18" size="0" name="BSRR" access="WriteOnly" description="GPIO port bit set/reset&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="31" size="1" name="BR15" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="30" size="1" name="BR14" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="29" size="1" name="BR13" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="28" size="1" name="BR12" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="27" size="1" name="BR11" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="26" size="1" name="BR10" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="25" size="1" name="BR9" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="24" size="1" name="BR8" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="23" size="1" name="BR7" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="22" size="1" name="BR6" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="21" size="1" name="BR5" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="20" size="1" name="BR4" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="19" size="1" name="BR3" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="18" size="1" name="BR2" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="17" size="1" name="BR1" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="16" size="1" name="BR0" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="15" size="1" name="BS15" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="14" size="1" name="BS14" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="13" size="1" name="BS13" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="12" size="1" name="BS12" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="11" size="1" name="BS11" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="10" size="1" name="BS10" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="9" size="1" name="BS9" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="8" size="1" name="BS8" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="7" size="1" name="BS7" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="6" size="1" name="BS6" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="5" size="1" name="BS5" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="4" size="1" name="BS4" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="3" size="1" name="BS3" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="2" size="1" name="BS2" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="1" size="1" name="BS1" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="0" size="1" name="BS0" description="Port x set bit y (y=&#xa;              0..15)" />
    </Register>
    <Register start="+0x1C" size="0" name="LCKR" access="Read/Write" description="GPIO port configuration lock&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="16" size="1" name="LCKK" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="15" size="1" name="LCK15" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="14" size="1" name="LCK14" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="13" size="1" name="LCK13" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="12" size="1" name="LCK12" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="11" size="1" name="LCK11" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="10" size="1" name="LCK10" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="9" size="1" name="LCK9" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="8" size="1" name="LCK8" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="7" size="1" name="LCK7" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="6" size="1" name="LCK6" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="5" size="1" name="LCK5" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="4" size="1" name="LCK4" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="3" size="1" name="LCK3" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="2" size="1" name="LCK2" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="1" size="1" name="LCK1" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="0" size="1" name="LCK0" description="Port x lock bit y (y=&#xa;              0..15)" />
    </Register>
    <Register start="+0x20" size="0" name="AFRL" access="Read/Write" description="GPIO alternate function low&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="28" size="4" name="AFSEL7" description="Alternate function selection for port x&#xa;              bit y (y = 0..7)" />
      <BitField start="24" size="4" name="AFSEL6" description="Alternate function selection for port x&#xa;              bit y (y = 0..7)" />
      <BitField start="20" size="4" name="AFSEL5" description="Alternate function selection for port x&#xa;              bit y (y = 0..7)" />
      <BitField start="16" size="4" name="AFSEL4" description="Alternate function selection for port x&#xa;              bit y (y = 0..7)" />
      <BitField start="12" size="4" name="AFSEL3" description="Alternate function selection for port x&#xa;              bit y (y = 0..7)" />
      <BitField start="8" size="4" name="AFSEL2" description="Alternate function selection for port x&#xa;              bit y (y = 0..7)" />
      <BitField start="4" size="4" name="AFSEL1" description="Alternate function selection for port x&#xa;              bit y (y = 0..7)" />
      <BitField start="0" size="4" name="AFSEL0" description="Alternate function selection for port x&#xa;              bit y (y = 0..7)" />
    </Register>
    <Register start="+0x24" size="0" name="AFRH" access="Read/Write" description="GPIO alternate function high&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="28" size="4" name="AFSEL15" description="Alternate function selection for port x&#xa;              bit y (y = 8..15)" />
      <BitField start="24" size="4" name="AFSEL14" description="Alternate function selection for port x&#xa;              bit y (y = 8..15)" />
      <BitField start="20" size="4" name="AFSEL13" description="Alternate function selection for port x&#xa;              bit y (y = 8..15)" />
      <BitField start="16" size="4" name="AFSEL12" description="Alternate function selection for port x&#xa;              bit y (y = 8..15)" />
      <BitField start="12" size="4" name="AFSEL11" description="Alternate function selection for port x&#xa;              bit y (y = 8..15)" />
      <BitField start="8" size="4" name="AFSEL10" description="Alternate function selection for port x&#xa;              bit y (y = 8..15)" />
      <BitField start="4" size="4" name="AFSEL9" description="Alternate function selection for port x&#xa;              bit y (y = 8..15)" />
      <BitField start="0" size="4" name="AFSEL8" description="Alternate function selection for port x&#xa;              bit y (y = 8..15)" />
    </Register>
    <Register start="+0x28" size="0" name="BRR" access="WriteOnly" description="port bit reset register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="BR0" description="Port Reset bit" />
      <BitField start="1" size="1" name="BR1" description="Port Reset bit" />
      <BitField start="2" size="1" name="BR2" description="Port Reset bit" />
      <BitField start="3" size="1" name="BR3" description="Port Reset bit" />
      <BitField start="4" size="1" name="BR4" description="Port Reset bit" />
      <BitField start="5" size="1" name="BR5" description="Port Reset bit" />
      <BitField start="6" size="1" name="BR6" description="Port Reset bit" />
      <BitField start="7" size="1" name="BR7" description="Port Reset bit" />
      <BitField start="8" size="1" name="BR8" description="Port Reset bit" />
      <BitField start="9" size="1" name="BR9" description="Port Reset bit" />
      <BitField start="10" size="1" name="BR10" description="Port Reset bit" />
      <BitField start="11" size="1" name="BR11" description="Port Reset bit" />
      <BitField start="12" size="1" name="BR12" description="Port Reset bit" />
      <BitField start="13" size="1" name="BR13" description="Port Reset bit" />
      <BitField start="14" size="1" name="BR14" description="Port Reset bit" />
      <BitField start="15" size="1" name="BR15" description="Port Reset bit" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="GPIOD" start="0x50000C00" description="General-purpose I/Os">
    <Register start="+0x0" size="0" name="MODER" access="Read/Write" description="GPIO port mode register" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
      <BitField start="30" size="2" name="MODER15" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="28" size="2" name="MODER14" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="26" size="2" name="MODER13" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="24" size="2" name="MODER12" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="22" size="2" name="MODER11" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="20" size="2" name="MODER10" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="18" size="2" name="MODER9" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="16" size="2" name="MODER8" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="14" size="2" name="MODER7" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="12" size="2" name="MODER6" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="10" size="2" name="MODER5" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="8" size="2" name="MODER4" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="6" size="2" name="MODER3" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="4" size="2" name="MODER2" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="2" size="2" name="MODER1" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="0" size="2" name="MODER0" description="Port x configuration bits (y =&#xa;              0..15)" />
    </Register>
    <Register start="+0x4" size="0" name="OTYPER" access="Read/Write" description="GPIO port output type register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="15" size="1" name="OT15" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="14" size="1" name="OT14" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="13" size="1" name="OT13" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="12" size="1" name="OT12" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="11" size="1" name="OT11" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="10" size="1" name="OT10" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="9" size="1" name="OT9" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="8" size="1" name="OT8" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="7" size="1" name="OT7" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="6" size="1" name="OT6" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="5" size="1" name="OT5" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="4" size="1" name="OT4" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="3" size="1" name="OT3" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="2" size="1" name="OT2" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="1" size="1" name="OT1" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="0" size="1" name="OT0" description="Port x configuration bits (y =&#xa;              0..15)" />
    </Register>
    <Register start="+0x8" size="0" name="OSPEEDR" access="Read/Write" description="GPIO port output speed&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="30" size="2" name="OSPEEDR15" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="28" size="2" name="OSPEEDR14" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="26" size="2" name="OSPEEDR13" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="24" size="2" name="OSPEEDR12" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="22" size="2" name="OSPEEDR11" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="20" size="2" name="OSPEEDR10" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="18" size="2" name="OSPEEDR9" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="16" size="2" name="OSPEEDR8" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="14" size="2" name="OSPEEDR7" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="12" size="2" name="OSPEEDR6" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="10" size="2" name="OSPEEDR5" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="8" size="2" name="OSPEEDR4" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="6" size="2" name="OSPEEDR3" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="4" size="2" name="OSPEEDR2" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="2" size="2" name="OSPEEDR1" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="0" size="2" name="OSPEEDR0" description="Port x configuration bits (y =&#xa;              0..15)" />
    </Register>
    <Register start="+0xC" size="0" name="PUPDR" access="Read/Write" description="GPIO port pull-up/pull-down&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="30" size="2" name="PUPDR15" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="28" size="2" name="PUPDR14" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="26" size="2" name="PUPDR13" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="24" size="2" name="PUPDR12" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="22" size="2" name="PUPDR11" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="20" size="2" name="PUPDR10" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="18" size="2" name="PUPDR9" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="16" size="2" name="PUPDR8" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="14" size="2" name="PUPDR7" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="12" size="2" name="PUPDR6" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="10" size="2" name="PUPDR5" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="8" size="2" name="PUPDR4" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="6" size="2" name="PUPDR3" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="4" size="2" name="PUPDR2" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="2" size="2" name="PUPDR1" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="0" size="2" name="PUPDR0" description="Port x configuration bits (y =&#xa;              0..15)" />
    </Register>
    <Register start="+0x10" size="0" name="IDR" access="ReadOnly" description="GPIO port input data register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="15" size="1" name="IDR15" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="14" size="1" name="IDR14" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="13" size="1" name="IDR13" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="12" size="1" name="IDR12" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="11" size="1" name="IDR11" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="10" size="1" name="IDR10" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="9" size="1" name="IDR9" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="8" size="1" name="IDR8" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="7" size="1" name="IDR7" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="6" size="1" name="IDR6" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="5" size="1" name="IDR5" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="4" size="1" name="IDR4" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="3" size="1" name="IDR3" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="2" size="1" name="IDR2" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="1" size="1" name="IDR1" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="0" size="1" name="IDR0" description="Port input data (y =&#xa;              0..15)" />
    </Register>
    <Register start="+0x14" size="0" name="ODR" access="Read/Write" description="GPIO port output data register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="15" size="1" name="ODR15" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="14" size="1" name="ODR14" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="13" size="1" name="ODR13" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="12" size="1" name="ODR12" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="11" size="1" name="ODR11" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="10" size="1" name="ODR10" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="9" size="1" name="ODR9" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="8" size="1" name="ODR8" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="7" size="1" name="ODR7" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="6" size="1" name="ODR6" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="5" size="1" name="ODR5" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="4" size="1" name="ODR4" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="3" size="1" name="ODR3" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="2" size="1" name="ODR2" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="1" size="1" name="ODR1" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="0" size="1" name="ODR0" description="Port output data (y =&#xa;              0..15)" />
    </Register>
    <Register start="+0x18" size="0" name="BSRR" access="WriteOnly" description="GPIO port bit set/reset&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="31" size="1" name="BR15" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="30" size="1" name="BR14" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="29" size="1" name="BR13" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="28" size="1" name="BR12" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="27" size="1" name="BR11" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="26" size="1" name="BR10" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="25" size="1" name="BR9" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="24" size="1" name="BR8" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="23" size="1" name="BR7" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="22" size="1" name="BR6" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="21" size="1" name="BR5" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="20" size="1" name="BR4" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="19" size="1" name="BR3" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="18" size="1" name="BR2" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="17" size="1" name="BR1" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="16" size="1" name="BR0" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="15" size="1" name="BS15" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="14" size="1" name="BS14" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="13" size="1" name="BS13" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="12" size="1" name="BS12" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="11" size="1" name="BS11" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="10" size="1" name="BS10" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="9" size="1" name="BS9" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="8" size="1" name="BS8" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="7" size="1" name="BS7" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="6" size="1" name="BS6" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="5" size="1" name="BS5" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="4" size="1" name="BS4" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="3" size="1" name="BS3" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="2" size="1" name="BS2" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="1" size="1" name="BS1" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="0" size="1" name="BS0" description="Port x set bit y (y=&#xa;              0..15)" />
    </Register>
    <Register start="+0x1C" size="0" name="LCKR" access="Read/Write" description="GPIO port configuration lock&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="16" size="1" name="LCKK" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="15" size="1" name="LCK15" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="14" size="1" name="LCK14" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="13" size="1" name="LCK13" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="12" size="1" name="LCK12" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="11" size="1" name="LCK11" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="10" size="1" name="LCK10" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="9" size="1" name="LCK9" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="8" size="1" name="LCK8" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="7" size="1" name="LCK7" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="6" size="1" name="LCK6" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="5" size="1" name="LCK5" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="4" size="1" name="LCK4" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="3" size="1" name="LCK3" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="2" size="1" name="LCK2" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="1" size="1" name="LCK1" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="0" size="1" name="LCK0" description="Port x lock bit y (y=&#xa;              0..15)" />
    </Register>
    <Register start="+0x20" size="0" name="AFRL" access="Read/Write" description="GPIO alternate function low&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="28" size="4" name="AFSEL7" description="Alternate function selection for port x&#xa;              bit y (y = 0..7)" />
      <BitField start="24" size="4" name="AFSEL6" description="Alternate function selection for port x&#xa;              bit y (y = 0..7)" />
      <BitField start="20" size="4" name="AFSEL5" description="Alternate function selection for port x&#xa;              bit y (y = 0..7)" />
      <BitField start="16" size="4" name="AFSEL4" description="Alternate function selection for port x&#xa;              bit y (y = 0..7)" />
      <BitField start="12" size="4" name="AFSEL3" description="Alternate function selection for port x&#xa;              bit y (y = 0..7)" />
      <BitField start="8" size="4" name="AFSEL2" description="Alternate function selection for port x&#xa;              bit y (y = 0..7)" />
      <BitField start="4" size="4" name="AFSEL1" description="Alternate function selection for port x&#xa;              bit y (y = 0..7)" />
      <BitField start="0" size="4" name="AFSEL0" description="Alternate function selection for port x&#xa;              bit y (y = 0..7)" />
    </Register>
    <Register start="+0x24" size="0" name="AFRH" access="Read/Write" description="GPIO alternate function high&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="28" size="4" name="AFSEL15" description="Alternate function selection for port x&#xa;              bit y (y = 8..15)" />
      <BitField start="24" size="4" name="AFSEL14" description="Alternate function selection for port x&#xa;              bit y (y = 8..15)" />
      <BitField start="20" size="4" name="AFSEL13" description="Alternate function selection for port x&#xa;              bit y (y = 8..15)" />
      <BitField start="16" size="4" name="AFSEL12" description="Alternate function selection for port x&#xa;              bit y (y = 8..15)" />
      <BitField start="12" size="4" name="AFSEL11" description="Alternate function selection for port x&#xa;              bit y (y = 8..15)" />
      <BitField start="8" size="4" name="AFSEL10" description="Alternate function selection for port x&#xa;              bit y (y = 8..15)" />
      <BitField start="4" size="4" name="AFSEL9" description="Alternate function selection for port x&#xa;              bit y (y = 8..15)" />
      <BitField start="0" size="4" name="AFSEL8" description="Alternate function selection for port x&#xa;              bit y (y = 8..15)" />
    </Register>
    <Register start="+0x28" size="0" name="BRR" access="WriteOnly" description="port bit reset register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="BR0" description="Port Reset bit" />
      <BitField start="1" size="1" name="BR1" description="Port Reset bit" />
      <BitField start="2" size="1" name="BR2" description="Port Reset bit" />
      <BitField start="3" size="1" name="BR3" description="Port Reset bit" />
      <BitField start="4" size="1" name="BR4" description="Port Reset bit" />
      <BitField start="5" size="1" name="BR5" description="Port Reset bit" />
      <BitField start="6" size="1" name="BR6" description="Port Reset bit" />
      <BitField start="7" size="1" name="BR7" description="Port Reset bit" />
      <BitField start="8" size="1" name="BR8" description="Port Reset bit" />
      <BitField start="9" size="1" name="BR9" description="Port Reset bit" />
      <BitField start="10" size="1" name="BR10" description="Port Reset bit" />
      <BitField start="11" size="1" name="BR11" description="Port Reset bit" />
      <BitField start="12" size="1" name="BR12" description="Port Reset bit" />
      <BitField start="13" size="1" name="BR13" description="Port Reset bit" />
      <BitField start="14" size="1" name="BR14" description="Port Reset bit" />
      <BitField start="15" size="1" name="BR15" description="Port Reset bit" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="GPIOF" start="0x50001400" description="General-purpose I/Os">
    <Register start="+0x0" size="0" name="MODER" access="Read/Write" description="GPIO port mode register" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
      <BitField start="30" size="2" name="MODER15" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="28" size="2" name="MODER14" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="26" size="2" name="MODER13" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="24" size="2" name="MODER12" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="22" size="2" name="MODER11" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="20" size="2" name="MODER10" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="18" size="2" name="MODER9" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="16" size="2" name="MODER8" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="14" size="2" name="MODER7" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="12" size="2" name="MODER6" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="10" size="2" name="MODER5" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="8" size="2" name="MODER4" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="6" size="2" name="MODER3" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="4" size="2" name="MODER2" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="2" size="2" name="MODER1" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="0" size="2" name="MODER0" description="Port x configuration bits (y =&#xa;              0..15)" />
    </Register>
    <Register start="+0x4" size="0" name="OTYPER" access="Read/Write" description="GPIO port output type register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="15" size="1" name="OT15" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="14" size="1" name="OT14" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="13" size="1" name="OT13" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="12" size="1" name="OT12" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="11" size="1" name="OT11" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="10" size="1" name="OT10" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="9" size="1" name="OT9" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="8" size="1" name="OT8" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="7" size="1" name="OT7" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="6" size="1" name="OT6" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="5" size="1" name="OT5" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="4" size="1" name="OT4" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="3" size="1" name="OT3" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="2" size="1" name="OT2" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="1" size="1" name="OT1" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="0" size="1" name="OT0" description="Port x configuration bits (y =&#xa;              0..15)" />
    </Register>
    <Register start="+0x8" size="0" name="OSPEEDR" access="Read/Write" description="GPIO port output speed&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="30" size="2" name="OSPEEDR15" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="28" size="2" name="OSPEEDR14" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="26" size="2" name="OSPEEDR13" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="24" size="2" name="OSPEEDR12" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="22" size="2" name="OSPEEDR11" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="20" size="2" name="OSPEEDR10" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="18" size="2" name="OSPEEDR9" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="16" size="2" name="OSPEEDR8" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="14" size="2" name="OSPEEDR7" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="12" size="2" name="OSPEEDR6" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="10" size="2" name="OSPEEDR5" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="8" size="2" name="OSPEEDR4" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="6" size="2" name="OSPEEDR3" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="4" size="2" name="OSPEEDR2" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="2" size="2" name="OSPEEDR1" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="0" size="2" name="OSPEEDR0" description="Port x configuration bits (y =&#xa;              0..15)" />
    </Register>
    <Register start="+0xC" size="0" name="PUPDR" access="Read/Write" description="GPIO port pull-up/pull-down&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="30" size="2" name="PUPDR15" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="28" size="2" name="PUPDR14" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="26" size="2" name="PUPDR13" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="24" size="2" name="PUPDR12" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="22" size="2" name="PUPDR11" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="20" size="2" name="PUPDR10" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="18" size="2" name="PUPDR9" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="16" size="2" name="PUPDR8" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="14" size="2" name="PUPDR7" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="12" size="2" name="PUPDR6" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="10" size="2" name="PUPDR5" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="8" size="2" name="PUPDR4" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="6" size="2" name="PUPDR3" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="4" size="2" name="PUPDR2" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="2" size="2" name="PUPDR1" description="Port x configuration bits (y =&#xa;              0..15)" />
      <BitField start="0" size="2" name="PUPDR0" description="Port x configuration bits (y =&#xa;              0..15)" />
    </Register>
    <Register start="+0x10" size="0" name="IDR" access="ReadOnly" description="GPIO port input data register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="15" size="1" name="IDR15" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="14" size="1" name="IDR14" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="13" size="1" name="IDR13" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="12" size="1" name="IDR12" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="11" size="1" name="IDR11" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="10" size="1" name="IDR10" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="9" size="1" name="IDR9" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="8" size="1" name="IDR8" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="7" size="1" name="IDR7" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="6" size="1" name="IDR6" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="5" size="1" name="IDR5" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="4" size="1" name="IDR4" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="3" size="1" name="IDR3" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="2" size="1" name="IDR2" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="1" size="1" name="IDR1" description="Port input data (y =&#xa;              0..15)" />
      <BitField start="0" size="1" name="IDR0" description="Port input data (y =&#xa;              0..15)" />
    </Register>
    <Register start="+0x14" size="0" name="ODR" access="Read/Write" description="GPIO port output data register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="15" size="1" name="ODR15" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="14" size="1" name="ODR14" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="13" size="1" name="ODR13" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="12" size="1" name="ODR12" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="11" size="1" name="ODR11" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="10" size="1" name="ODR10" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="9" size="1" name="ODR9" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="8" size="1" name="ODR8" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="7" size="1" name="ODR7" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="6" size="1" name="ODR6" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="5" size="1" name="ODR5" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="4" size="1" name="ODR4" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="3" size="1" name="ODR3" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="2" size="1" name="ODR2" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="1" size="1" name="ODR1" description="Port output data (y =&#xa;              0..15)" />
      <BitField start="0" size="1" name="ODR0" description="Port output data (y =&#xa;              0..15)" />
    </Register>
    <Register start="+0x18" size="0" name="BSRR" access="WriteOnly" description="GPIO port bit set/reset&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="31" size="1" name="BR15" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="30" size="1" name="BR14" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="29" size="1" name="BR13" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="28" size="1" name="BR12" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="27" size="1" name="BR11" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="26" size="1" name="BR10" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="25" size="1" name="BR9" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="24" size="1" name="BR8" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="23" size="1" name="BR7" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="22" size="1" name="BR6" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="21" size="1" name="BR5" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="20" size="1" name="BR4" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="19" size="1" name="BR3" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="18" size="1" name="BR2" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="17" size="1" name="BR1" description="Port x reset bit y (y =&#xa;              0..15)" />
      <BitField start="16" size="1" name="BR0" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="15" size="1" name="BS15" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="14" size="1" name="BS14" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="13" size="1" name="BS13" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="12" size="1" name="BS12" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="11" size="1" name="BS11" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="10" size="1" name="BS10" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="9" size="1" name="BS9" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="8" size="1" name="BS8" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="7" size="1" name="BS7" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="6" size="1" name="BS6" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="5" size="1" name="BS5" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="4" size="1" name="BS4" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="3" size="1" name="BS3" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="2" size="1" name="BS2" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="1" size="1" name="BS1" description="Port x set bit y (y=&#xa;              0..15)" />
      <BitField start="0" size="1" name="BS0" description="Port x set bit y (y=&#xa;              0..15)" />
    </Register>
    <Register start="+0x1C" size="0" name="LCKR" access="Read/Write" description="GPIO port configuration lock&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="16" size="1" name="LCKK" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="15" size="1" name="LCK15" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="14" size="1" name="LCK14" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="13" size="1" name="LCK13" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="12" size="1" name="LCK12" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="11" size="1" name="LCK11" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="10" size="1" name="LCK10" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="9" size="1" name="LCK9" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="8" size="1" name="LCK8" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="7" size="1" name="LCK7" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="6" size="1" name="LCK6" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="5" size="1" name="LCK5" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="4" size="1" name="LCK4" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="3" size="1" name="LCK3" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="2" size="1" name="LCK2" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="1" size="1" name="LCK1" description="Port x lock bit y (y=&#xa;              0..15)" />
      <BitField start="0" size="1" name="LCK0" description="Port x lock bit y (y=&#xa;              0..15)" />
    </Register>
    <Register start="+0x20" size="0" name="AFRL" access="Read/Write" description="GPIO alternate function low&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="28" size="4" name="AFSEL7" description="Alternate function selection for port x&#xa;              bit y (y = 0..7)" />
      <BitField start="24" size="4" name="AFSEL6" description="Alternate function selection for port x&#xa;              bit y (y = 0..7)" />
      <BitField start="20" size="4" name="AFSEL5" description="Alternate function selection for port x&#xa;              bit y (y = 0..7)" />
      <BitField start="16" size="4" name="AFSEL4" description="Alternate function selection for port x&#xa;              bit y (y = 0..7)" />
      <BitField start="12" size="4" name="AFSEL3" description="Alternate function selection for port x&#xa;              bit y (y = 0..7)" />
      <BitField start="8" size="4" name="AFSEL2" description="Alternate function selection for port x&#xa;              bit y (y = 0..7)" />
      <BitField start="4" size="4" name="AFSEL1" description="Alternate function selection for port x&#xa;              bit y (y = 0..7)" />
      <BitField start="0" size="4" name="AFSEL0" description="Alternate function selection for port x&#xa;              bit y (y = 0..7)" />
    </Register>
    <Register start="+0x24" size="0" name="AFRH" access="Read/Write" description="GPIO alternate function high&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="28" size="4" name="AFSEL15" description="Alternate function selection for port x&#xa;              bit y (y = 8..15)" />
      <BitField start="24" size="4" name="AFSEL14" description="Alternate function selection for port x&#xa;              bit y (y = 8..15)" />
      <BitField start="20" size="4" name="AFSEL13" description="Alternate function selection for port x&#xa;              bit y (y = 8..15)" />
      <BitField start="16" size="4" name="AFSEL12" description="Alternate function selection for port x&#xa;              bit y (y = 8..15)" />
      <BitField start="12" size="4" name="AFSEL11" description="Alternate function selection for port x&#xa;              bit y (y = 8..15)" />
      <BitField start="8" size="4" name="AFSEL10" description="Alternate function selection for port x&#xa;              bit y (y = 8..15)" />
      <BitField start="4" size="4" name="AFSEL9" description="Alternate function selection for port x&#xa;              bit y (y = 8..15)" />
      <BitField start="0" size="4" name="AFSEL8" description="Alternate function selection for port x&#xa;              bit y (y = 8..15)" />
    </Register>
    <Register start="+0x28" size="0" name="BRR" access="WriteOnly" description="port bit reset register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="BR0" description="Port Reset bit" />
      <BitField start="1" size="1" name="BR1" description="Port Reset bit" />
      <BitField start="2" size="1" name="BR2" description="Port Reset bit" />
      <BitField start="3" size="1" name="BR3" description="Port Reset bit" />
      <BitField start="4" size="1" name="BR4" description="Port Reset bit" />
      <BitField start="5" size="1" name="BR5" description="Port Reset bit" />
      <BitField start="6" size="1" name="BR6" description="Port Reset bit" />
      <BitField start="7" size="1" name="BR7" description="Port Reset bit" />
      <BitField start="8" size="1" name="BR8" description="Port Reset bit" />
      <BitField start="9" size="1" name="BR9" description="Port Reset bit" />
      <BitField start="10" size="1" name="BR10" description="Port Reset bit" />
      <BitField start="11" size="1" name="BR11" description="Port Reset bit" />
      <BitField start="12" size="1" name="BR12" description="Port Reset bit" />
      <BitField start="13" size="1" name="BR13" description="Port Reset bit" />
      <BitField start="14" size="1" name="BR14" description="Port Reset bit" />
      <BitField start="15" size="1" name="BR15" description="Port Reset bit" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="AES" start="0x40026000" description="Advanced encryption standard hardware&#xa;      accelerator 1">
    <Register start="+0x0" size="0" name="CR" access="Read/Write" description="control register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="20" size="4" name="NPBLB" description="Number of padding bytes in last block of&#xa;              payload" />
      <BitField start="18" size="1" name="KEYSIZE" description="Key size selection" />
      <BitField start="16" size="1" name="CHMOD2" description="AES chaining mode Bit2" />
      <BitField start="13" size="2" name="GCMPH" description="Used only for GCM, CCM and GMAC&#xa;              algorithms and has no effect when other algorithms&#xa;              are selected" />
      <BitField start="12" size="1" name="DMAOUTEN" description="Enable DMA management of data output&#xa;              phase" />
      <BitField start="11" size="1" name="DMAINEN" description="Enable DMA management of data input&#xa;              phase" />
      <BitField start="10" size="1" name="ERRIE" description="Error interrupt enable" />
      <BitField start="9" size="1" name="CCFIE" description="CCF flag interrupt enable" />
      <BitField start="8" size="1" name="ERRC" description="Error clear" />
      <BitField start="7" size="1" name="CCFC" description="Computation Complete Flag&#xa;              Clear" />
      <BitField start="5" size="2" name="CHMOD10" description="AES chaining mode Bit1&#xa;              Bit0" />
      <BitField start="3" size="2" name="MODE" description="AES operating mode" />
      <BitField start="1" size="2" name="DATATYPE" description="Data type selection (for data in and&#xa;              data out to/from the cryptographic&#xa;              block)" />
      <BitField start="0" size="1" name="EN" description="AES enable" />
    </Register>
    <Register start="+0x4" size="0" name="SR" access="ReadOnly" description="status register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="3" size="1" name="BUSY" description="Busy flag" />
      <BitField start="2" size="1" name="WRERR" description="Write error flag" />
      <BitField start="1" size="1" name="RDERR" description="Read error flag" />
      <BitField start="0" size="1" name="CCF" description="Computation complete flag" />
    </Register>
    <Register start="+0x8" size="0" name="DINR" access="Read/Write" description="data input register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="AES_DINR" description="Data Input Register" />
    </Register>
    <Register start="+0xC" size="0" name="DOUTR" access="ReadOnly" description="data output register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="AES_DOUTR" description="Data output register" />
    </Register>
    <Register start="+0x10" size="0" name="KEYR0" access="Read/Write" description="key register 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="AES_KEYR0" description="Data Output Register (LSB key&#xa;              [31:0])" />
    </Register>
    <Register start="+0x14" size="0" name="KEYR1" access="Read/Write" description="key register 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="AES_KEYR1" description="AES key register (key&#xa;              [63:32])" />
    </Register>
    <Register start="+0x18" size="0" name="KEYR2" access="Read/Write" description="key register 2" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="AES_KEYR2" description="AES key register (key&#xa;              [95:64])" />
    </Register>
    <Register start="+0x1C" size="0" name="KEYR3" access="Read/Write" description="key register 3" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="AES_KEYR3" description="AES key register (MSB key&#xa;              [127:96])" />
    </Register>
    <Register start="+0x20" size="0" name="IVR0" access="Read/Write" description="initialization vector register&#xa;          0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="AES_IVR0" description="initialization vector register (LSB IVR&#xa;              [31:0])" />
    </Register>
    <Register start="+0x24" size="0" name="IVR1" access="Read/Write" description="initialization vector register&#xa;          1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="AES_IVR1" description="Initialization Vector Register (IVR&#xa;              [63:32])" />
    </Register>
    <Register start="+0x28" size="0" name="IVR2" access="Read/Write" description="initialization vector register&#xa;          2" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="AES_IVR2" description="Initialization Vector Register (IVR&#xa;              [95:64])" />
    </Register>
    <Register start="+0x2C" size="0" name="IVR3" access="Read/Write" description="initialization vector register&#xa;          3" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="AES_IVR3" description="Initialization Vector Register (MSB IVR&#xa;              [127:96])" />
    </Register>
    <Register start="+0x30" size="0" name="KEYR4" access="Read/Write" description="key register 4" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="AES_KEYR4" description="AES key register (MSB key&#xa;              [159:128])" />
    </Register>
    <Register start="+0x34" size="0" name="KEYR5" access="Read/Write" description="key register 5" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="AES_KEYR5" description="AES key register (MSB key&#xa;              [191:160])" />
    </Register>
    <Register start="+0x38" size="0" name="KEYR6" access="Read/Write" description="key register 6" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="AES_KEYR6" description="AES key register (MSB key&#xa;              [223:192])" />
    </Register>
    <Register start="+0x3C" size="0" name="KEYR7" access="Read/Write" description="key register 7" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="AES_KEYR7" description="AES key register (MSB key&#xa;              [255:224])" />
    </Register>
    <Register start="+0x40" size="0" name="SUSP0R" access="Read/Write" description="AES suspend register 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="AES_SUSP0R" description="AES suspend register 0" />
    </Register>
    <Register start="+0x44" size="0" name="SUSP1R" access="Read/Write" description="AES suspend register 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="AES_SUSP1R" description="AES suspend register 1" />
    </Register>
    <Register start="+0x48" size="0" name="SUSP2R" access="Read/Write" description="AES suspend register 2" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="AES_SUSP2R" description="AES suspend register 2" />
    </Register>
    <Register start="+0x4C" size="0" name="SUSP3R" access="Read/Write" description="AES suspend register 3" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="AES_SUSP3R" description="AES suspend register 3" />
    </Register>
    <Register start="+0x50" size="0" name="SUSP4R" access="Read/Write" description="AES suspend register 4" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="AES_SUSP4R" description="AES suspend register 4" />
    </Register>
    <Register start="+0x54" size="0" name="SUSP5R" access="Read/Write" description="AES suspend register 5" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="AES_SUSP5R" description="AES suspend register 5" />
    </Register>
    <Register start="+0x58" size="0" name="SUSP6R" access="Read/Write" description="AES suspend register 6" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="AES_SUSP6R" description="AES suspend register 6" />
    </Register>
    <Register start="+0x5C" size="0" name="SUSP7R" access="Read/Write" description="AES suspend register 7" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="AES_SUSP7R" description="AES suspend register 7" />
    </Register>
    <Register start="+0x3F0" size="0" name="HWCFR" access="ReadOnly" description="AES hardware configuration&#xa;          register" reset_value="0x00000002" reset_mask="0xFFFFFFFF">
      <BitField start="12" size="4" name="CFG4" description="HW Generic 4" />
      <BitField start="8" size="4" name="CFG3" description="HW Generic 3" />
      <BitField start="4" size="4" name="CFG2" description="HW Generic 2" />
      <BitField start="0" size="4" name="CFG1" description="HW Generic 1" />
    </Register>
    <Register start="+0x3F4" size="0" name="VERR" access="ReadOnly" description="AES version register" reset_value="0x00000010" reset_mask="0xFFFFFFFF">
      <BitField start="4" size="4" name="MAJREV" description="Major revision" />
      <BitField start="0" size="4" name="MINREV" description="Minor revision" />
    </Register>
    <Register start="+0x3F8" size="0" name="IPIDR" access="ReadOnly" description="AES identification register" reset_value="0x00170023" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="ID" description="Identification code" />
    </Register>
    <Register start="+0x3FC" size="0" name="SIDR" access="ReadOnly" description="AES size ID register" reset_value="0x00170023" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="ID" description="Size Identification code" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="RNG" start="0x40025000" description="Random number generator">
    <Register start="+0x0" size="0" name="CR" access="Read/Write" description="control register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="2" size="1" name="RNGEN" description="Random number generator&#xa;              enable" />
      <BitField start="3" size="1" name="IE" description="Interrupt enable" />
      <BitField start="5" size="1" name="CED" description="Clock error detection" />
      <BitField start="6" size="1" name="BYP" description="Bypass mode enable" />
    </Register>
    <Register start="+0x4" size="0" name="SR" access="Read/Write" description="status register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="6" size="1" name="SEIS" description="Seed error interrupt&#xa;              status" />
      <BitField start="5" size="1" name="CEIS" description="Clock error interrupt&#xa;              status" />
      <BitField start="2" size="1" name="SECS" description="Seed error current status" />
      <BitField start="1" size="1" name="CECS" description="Clock error current status" />
      <BitField start="0" size="1" name="DRDY" description="Data ready" />
    </Register>
    <Register start="+0x8" size="0" name="DR" access="ReadOnly" description="data register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="RNDATA" description="Random data" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="CRC" start="0x40023000" description="Cyclic redundancy check calculation&#xa;      unit">
    <Register start="+0x0" size="0" name="DR" access="Read/Write" description="Data register" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="DR" description="Data register bits" />
    </Register>
    <Register start="+0x4" size="0" name="IDR" access="Read/Write" description="Independent data register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="IDR" description="General-purpose 32-bit data register&#xa;              bits" />
    </Register>
    <Register start="+0x8" size="0" name="CR" access="Read/Write" description="Control register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="7" size="1" name="REV_OUT" description="Reverse output data" />
      <BitField start="5" size="2" name="REV_IN" description="Reverse input data" />
      <BitField start="3" size="2" name="POLYSIZE" description="Polynomial size" />
      <BitField start="0" size="1" name="RESET" description="RESET bit" />
    </Register>
    <Register start="+0x10" size="0" name="INIT" access="Read/Write" description="Initial CRC value" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="CRC_INIT" description="Programmable initial CRC&#xa;              value" />
    </Register>
    <Register start="+0x14" size="0" name="POL" access="Read/Write" description="polynomial" reset_value="0x04C11DB7" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="POL" description="Programmable polynomial" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="EXTI" start="0x40021800" description="External interrupt/event&#xa;      controller">
    <Register start="+0x0" size="0" name="RTSR1" access="Read/Write" description="EXTI rising trigger selection&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="TR0" description="Rising trigger event configuration bit&#xa;              of Configurable Event input" />
      <BitField start="1" size="1" name="TR1" description="Rising trigger event configuration bit&#xa;              of Configurable Event input" />
      <BitField start="2" size="1" name="TR2" description="Rising trigger event configuration bit&#xa;              of Configurable Event input" />
      <BitField start="3" size="1" name="TR3" description="Rising trigger event configuration bit&#xa;              of Configurable Event input" />
      <BitField start="4" size="1" name="TR4" description="Rising trigger event configuration bit&#xa;              of Configurable Event input" />
      <BitField start="5" size="1" name="TR5" description="Rising trigger event configuration bit&#xa;              of Configurable Event input" />
      <BitField start="6" size="1" name="TR6" description="Rising trigger event configuration bit&#xa;              of Configurable Event input" />
      <BitField start="7" size="1" name="TR7" description="Rising trigger event configuration bit&#xa;              of Configurable Event input" />
      <BitField start="8" size="1" name="TR8" description="Rising trigger event configuration bit&#xa;              of Configurable Event input" />
      <BitField start="9" size="1" name="TR9" description="Rising trigger event configuration bit&#xa;              of Configurable Event input" />
      <BitField start="10" size="1" name="TR10" description="Rising trigger event configuration bit&#xa;              of Configurable Event input" />
      <BitField start="11" size="1" name="TR11" description="Rising trigger event configuration bit&#xa;              of Configurable Event input" />
      <BitField start="12" size="1" name="TR12" description="Rising trigger event configuration bit&#xa;              of Configurable Event input" />
      <BitField start="13" size="1" name="TR13" description="Rising trigger event configuration bit&#xa;              of Configurable Event input" />
      <BitField start="14" size="1" name="TR14" description="Rising trigger event configuration bit&#xa;              of Configurable Event input" />
      <BitField start="15" size="1" name="TR15" description="Rising trigger event configuration bit&#xa;              of Configurable Event input" />
      <BitField start="16" size="1" name="TR16" description="Rising trigger event configuration bit&#xa;              of Configurable Event input" />
      <BitField start="17" size="1" name="TR17" description="Rising trigger event configuration bit&#xa;              of Configurable Event input" />
      <BitField start="18" size="1" name="TR18" description="Rising trigger event configuration bit&#xa;              of Configurable Event input" />
    </Register>
    <Register start="+0x4" size="0" name="FTSR1" access="Read/Write" description="EXTI falling trigger selection&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="TR0" description="Rising trigger event configuration bit&#xa;              of Configurable Event input" />
      <BitField start="1" size="1" name="TR1" description="Rising trigger event configuration bit&#xa;              of Configurable Event input" />
      <BitField start="2" size="1" name="TR2" description="Rising trigger event configuration bit&#xa;              of Configurable Event input" />
      <BitField start="3" size="1" name="TR3" description="Rising trigger event configuration bit&#xa;              of Configurable Event input" />
      <BitField start="4" size="1" name="TR4" description="Rising trigger event configuration bit&#xa;              of Configurable Event input" />
      <BitField start="5" size="1" name="TR5" description="Rising trigger event configuration bit&#xa;              of Configurable Event input" />
      <BitField start="6" size="1" name="TR6" description="Rising trigger event configuration bit&#xa;              of Configurable Event input" />
      <BitField start="7" size="1" name="TR7" description="Rising trigger event configuration bit&#xa;              of Configurable Event input" />
      <BitField start="8" size="1" name="TR8" description="Rising trigger event configuration bit&#xa;              of Configurable Event input" />
      <BitField start="9" size="1" name="TR9" description="Rising trigger event configuration bit&#xa;              of Configurable Event input" />
      <BitField start="10" size="1" name="TR10" description="Rising trigger event configuration bit&#xa;              of Configurable Event input" />
      <BitField start="11" size="1" name="TR11" description="Rising trigger event configuration bit&#xa;              of Configurable Event input" />
      <BitField start="12" size="1" name="TR12" description="Rising trigger event configuration bit&#xa;              of Configurable Event input" />
      <BitField start="13" size="1" name="TR13" description="Rising trigger event configuration bit&#xa;              of Configurable Event input" />
      <BitField start="14" size="1" name="TR14" description="Rising trigger event configuration bit&#xa;              of Configurable Event input" />
      <BitField start="15" size="1" name="TR15" description="Rising trigger event configuration bit&#xa;              of Configurable Event input" />
      <BitField start="16" size="1" name="TR16" description="Rising trigger event configuration bit&#xa;              of Configurable Event input" />
      <BitField start="17" size="1" name="TR17" description="Rising trigger event configuration bit&#xa;              of Configurable Event input" />
      <BitField start="18" size="1" name="TR18" description="Rising trigger event configuration bit&#xa;              of Configurable Event input" />
    </Register>
    <Register start="+0x8" size="0" name="SWIER1" access="Read/Write" description="EXTI software interrupt event&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="SWIER0" description="Rising trigger event configuration bit&#xa;              of Configurable Event input" />
      <BitField start="1" size="1" name="SWIER1" description="Rising trigger event configuration bit&#xa;              of Configurable Event input" />
      <BitField start="2" size="1" name="SWIER2" description="Rising trigger event configuration bit&#xa;              of Configurable Event input" />
      <BitField start="3" size="1" name="SWIER3" description="Rising trigger event configuration bit&#xa;              of Configurable Event input" />
      <BitField start="4" size="1" name="SWIER4" description="Rising trigger event configuration bit&#xa;              of Configurable Event input" />
      <BitField start="5" size="1" name="SWIER5" description="Rising trigger event configuration bit&#xa;              of Configurable Event input" />
      <BitField start="6" size="1" name="SWIER6" description="Rising trigger event configuration bit&#xa;              of Configurable Event input" />
      <BitField start="7" size="1" name="SWIER7" description="Rising trigger event configuration bit&#xa;              of Configurable Event input" />
      <BitField start="8" size="1" name="SWIER8" description="Rising trigger event configuration bit&#xa;              of Configurable Event input" />
      <BitField start="9" size="1" name="SWIER9" description="Rising trigger event configuration bit&#xa;              of Configurable Event input" />
      <BitField start="10" size="1" name="SWIER10" description="Rising trigger event configuration bit&#xa;              of Configurable Event input" />
      <BitField start="11" size="1" name="SWIER11" description="Rising trigger event configuration bit&#xa;              of Configurable Event input" />
      <BitField start="12" size="1" name="SWIER12" description="Rising trigger event configuration bit&#xa;              of Configurable Event input" />
      <BitField start="13" size="1" name="SWIER13" description="Rising trigger event configuration bit&#xa;              of Configurable Event input" />
      <BitField start="14" size="1" name="SWIER14" description="Rising trigger event configuration bit&#xa;              of Configurable Event input" />
      <BitField start="15" size="1" name="SWIER15" description="Rising trigger event configuration bit&#xa;              of Configurable Event input" />
      <BitField start="16" size="1" name="SWIER16" description="Rising trigger event configuration bit&#xa;              of Configurable Event input" />
      <BitField start="17" size="1" name="SWIER17" description="Rising trigger event configuration bit&#xa;              of Configurable Event input" />
      <BitField start="18" size="1" name="SWIER18" description="Rising trigger event configuration bit&#xa;              of Configurable Event input" />
    </Register>
    <Register start="+0xC" size="0" name="RPR1" access="Read/Write" description="EXTI rising edge pending&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="RPIF0" description="configurable event inputs x rising edge&#xa;              Pending bit." />
      <BitField start="1" size="1" name="RPIF1" description="configurable event inputs x rising edge&#xa;              Pending bit." />
      <BitField start="2" size="1" name="RPIF2" description="configurable event inputs x rising edge&#xa;              Pending bit." />
      <BitField start="3" size="1" name="RPIF3" description="configurable event inputs x rising edge&#xa;              Pending bit." />
      <BitField start="4" size="1" name="RPIF4" description="configurable event inputs x rising edge&#xa;              Pending bit." />
      <BitField start="5" size="1" name="RPIF5" description="configurable event inputs x rising edge&#xa;              Pending bit" />
      <BitField start="6" size="1" name="RPIF6" description="configurable event inputs x rising edge&#xa;              Pending bit." />
      <BitField start="7" size="1" name="RPIF7" description="configurable event inputs x rising edge&#xa;              Pending bit." />
      <BitField start="8" size="1" name="RPIF8" description="configurable event inputs x rising edge&#xa;              Pending bit." />
      <BitField start="9" size="1" name="RPIF9" description="configurable event inputs x rising edge&#xa;              Pending bit." />
      <BitField start="10" size="1" name="RPIF10" description="configurable event inputs x rising edge&#xa;              Pending bit." />
      <BitField start="11" size="1" name="RPIF11" description="configurable event inputs x rising edge&#xa;              Pending bit." />
      <BitField start="12" size="1" name="RPIF12" description="configurable event inputs x rising edge&#xa;              Pending bit." />
      <BitField start="13" size="1" name="RPIF13" description="configurable event inputs x rising edge&#xa;              Pending bit." />
      <BitField start="14" size="1" name="RPIF14" description="configurable event inputs x rising edge&#xa;              Pending bit." />
      <BitField start="15" size="1" name="RPIF15" description="configurable event inputs x rising edge&#xa;              Pending bit." />
      <BitField start="16" size="1" name="RPIF16" description="configurable event inputs x rising edge&#xa;              Pending bit." />
      <BitField start="17" size="1" name="RPIF17" description="configurable event inputs x rising edge&#xa;              Pending bit." />
      <BitField start="18" size="1" name="RPIF18" description="configurable event inputs x rising edge&#xa;              Pending bit." />
    </Register>
    <Register start="+0x10" size="0" name="FPR1" access="Read/Write" description="EXTI falling edge pending&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="FPIF0" description="configurable event inputs x falling edge&#xa;              pending bit." />
      <BitField start="1" size="1" name="FPIF1" description="configurable event inputs x falling edge&#xa;              pending bit." />
      <BitField start="2" size="1" name="FPIF2" description="configurable event inputs x falling edge&#xa;              pending bit." />
      <BitField start="3" size="1" name="FPIF3" description="configurable event inputs x falling edge&#xa;              pending bit." />
      <BitField start="4" size="1" name="FPIF4" description="configurable event inputs x falling edge&#xa;              pending bit." />
      <BitField start="5" size="1" name="FPIF5" description="configurable event inputs x falling edge&#xa;              pending bit." />
      <BitField start="6" size="1" name="FPIF6" description="configurable event inputs x falling edge&#xa;              pending bit." />
      <BitField start="7" size="1" name="FPIF7" description="configurable event inputs x falling edge&#xa;              pending bit." />
      <BitField start="8" size="1" name="FPIF8" description="configurable event inputs x falling edge&#xa;              pending bit." />
      <BitField start="9" size="1" name="FPIF9" description="configurable event inputs x falling edge&#xa;              pending bit." />
      <BitField start="10" size="1" name="FPIF10" description="configurable event inputs x falling edge&#xa;              pending bit." />
      <BitField start="11" size="1" name="FPIF11" description="configurable event inputs x falling edge&#xa;              pending bit." />
      <BitField start="12" size="1" name="FPIF12" description="configurable event inputs x falling edge&#xa;              pending bit." />
      <BitField start="13" size="1" name="FPIF13" description="configurable event inputs x falling edge&#xa;              pending bit." />
      <BitField start="14" size="1" name="FPIF14" description="configurable event inputs x falling edge&#xa;              pending bit." />
      <BitField start="15" size="1" name="FPIF15" description="configurable event inputs x falling edge&#xa;              pending bit." />
      <BitField start="16" size="1" name="FPIF16" description="configurable event inputs x falling edge&#xa;              pending bit." />
      <BitField start="17" size="1" name="FPIF17" description="configurable event inputs x falling edge&#xa;              pending bit." />
      <BitField start="18" size="1" name="FPIF18" description="configurable event inputs x falling edge&#xa;              pending bit." />
    </Register>
    <Register start="+0x60" size="0" name="EXTICR1" access="Read/Write" description="EXTI external interrupt selection&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="8" name="EXTI0_7" description="GPIO port selection" />
      <BitField start="8" size="8" name="EXTI8_15" description="GPIO port selection" />
      <BitField start="16" size="8" name="EXTI16_23" description="GPIO port selection" />
      <BitField start="24" size="8" name="EXTI24_31" description="GPIO port selection" />
    </Register>
    <Register start="+0x64" size="0" name="EXTICR2" access="Read/Write" description="EXTI external interrupt selection&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="8" name="EXTI0_7" description="GPIO port selection" />
      <BitField start="8" size="8" name="EXTI8_15" description="GPIO port selection" />
      <BitField start="16" size="8" name="EXTI16_23" description="GPIO port selection" />
      <BitField start="24" size="8" name="EXTI24_31" description="GPIO port selection" />
    </Register>
    <Register start="+0x68" size="0" name="EXTICR3" access="Read/Write" description="EXTI external interrupt selection&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="8" name="EXTI0_7" description="GPIO port selection" />
      <BitField start="8" size="8" name="EXTI8_15" description="GPIO port selection" />
      <BitField start="16" size="8" name="EXTI16_23" description="GPIO port selection" />
      <BitField start="24" size="8" name="EXTI24_31" description="GPIO port selection" />
    </Register>
    <Register start="+0x6C" size="0" name="EXTICR4" access="Read/Write" description="EXTI external interrupt selection&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="8" name="EXTI0_7" description="GPIO port selection" />
      <BitField start="8" size="8" name="EXTI8_15" description="GPIO port selection" />
      <BitField start="16" size="8" name="EXTI16_23" description="GPIO port selection" />
      <BitField start="24" size="8" name="EXTI24_31" description="GPIO port selection" />
    </Register>
    <Register start="+0x80" size="0" name="IMR1" access="Read/Write" description="EXTI CPU wakeup with interrupt mask&#xa;          register" reset_value="0xFFF80000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="IM0" description="CPU wakeup with interrupt mask on event&#xa;              input" />
      <BitField start="1" size="1" name="IM1" description="CPU wakeup with interrupt mask on event&#xa;              input" />
      <BitField start="2" size="1" name="IM2" description="CPU wakeup with interrupt mask on event&#xa;              input" />
      <BitField start="3" size="1" name="IM3" description="CPU wakeup with interrupt mask on event&#xa;              input" />
      <BitField start="4" size="1" name="IM4" description="CPU wakeup with interrupt mask on event&#xa;              input" />
      <BitField start="5" size="1" name="IM5" description="CPU wakeup with interrupt mask on event&#xa;              input" />
      <BitField start="6" size="1" name="IM6" description="CPU wakeup with interrupt mask on event&#xa;              input" />
      <BitField start="7" size="1" name="IM7" description="CPU wakeup with interrupt mask on event&#xa;              input" />
      <BitField start="8" size="1" name="IM8" description="CPU wakeup with interrupt mask on event&#xa;              input" />
      <BitField start="9" size="1" name="IM9" description="CPU wakeup with interrupt mask on event&#xa;              input" />
      <BitField start="10" size="1" name="IM10" description="CPU wakeup with interrupt mask on event&#xa;              input" />
      <BitField start="11" size="1" name="IM11" description="CPU wakeup with interrupt mask on event&#xa;              input" />
      <BitField start="12" size="1" name="IM12" description="CPU wakeup with interrupt mask on event&#xa;              input" />
      <BitField start="13" size="1" name="IM13" description="CPU wakeup with interrupt mask on event&#xa;              input" />
      <BitField start="14" size="1" name="IM14" description="CPU wakeup with interrupt mask on event&#xa;              input" />
      <BitField start="15" size="1" name="IM15" description="CPU wakeup with interrupt mask on event&#xa;              input" />
      <BitField start="16" size="1" name="IM16" description="CPU wakeup with interrupt mask on event&#xa;              input" />
      <BitField start="17" size="1" name="IM17" description="CPU wakeup with interrupt mask on event&#xa;              input" />
      <BitField start="18" size="1" name="IM18" description="CPU wakeup with interrupt mask on event&#xa;              input" />
      <BitField start="19" size="1" name="IM19" description="CPU wakeup with interrupt mask on event&#xa;              input" />
      <BitField start="20" size="1" name="IM20" description="CPU wakeup with interrupt mask on event&#xa;              input" />
      <BitField start="21" size="1" name="IM21" description="CPU wakeup with interrupt mask on event&#xa;              input" />
      <BitField start="22" size="1" name="IM22" description="CPU wakeup with interrupt mask on event&#xa;              input" />
      <BitField start="23" size="1" name="IM23" description="CPU wakeup with interrupt mask on event&#xa;              input" />
      <BitField start="24" size="1" name="IM24" description="CPU wakeup with interrupt mask on event&#xa;              input" />
      <BitField start="25" size="1" name="IM25" description="CPU wakeup with interrupt mask on event&#xa;              input" />
      <BitField start="26" size="1" name="IM26" description="CPU wakeup with interrupt mask on event&#xa;              input" />
      <BitField start="27" size="1" name="IM27" description="CPU wakeup with interrupt mask on event&#xa;              input" />
      <BitField start="28" size="1" name="IM28" description="CPU wakeup with interrupt mask on event&#xa;              input" />
      <BitField start="29" size="1" name="IM29" description="CPU wakeup with interrupt mask on event&#xa;              input" />
      <BitField start="30" size="1" name="IM30" description="CPU wakeup with interrupt mask on event&#xa;              input" />
      <BitField start="31" size="1" name="IM31" description="CPU wakeup with interrupt mask on event&#xa;              input" />
    </Register>
    <Register start="+0x80" size="0" name="EMR1" access="Read/Write" description="EXTI CPU wakeup with event mask&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="EM0" description="CPU wakeup with event mask on event&#xa;              input" />
      <BitField start="1" size="1" name="EM1" description="CPU wakeup with event mask on event&#xa;              input" />
      <BitField start="2" size="1" name="EM2" description="CPU wakeup with event mask on event&#xa;              input" />
      <BitField start="3" size="1" name="EM3" description="CPU wakeup with event mask on event&#xa;              input" />
      <BitField start="4" size="1" name="EM4" description="CPU wakeup with event mask on event&#xa;              input" />
      <BitField start="5" size="1" name="EM5" description="CPU wakeup with event mask on event&#xa;              input" />
      <BitField start="6" size="1" name="EM6" description="CPU wakeup with event mask on event&#xa;              input" />
      <BitField start="7" size="1" name="EM7" description="CPU wakeup with event mask on event&#xa;              input" />
      <BitField start="8" size="1" name="EM8" description="CPU wakeup with event mask on event&#xa;              input" />
      <BitField start="9" size="1" name="EM9" description="CPU wakeup with event mask on event&#xa;              input" />
      <BitField start="10" size="1" name="EM10" description="CPU wakeup with event mask on event&#xa;              input" />
      <BitField start="11" size="1" name="EM11" description="CPU wakeup with event mask on event&#xa;              input" />
      <BitField start="12" size="1" name="EM12" description="CPU wakeup with event mask on event&#xa;              input" />
      <BitField start="13" size="1" name="EM13" description="CPU wakeup with event mask on event&#xa;              input" />
      <BitField start="14" size="1" name="EM14" description="CPU wakeup with event mask on event&#xa;              input" />
      <BitField start="15" size="1" name="EM15" description="CPU wakeup with event mask on event&#xa;              input" />
      <BitField start="16" size="1" name="EM16" description="CPU wakeup with event mask on event&#xa;              input" />
      <BitField start="17" size="1" name="EM17" description="CPU wakeup with event mask on event&#xa;              input" />
      <BitField start="18" size="1" name="EM18" description="CPU wakeup with event mask on event&#xa;              input" />
      <BitField start="19" size="1" name="EM19" description="CPU wakeup with event mask on event&#xa;              input" />
      <BitField start="21" size="1" name="EM21" description="CPU wakeup with event mask on event&#xa;              input" />
      <BitField start="23" size="1" name="EM23" description="CPU wakeup with event mask on event&#xa;              input" />
      <BitField start="25" size="1" name="EM25" description="CPU wakeup with event mask on event&#xa;              input" />
      <BitField start="26" size="1" name="EM26" description="CPU wakeup with event mask on event&#xa;              input" />
      <BitField start="27" size="1" name="EM27" description="CPU wakeup with event mask on event&#xa;              input" />
      <BitField start="28" size="1" name="EM28" description="CPU wakeup with event mask on event&#xa;              input" />
      <BitField start="29" size="1" name="EM29" description="CPU wakeup with event mask on event&#xa;              input" />
      <BitField start="30" size="1" name="EM30" description="CPU wakeup with event mask on event&#xa;              input" />
      <BitField start="31" size="1" name="EM31" description="CPU wakeup with event mask on event&#xa;              input" />
    </Register>
    <Register start="+0x90" size="0" name="IMR2" access="Read/Write" description="EXTI CPU wakeup with interrupt mask&#xa;          register" reset_value="0xFFFFFFFF" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="IM32" description="CPU wakeup with interrupt mask on event&#xa;              input" />
      <BitField start="1" size="1" name="IM33" description="CPU wakeup with interrupt mask on event&#xa;              input" />
    </Register>
    <Register start="+0x94" size="0" name="EMR2" access="Read/Write" description="EXTI CPU wakeup with event mask&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="EM32" description="CPU wakeup with event mask on event&#xa;              input" />
      <BitField start="1" size="1" name="EM33" description="CPU wakeup with event mask on event&#xa;              input" />
    </Register>
    <Register start="+0x3D8" size="0" name="HWCFGR7" access="Read/Write" description="Hardware configuration&#xa;          registers" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="CPUEVENT" description="HW configuration CPU event&#xa;              generation" />
    </Register>
    <Register start="+0x3DC" size="0" name="HWCFGR6" access="Read/Write" description="Hardware configuration&#xa;          registers" reset_value="0x00000003" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="CPUEVENT" description="HW configuration CPU event&#xa;              generation" />
    </Register>
    <Register start="+0x3E0" size="0" name="HWCFGR5" access="Read/Write" description="Hardware configuration&#xa;          registers" reset_value="0xFEAFFFFF" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="CPUEVENT" description="HW configuration CPU event&#xa;              generation" />
    </Register>
    <Register start="+0x3E4" size="0" name="HWCFGR4" access="Read/Write" description="Hardware configuration&#xa;          registers" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="EVENT_TRG" description="HW configuration event trigger&#xa;              type" />
    </Register>
    <Register start="+0x3E8" size="0" name="HWCFGR3" access="Read/Write" description="Hardware configuration&#xa;          registers" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="EVENT_TRG" description="HW configuration event trigger&#xa;              type" />
    </Register>
    <Register start="+0x3EC" size="0" name="HWCFGR2" access="Read/Write" description="Hardware configuration&#xa;          registers" reset_value="0x0007FFFF" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="EVENT_TRG" description="HW configuration event trigger&#xa;              type" />
    </Register>
    <Register start="+0x3F0" size="0" name="HWCFGR1" access="ReadOnly" description="Hardware configuration&#xa;          registers" reset_value="0x00051021" reset_mask="0xFFFFFFFF">
      <BitField start="16" size="8" name="NBIOPORT" description="HW configuration of number of IO&#xa;              ports" />
      <BitField start="12" size="4" name="CPUEVTEN" description="HW configuration of CPU event output&#xa;              enable" />
      <BitField start="8" size="4" name="NBCPUS" description="configuration number of&#xa;              CPUs" />
      <BitField start="0" size="8" name="NBEVENTS" description="configuration number of&#xa;              event" />
    </Register>
    <Register start="+0x3F4" size="0" name="VERR" access="ReadOnly" description="AES version register" reset_value="0x00000030" reset_mask="0xFFFFFFFF">
      <BitField start="4" size="4" name="MAJREV" description="Major revision" />
      <BitField start="0" size="4" name="MINREV" description="Minor revision" />
    </Register>
    <Register start="+0x3F8" size="0" name="IPIDR" access="ReadOnly" description="AES identification register" reset_value="0x000E0001" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="ID" description="Identification code" />
    </Register>
    <Register start="+0x3FC" size="0" name="SIDR" access="ReadOnly" description="AES size ID register" reset_value="0xA3C5DD01" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="ID" description="Size Identification code" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="TIM16" start="0x40014400" description="General purpose timers">
    <Register start="+0x0" size="0" name="CR1" access="Read/Write" description="control register 1" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="CEN" description="Counter enable" />
      <BitField start="1" size="1" name="UDIS" description="Update disable" />
      <BitField start="2" size="1" name="URS" description="Update request source" />
      <BitField start="3" size="1" name="OPM" description="One-pulse mode" />
      <BitField start="7" size="1" name="ARPE" description="Auto-reload preload enable" />
      <BitField start="8" size="2" name="CKD" description="Clock division" />
      <BitField start="11" size="1" name="UIFREMAP" description="UIF status bit remapping" />
    </Register>
    <Register start="+0x4" size="0" name="CR2" access="Read/Write" description="control register 2" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="9" size="1" name="OIS1N" description="Output Idle state 1" />
      <BitField start="8" size="1" name="OIS1" description="Output Idle state 1" />
      <BitField start="3" size="1" name="CCDS" description="Capture/compare DMA&#xa;              selection" />
      <BitField start="2" size="1" name="CCUS" description="Capture/compare control update&#xa;              selection" />
      <BitField start="0" size="1" name="CCPC" description="Capture/compare preloaded&#xa;              control" />
    </Register>
    <Register start="+0xC" size="0" name="DIER" access="Read/Write" description="DMA/Interrupt enable register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="13" size="1" name="COMDE" description="COM DMA request enable" />
      <BitField start="9" size="1" name="CC1DE" description="Capture/Compare 1 DMA request&#xa;              enable" />
      <BitField start="8" size="1" name="UDE" description="Update DMA request enable" />
      <BitField start="7" size="1" name="BIE" description="Break interrupt enable" />
      <BitField start="5" size="1" name="COMIE" description="COM interrupt enable" />
      <BitField start="1" size="1" name="CC1IE" description="Capture/Compare 1 interrupt&#xa;              enable" />
      <BitField start="0" size="1" name="UIE" description="Update interrupt enable" />
    </Register>
    <Register start="+0x10" size="0" name="SR" access="Read/Write" description="status register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="9" size="1" name="CC1OF" description="Capture/Compare 1 overcapture&#xa;              flag" />
      <BitField start="7" size="1" name="BIF" description="Break interrupt flag" />
      <BitField start="5" size="1" name="COMIF" description="COM interrupt flag" />
      <BitField start="1" size="1" name="CC1IF" description="Capture/compare 1 interrupt&#xa;              flag" />
      <BitField start="0" size="1" name="UIF" description="Update interrupt flag" />
    </Register>
    <Register start="+0x14" size="0" name="EGR" access="WriteOnly" description="event generation register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="7" size="1" name="BG" description="Break generation" />
      <BitField start="5" size="1" name="COMG" description="Capture/Compare control update&#xa;              generation" />
      <BitField start="1" size="1" name="CC1G" description="Capture/compare 1&#xa;              generation" />
      <BitField start="0" size="1" name="UG" description="Update generation" />
    </Register>
    <Register start="+0x18" size="0" name="CCMR1_Output" access="Read/Write" description="capture/compare mode register (output&#xa;          mode)" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="16" size="1" name="OC1M_2" description="Output Compare 1 mode" />
      <BitField start="4" size="3" name="OC1M" description="Output Compare 1 mode" />
      <BitField start="3" size="1" name="OC1PE" description="Output Compare 1 preload&#xa;              enable" />
      <BitField start="2" size="1" name="OC1FE" description="Output Compare 1 fast&#xa;              enable" />
      <BitField start="0" size="2" name="CC1S" description="Capture/Compare 1&#xa;              selection" />
    </Register>
    <Register start="+0x18" size="0" name="CCMR1_Input" access="Read/Write" description="capture/compare mode register 1 (input&#xa;          mode)" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="4" size="4" name="IC1F" description="Input capture 1 filter" />
      <BitField start="2" size="2" name="IC1PSC" description="Input capture 1 prescaler" />
      <BitField start="0" size="2" name="CC1S" description="Capture/Compare 1&#xa;              selection" />
    </Register>
    <Register start="+0x20" size="0" name="CCER" access="Read/Write" description="capture/compare enable&#xa;          register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="3" size="1" name="CC1NP" description="Capture/Compare 1 output&#xa;              Polarity" />
      <BitField start="2" size="1" name="CC1NE" description="Capture/Compare 1 complementary output&#xa;              enable" />
      <BitField start="1" size="1" name="CC1P" description="Capture/Compare 1 output&#xa;              Polarity" />
      <BitField start="0" size="1" name="CC1E" description="Capture/Compare 1 output&#xa;              enable" />
    </Register>
    <Register start="+0x24" size="0" name="CNT" access="Read/Write" description="counter" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="16" name="CNT" description="counter value" />
      <BitField start="31" size="1" name="UIFCPY" description="UIF Copy" />
    </Register>
    <Register start="+0x28" size="0" name="PSC" access="Read/Write" description="prescaler" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="16" name="PSC" description="Prescaler value" />
    </Register>
    <Register start="+0x2C" size="0" name="ARR" access="Read/Write" description="auto-reload register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="16" name="ARR" description="Auto-reload value" />
    </Register>
    <Register start="+0x30" size="0" name="RCR" access="Read/Write" description="repetition counter register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="8" name="REP" description="Repetition counter value" />
    </Register>
    <Register start="+0x34" size="0" name="CCR1" access="Read/Write" description="capture/compare register 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="16" name="CCR1" description="Capture/Compare 1 value" />
    </Register>
    <Register start="+0x44" size="0" name="BDTR" access="Read/Write" description="break and dead-time register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="8" name="DTG" description="Dead-time generator setup" />
      <BitField start="8" size="2" name="LOCK" description="Lock configuration" />
      <BitField start="10" size="1" name="OSSI" description="Off-state selection for Idle&#xa;              mode" />
      <BitField start="11" size="1" name="OSSR" description="Off-state selection for Run&#xa;              mode" />
      <BitField start="12" size="1" name="BKE" description="Break enable" />
      <BitField start="13" size="1" name="BKP" description="Break polarity" />
      <BitField start="14" size="1" name="AOE" description="Automatic output enable" />
      <BitField start="15" size="1" name="MOE" description="Main output enable" />
      <BitField start="16" size="4" name="BKF" description="Break filter" />
      <BitField start="26" size="1" name="BKDSRM" description="Break Disarm" />
      <BitField start="28" size="1" name="BKBID" description="Break Bidirectional" />
    </Register>
    <Register start="+0x48" size="0" name="DCR" access="Read/Write" description="DMA control register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="8" size="5" name="DBL" description="DMA burst length" />
      <BitField start="0" size="5" name="DBA" description="DMA base address" />
    </Register>
    <Register start="+0x4C" size="0" name="DMAR" access="Read/Write" description="DMA address for full transfer" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="16" name="DMAB" description="DMA register for burst&#xa;              accesses" />
    </Register>
    <Register start="+0x60" size="0" name="AF1" access="Read/Write" description="TIM17 option register 1" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="BKINE" description="BRK BKIN input enable" />
      <BitField start="1" size="1" name="BKCMP1E" description="BRK COMP1 enable" />
      <BitField start="2" size="1" name="BKCMP2E" description="BRK COMP2 enable" />
      <BitField start="8" size="1" name="BKDFBK1E" description="BRK DFSDM_BREAK1 enable" />
      <BitField start="9" size="1" name="BKINP" description="BRK BKIN input polarity" />
      <BitField start="10" size="1" name="BKCMP1P" description="BRK COMP1 input polarity" />
      <BitField start="11" size="1" name="BKCMP2P" description="BRK COMP2 input polarit" />
    </Register>
    <Register start="+0x68" size="0" name="TISEL" access="Read/Write" description="input selection register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="4" name="TI1SEL" description="selects input" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="TIM17" start="0x40014800" description="General purpose timers">
    <Register start="+0x0" size="0" name="CR1" access="Read/Write" description="control register 1" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="CEN" description="Counter enable" />
      <BitField start="1" size="1" name="UDIS" description="Update disable" />
      <BitField start="2" size="1" name="URS" description="Update request source" />
      <BitField start="3" size="1" name="OPM" description="One-pulse mode" />
      <BitField start="7" size="1" name="ARPE" description="Auto-reload preload enable" />
      <BitField start="8" size="2" name="CKD" description="Clock division" />
      <BitField start="11" size="1" name="UIFREMAP" description="UIF status bit remapping" />
    </Register>
    <Register start="+0x4" size="0" name="CR2" access="Read/Write" description="control register 2" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="9" size="1" name="OIS1N" description="Output Idle state 1" />
      <BitField start="8" size="1" name="OIS1" description="Output Idle state 1" />
      <BitField start="3" size="1" name="CCDS" description="Capture/compare DMA&#xa;              selection" />
      <BitField start="2" size="1" name="CCUS" description="Capture/compare control update&#xa;              selection" />
      <BitField start="0" size="1" name="CCPC" description="Capture/compare preloaded&#xa;              control" />
    </Register>
    <Register start="+0xC" size="0" name="DIER" access="Read/Write" description="DMA/Interrupt enable register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="13" size="1" name="COMDE" description="COM DMA request enable" />
      <BitField start="9" size="1" name="CC1DE" description="Capture/Compare 1 DMA request&#xa;              enable" />
      <BitField start="8" size="1" name="UDE" description="Update DMA request enable" />
      <BitField start="7" size="1" name="BIE" description="Break interrupt enable" />
      <BitField start="5" size="1" name="COMIE" description="COM interrupt enable" />
      <BitField start="1" size="1" name="CC1IE" description="Capture/Compare 1 interrupt&#xa;              enable" />
      <BitField start="0" size="1" name="UIE" description="Update interrupt enable" />
    </Register>
    <Register start="+0x10" size="0" name="SR" access="Read/Write" description="status register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="9" size="1" name="CC1OF" description="Capture/Compare 1 overcapture&#xa;              flag" />
      <BitField start="7" size="1" name="BIF" description="Break interrupt flag" />
      <BitField start="5" size="1" name="COMIF" description="COM interrupt flag" />
      <BitField start="1" size="1" name="CC1IF" description="Capture/compare 1 interrupt&#xa;              flag" />
      <BitField start="0" size="1" name="UIF" description="Update interrupt flag" />
    </Register>
    <Register start="+0x14" size="0" name="EGR" access="WriteOnly" description="event generation register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="7" size="1" name="BG" description="Break generation" />
      <BitField start="5" size="1" name="COMG" description="Capture/Compare control update&#xa;              generation" />
      <BitField start="1" size="1" name="CC1G" description="Capture/compare 1&#xa;              generation" />
      <BitField start="0" size="1" name="UG" description="Update generation" />
    </Register>
    <Register start="+0x18" size="0" name="CCMR1_Output" access="Read/Write" description="capture/compare mode register (output&#xa;          mode)" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="16" size="1" name="OC1M_2" description="Output Compare 1 mode" />
      <BitField start="4" size="3" name="OC1M" description="Output Compare 1 mode" />
      <BitField start="3" size="1" name="OC1PE" description="Output Compare 1 preload&#xa;              enable" />
      <BitField start="2" size="1" name="OC1FE" description="Output Compare 1 fast&#xa;              enable" />
      <BitField start="0" size="2" name="CC1S" description="Capture/Compare 1&#xa;              selection" />
    </Register>
    <Register start="+0x18" size="0" name="CCMR1_Input" access="Read/Write" description="capture/compare mode register 1 (input&#xa;          mode)" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="4" size="4" name="IC1F" description="Input capture 1 filter" />
      <BitField start="2" size="2" name="IC1PSC" description="Input capture 1 prescaler" />
      <BitField start="0" size="2" name="CC1S" description="Capture/Compare 1&#xa;              selection" />
    </Register>
    <Register start="+0x20" size="0" name="CCER" access="Read/Write" description="capture/compare enable&#xa;          register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="3" size="1" name="CC1NP" description="Capture/Compare 1 output&#xa;              Polarity" />
      <BitField start="2" size="1" name="CC1NE" description="Capture/Compare 1 complementary output&#xa;              enable" />
      <BitField start="1" size="1" name="CC1P" description="Capture/Compare 1 output&#xa;              Polarity" />
      <BitField start="0" size="1" name="CC1E" description="Capture/Compare 1 output&#xa;              enable" />
    </Register>
    <Register start="+0x24" size="0" name="CNT" access="Read/Write" description="counter" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="16" name="CNT" description="counter value" />
      <BitField start="31" size="1" name="UIFCPY" description="UIF Copy" />
    </Register>
    <Register start="+0x28" size="0" name="PSC" access="Read/Write" description="prescaler" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="16" name="PSC" description="Prescaler value" />
    </Register>
    <Register start="+0x2C" size="0" name="ARR" access="Read/Write" description="auto-reload register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="16" name="ARR" description="Auto-reload value" />
    </Register>
    <Register start="+0x30" size="0" name="RCR" access="Read/Write" description="repetition counter register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="8" name="REP" description="Repetition counter value" />
    </Register>
    <Register start="+0x34" size="0" name="CCR1" access="Read/Write" description="capture/compare register 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="16" name="CCR1" description="Capture/Compare 1 value" />
    </Register>
    <Register start="+0x44" size="0" name="BDTR" access="Read/Write" description="break and dead-time register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="8" name="DTG" description="Dead-time generator setup" />
      <BitField start="8" size="2" name="LOCK" description="Lock configuration" />
      <BitField start="10" size="1" name="OSSI" description="Off-state selection for Idle&#xa;              mode" />
      <BitField start="11" size="1" name="OSSR" description="Off-state selection for Run&#xa;              mode" />
      <BitField start="12" size="1" name="BKE" description="Break enable" />
      <BitField start="13" size="1" name="BKP" description="Break polarity" />
      <BitField start="14" size="1" name="AOE" description="Automatic output enable" />
      <BitField start="15" size="1" name="MOE" description="Main output enable" />
      <BitField start="16" size="4" name="BKF" description="Break filter" />
      <BitField start="26" size="1" name="BKDSRM" description="Break Disarm" />
      <BitField start="28" size="1" name="BKBID" description="Break Bidirectional" />
    </Register>
    <Register start="+0x48" size="0" name="DCR" access="Read/Write" description="DMA control register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="8" size="5" name="DBL" description="DMA burst length" />
      <BitField start="0" size="5" name="DBA" description="DMA base address" />
    </Register>
    <Register start="+0x4C" size="0" name="DMAR" access="Read/Write" description="DMA address for full transfer" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="16" name="DMAB" description="DMA register for burst&#xa;              accesses" />
    </Register>
    <Register start="+0x60" size="0" name="AF1" access="Read/Write" description="TIM17 option register 1" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="BKINE" description="BRK BKIN input enable" />
      <BitField start="1" size="1" name="BKCMP1E" description="BRK COMP1 enable" />
      <BitField start="2" size="1" name="BKCMP2E" description="BRK COMP2 enable" />
      <BitField start="8" size="1" name="BKDFBK1E" description="BRK DFSDM_BREAK1 enable" />
      <BitField start="9" size="1" name="BKINP" description="BRK BKIN input polarity" />
      <BitField start="10" size="1" name="BKCMP1P" description="BRK COMP1 input polarity" />
      <BitField start="11" size="1" name="BKCMP2P" description="BRK COMP2 input polarit" />
    </Register>
    <Register start="+0x68" size="0" name="TISEL" access="Read/Write" description="input selection register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="4" name="TI1SEL" description="selects input" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="TIM15" start="0x40014000" description="General purpose timers">
    <Register start="+0x0" size="0" name="CR1" access="Read/Write" description="control register 1" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="CEN" description="Counter enable" />
      <BitField start="1" size="1" name="UDIS" description="Update disable" />
      <BitField start="2" size="1" name="URS" description="Update request source" />
      <BitField start="3" size="1" name="OPM" description="One-pulse mode" />
      <BitField start="7" size="1" name="ARPE" description="Auto-reload preload enable" />
      <BitField start="8" size="2" name="CKD" description="Clock division" />
      <BitField start="11" size="1" name="UIFREMAP" description="UIF status bit remapping" />
    </Register>
    <Register start="+0x4" size="0" name="CR2" access="Read/Write" description="control register 2" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="9" size="1" name="OIS1N" description="Output Idle state 1" />
      <BitField start="8" size="1" name="OIS1" description="Output Idle state 1" />
      <BitField start="3" size="1" name="CCDS" description="Capture/compare DMA&#xa;              selection" />
      <BitField start="2" size="1" name="CCUS" description="Capture/compare control update&#xa;              selection" />
      <BitField start="0" size="1" name="CCPC" description="Capture/compare preloaded&#xa;              control" />
    </Register>
    <Register start="+0xC" size="0" name="DIER" access="Read/Write" description="DMA/Interrupt enable register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="13" size="1" name="COMDE" description="COM DMA request enable" />
      <BitField start="9" size="1" name="CC1DE" description="Capture/Compare 1 DMA request&#xa;              enable" />
      <BitField start="8" size="1" name="UDE" description="Update DMA request enable" />
      <BitField start="7" size="1" name="BIE" description="Break interrupt enable" />
      <BitField start="5" size="1" name="COMIE" description="COM interrupt enable" />
      <BitField start="1" size="1" name="CC1IE" description="Capture/Compare 1 interrupt&#xa;              enable" />
      <BitField start="0" size="1" name="UIE" description="Update interrupt enable" />
    </Register>
    <Register start="+0x10" size="0" name="SR" access="Read/Write" description="status register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="9" size="1" name="CC1OF" description="Capture/Compare 1 overcapture&#xa;              flag" />
      <BitField start="7" size="1" name="BIF" description="Break interrupt flag" />
      <BitField start="5" size="1" name="COMIF" description="COM interrupt flag" />
      <BitField start="1" size="1" name="CC1IF" description="Capture/compare 1 interrupt&#xa;              flag" />
      <BitField start="0" size="1" name="UIF" description="Update interrupt flag" />
    </Register>
    <Register start="+0x14" size="0" name="EGR" access="WriteOnly" description="event generation register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="7" size="1" name="BG" description="Break generation" />
      <BitField start="5" size="1" name="COMG" description="Capture/Compare control update&#xa;              generation" />
      <BitField start="1" size="1" name="CC1G" description="Capture/compare 1&#xa;              generation" />
      <BitField start="0" size="1" name="UG" description="Update generation" />
    </Register>
    <Register start="+0x18" size="0" name="CCMR1_Output" access="Read/Write" description="capture/compare mode register (output&#xa;          mode)" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="16" size="1" name="OC1M_2" description="Output Compare 1 mode" />
      <BitField start="4" size="3" name="OC1M" description="Output Compare 1 mode" />
      <BitField start="3" size="1" name="OC1PE" description="Output Compare 1 preload&#xa;              enable" />
      <BitField start="2" size="1" name="OC1FE" description="Output Compare 1 fast&#xa;              enable" />
      <BitField start="0" size="2" name="CC1S" description="Capture/Compare 1&#xa;              selection" />
    </Register>
    <Register start="+0x18" size="0" name="CCMR1_Input" access="Read/Write" description="capture/compare mode register 1 (input&#xa;          mode)" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="4" size="4" name="IC1F" description="Input capture 1 filter" />
      <BitField start="2" size="2" name="IC1PSC" description="Input capture 1 prescaler" />
      <BitField start="0" size="2" name="CC1S" description="Capture/Compare 1&#xa;              selection" />
    </Register>
    <Register start="+0x20" size="0" name="CCER" access="Read/Write" description="capture/compare enable&#xa;          register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="3" size="1" name="CC1NP" description="Capture/Compare 1 output&#xa;              Polarity" />
      <BitField start="2" size="1" name="CC1NE" description="Capture/Compare 1 complementary output&#xa;              enable" />
      <BitField start="1" size="1" name="CC1P" description="Capture/Compare 1 output&#xa;              Polarity" />
      <BitField start="0" size="1" name="CC1E" description="Capture/Compare 1 output&#xa;              enable" />
    </Register>
    <Register start="+0x24" size="0" name="CNT" access="Read/Write" description="counter" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="16" name="CNT" description="counter value" />
      <BitField start="31" size="1" name="UIFCPY" description="UIF Copy" />
    </Register>
    <Register start="+0x28" size="0" name="PSC" access="Read/Write" description="prescaler" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="16" name="PSC" description="Prescaler value" />
    </Register>
    <Register start="+0x2C" size="0" name="ARR" access="Read/Write" description="auto-reload register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="16" name="ARR" description="Auto-reload value" />
    </Register>
    <Register start="+0x30" size="0" name="RCR" access="Read/Write" description="repetition counter register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="8" name="REP" description="Repetition counter value" />
    </Register>
    <Register start="+0x34" size="0" name="CCR1" access="Read/Write" description="capture/compare register 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="16" name="CCR1" description="Capture/Compare 1 value" />
    </Register>
    <Register start="+0x44" size="0" name="BDTR" access="Read/Write" description="break and dead-time register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="8" name="DTG" description="Dead-time generator setup" />
      <BitField start="8" size="2" name="LOCK" description="Lock configuration" />
      <BitField start="10" size="1" name="OSSI" description="Off-state selection for Idle&#xa;              mode" />
      <BitField start="11" size="1" name="OSSR" description="Off-state selection for Run&#xa;              mode" />
      <BitField start="12" size="1" name="BKE" description="Break enable" />
      <BitField start="13" size="1" name="BKP" description="Break polarity" />
      <BitField start="14" size="1" name="AOE" description="Automatic output enable" />
      <BitField start="15" size="1" name="MOE" description="Main output enable" />
      <BitField start="16" size="4" name="BKF" description="Break filter" />
      <BitField start="26" size="1" name="BKDSRM" description="Break Disarm" />
      <BitField start="28" size="1" name="BKBID" description="Break Bidirectional" />
    </Register>
    <Register start="+0x48" size="0" name="DCR" access="Read/Write" description="DMA control register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="8" size="5" name="DBL" description="DMA burst length" />
      <BitField start="0" size="5" name="DBA" description="DMA base address" />
    </Register>
    <Register start="+0x4C" size="0" name="DMAR" access="Read/Write" description="DMA address for full transfer" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="16" name="DMAB" description="DMA register for burst&#xa;              accesses" />
    </Register>
    <Register start="+0x60" size="0" name="AF1" access="Read/Write" description="TIM17 option register 1" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="BKINE" description="BRK BKIN input enable" />
      <BitField start="1" size="1" name="BKCMP1E" description="BRK COMP1 enable" />
      <BitField start="2" size="1" name="BKCMP2E" description="BRK COMP2 enable" />
      <BitField start="8" size="1" name="BKDFBK1E" description="BRK DFSDM_BREAK1 enable" />
      <BitField start="9" size="1" name="BKINP" description="BRK BKIN input polarity" />
      <BitField start="10" size="1" name="BKCMP1P" description="BRK COMP1 input polarity" />
      <BitField start="11" size="1" name="BKCMP2P" description="BRK COMP2 input polarit" />
    </Register>
    <Register start="+0x68" size="0" name="TISEL" access="Read/Write" description="input selection register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="4" name="TI1SEL" description="selects input" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="USART1" start="0x40013800" description="Universal synchronous asynchronous receiver&#xa;      transmitter">
    <Register start="+0x0" size="0" name="CR1" access="Read/Write" description="Control register 1" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="31" size="1" name="RXFFIE" description="RXFIFO Full interrupt&#xa;              enable" />
      <BitField start="30" size="1" name="TXFEIE" description="TXFIFO empty interrupt&#xa;              enable" />
      <BitField start="29" size="1" name="FIFOEN" description="FIFO mode enable" />
      <BitField start="28" size="1" name="M1" description="Word length" />
      <BitField start="27" size="1" name="EOBIE" description="End of Block interrupt&#xa;              enable" />
      <BitField start="26" size="1" name="RTOIE" description="Receiver timeout interrupt&#xa;              enable" />
      <BitField start="21" size="5" name="DEAT" description="DEAT" />
      <BitField start="16" size="5" name="DEDT" description="DEDT" />
      <BitField start="15" size="1" name="OVER8" description="Oversampling mode" />
      <BitField start="14" size="1" name="CMIE" description="Character match interrupt&#xa;              enable" />
      <BitField start="13" size="1" name="MME" description="Mute mode enable" />
      <BitField start="12" size="1" name="M0" description="Word length" />
      <BitField start="11" size="1" name="WAKE" description="Receiver wakeup method" />
      <BitField start="10" size="1" name="PCE" description="Parity control enable" />
      <BitField start="9" size="1" name="PS" description="Parity selection" />
      <BitField start="8" size="1" name="PEIE" description="PE interrupt enable" />
      <BitField start="7" size="1" name="TXEIE" description="interrupt enable" />
      <BitField start="6" size="1" name="TCIE" description="Transmission complete interrupt&#xa;              enable" />
      <BitField start="5" size="1" name="RXNEIE" description="RXNE interrupt enable" />
      <BitField start="4" size="1" name="IDLEIE" description="IDLE interrupt enable" />
      <BitField start="3" size="1" name="TE" description="Transmitter enable" />
      <BitField start="2" size="1" name="RE" description="Receiver enable" />
      <BitField start="1" size="1" name="UESM" description="USART enable in Stop mode" />
      <BitField start="0" size="1" name="UE" description="USART enable" />
    </Register>
    <Register start="+0x4" size="0" name="CR2" access="Read/Write" description="Control register 2" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="28" size="4" name="ADD4_7" description="Address of the USART node" />
      <BitField start="24" size="4" name="ADD0_3" description="Address of the USART node" />
      <BitField start="23" size="1" name="RTOEN" description="Receiver timeout enable" />
      <BitField start="21" size="2" name="ABRMOD" description="Auto baud rate mode" />
      <BitField start="20" size="1" name="ABREN" description="Auto baud rate enable" />
      <BitField start="19" size="1" name="MSBFIRST" description="Most significant bit first" />
      <BitField start="18" size="1" name="TAINV" description="Binary data inversion" />
      <BitField start="17" size="1" name="TXINV" description="TX pin active level&#xa;              inversion" />
      <BitField start="16" size="1" name="RXINV" description="RX pin active level&#xa;              inversion" />
      <BitField start="15" size="1" name="SWAP" description="Swap TX/RX pins" />
      <BitField start="14" size="1" name="LINEN" description="LIN mode enable" />
      <BitField start="12" size="2" name="STOP" description="STOP bits" />
      <BitField start="11" size="1" name="CLKEN" description="Clock enable" />
      <BitField start="10" size="1" name="CPOL" description="Clock polarity" />
      <BitField start="9" size="1" name="CPHA" description="Clock phase" />
      <BitField start="8" size="1" name="LBCL" description="Last bit clock pulse" />
      <BitField start="6" size="1" name="LBDIE" description="LIN break detection interrupt&#xa;              enable" />
      <BitField start="5" size="1" name="LBDL" description="LIN break detection length" />
      <BitField start="4" size="1" name="ADDM7" description="7-bit Address Detection/4-bit Address&#xa;              Detection" />
      <BitField start="3" size="1" name="DIS_NSS" description="When the DSI_NSS bit is set, the NSS pin&#xa;              input will be ignored" />
      <BitField start="0" size="1" name="SLVEN" description="Synchronous Slave mode&#xa;              enable" />
    </Register>
    <Register start="+0x8" size="0" name="CR3" access="Read/Write" description="Control register 3" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="29" size="3" name="TXFTCFG" description="TXFIFO threshold&#xa;              configuration" />
      <BitField start="28" size="1" name="RXFTIE" description="RXFIFO threshold interrupt&#xa;              enable" />
      <BitField start="25" size="3" name="RXFTCFG" description="Receive FIFO threshold&#xa;              configuration" />
      <BitField start="24" size="1" name="TCBGTIE" description="Tr Complete before guard time, interrupt&#xa;              enable" />
      <BitField start="23" size="1" name="TXFTIE" description="threshold interrupt enable" />
      <BitField start="22" size="1" name="WUFIE" description="Wakeup from Stop mode interrupt&#xa;              enable" />
      <BitField start="20" size="2" name="WUS" description="Wakeup from Stop mode interrupt flag&#xa;              selection" />
      <BitField start="17" size="3" name="SCARCNT" description="Smartcard auto-retry count" />
      <BitField start="15" size="1" name="DEP" description="Driver enable polarity&#xa;              selection" />
      <BitField start="14" size="1" name="DEM" description="Driver enable mode" />
      <BitField start="13" size="1" name="DDRE" description="DMA Disable on Reception&#xa;              Error" />
      <BitField start="12" size="1" name="OVRDIS" description="Overrun Disable" />
      <BitField start="11" size="1" name="ONEBIT" description="One sample bit method&#xa;              enable" />
      <BitField start="10" size="1" name="CTSIE" description="CTS interrupt enable" />
      <BitField start="9" size="1" name="CTSE" description="CTS enable" />
      <BitField start="8" size="1" name="RTSE" description="RTS enable" />
      <BitField start="7" size="1" name="DMAT" description="DMA enable transmitter" />
      <BitField start="6" size="1" name="DMAR" description="DMA enable receiver" />
      <BitField start="5" size="1" name="SCEN" description="Smartcard mode enable" />
      <BitField start="4" size="1" name="NACK" description="Smartcard NACK enable" />
      <BitField start="3" size="1" name="HDSEL" description="Half-duplex selection" />
      <BitField start="2" size="1" name="IRLP" description="Ir low-power" />
      <BitField start="1" size="1" name="IREN" description="Ir mode enable" />
      <BitField start="0" size="1" name="EIE" description="Error interrupt enable" />
    </Register>
    <Register start="+0xC" size="0" name="BRR" access="Read/Write" description="Baud rate register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="4" size="12" name="BRR_4_15" description="BRR_4_15" />
      <BitField start="0" size="4" name="BRR_0_3" description="BRR_0_3" />
    </Register>
    <Register start="+0x10" size="0" name="GTPR" access="Read/Write" description="Guard time and prescaler&#xa;          register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="8" size="8" name="GT" description="Guard time value" />
      <BitField start="0" size="8" name="PSC" description="Prescaler value" />
    </Register>
    <Register start="+0x14" size="0" name="RTOR" access="Read/Write" description="Receiver timeout register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="24" size="8" name="BLEN" description="Block Length" />
      <BitField start="0" size="24" name="RTO" description="Receiver timeout value" />
    </Register>
    <Register start="+0x18" size="0" name="RQR" access="WriteOnly" description="Request register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="4" size="1" name="TXFRQ" description="Transmit data flush&#xa;              request" />
      <BitField start="3" size="1" name="RXFRQ" description="Receive data flush request" />
      <BitField start="2" size="1" name="MMRQ" description="Mute mode request" />
      <BitField start="1" size="1" name="SBKRQ" description="Send break request" />
      <BitField start="0" size="1" name="ABRRQ" description="Auto baud rate request" />
    </Register>
    <Register start="+0x1C" size="0" name="ISR" access="ReadOnly" description="Interrupt &amp; status&#xa;          register" reset_value="0x00C0" reset_mask="0xFFFFFFFF">
      <BitField start="27" size="1" name="TXFT" description="TXFIFO threshold flag" />
      <BitField start="26" size="1" name="RXFT" description="RXFIFO threshold flag" />
      <BitField start="25" size="1" name="TCBGT" description="Transmission complete before guard time&#xa;              flag" />
      <BitField start="24" size="1" name="RXFF" description="RXFIFO Full" />
      <BitField start="23" size="1" name="TXFE" description="TXFIFO Empty" />
      <BitField start="22" size="1" name="REACK" description="REACK" />
      <BitField start="21" size="1" name="TEACK" description="TEACK" />
      <BitField start="20" size="1" name="WUF" description="WUF" />
      <BitField start="19" size="1" name="RWU" description="RWU" />
      <BitField start="18" size="1" name="SBKF" description="SBKF" />
      <BitField start="17" size="1" name="CMF" description="CMF" />
      <BitField start="16" size="1" name="BUSY" description="BUSY" />
      <BitField start="15" size="1" name="ABRF" description="ABRF" />
      <BitField start="14" size="1" name="ABRE" description="ABRE" />
      <BitField start="13" size="1" name="UDR" description="SPI slave underrun error&#xa;              flag" />
      <BitField start="12" size="1" name="EOBF" description="EOBF" />
      <BitField start="11" size="1" name="RTOF" description="RTOF" />
      <BitField start="10" size="1" name="CTS" description="CTS" />
      <BitField start="9" size="1" name="CTSIF" description="CTSIF" />
      <BitField start="8" size="1" name="LBDF" description="LBDF" />
      <BitField start="7" size="1" name="TXE" description="TXE" />
      <BitField start="6" size="1" name="TC" description="TC" />
      <BitField start="5" size="1" name="RXNE" description="RXNE" />
      <BitField start="4" size="1" name="IDLE" description="IDLE" />
      <BitField start="3" size="1" name="ORE" description="ORE" />
      <BitField start="2" size="1" name="NF" description="NF" />
      <BitField start="1" size="1" name="FE" description="FE" />
      <BitField start="0" size="1" name="PE" description="PE" />
    </Register>
    <Register start="+0x20" size="0" name="ICR" access="WriteOnly" description="Interrupt flag clear register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="20" size="1" name="WUCF" description="Wakeup from Stop mode clear&#xa;              flag" />
      <BitField start="17" size="1" name="CMCF" description="Character match clear flag" />
      <BitField start="13" size="1" name="UDRCF" description="SPI slave underrun clear&#xa;              flag" />
      <BitField start="12" size="1" name="EOBCF" description="End of block clear flag" />
      <BitField start="11" size="1" name="RTOCF" description="Receiver timeout clear&#xa;              flag" />
      <BitField start="9" size="1" name="CTSCF" description="CTS clear flag" />
      <BitField start="8" size="1" name="LBDCF" description="LIN break detection clear&#xa;              flag" />
      <BitField start="7" size="1" name="TCBGTCF" description="Transmission complete before Guard time&#xa;              clear flag" />
      <BitField start="6" size="1" name="TCCF" description="Transmission complete clear&#xa;              flag" />
      <BitField start="5" size="1" name="TXFECF" description="TXFIFO empty clear flag" />
      <BitField start="4" size="1" name="IDLECF" description="Idle line detected clear&#xa;              flag" />
      <BitField start="3" size="1" name="ORECF" description="Overrun error clear flag" />
      <BitField start="2" size="1" name="NCF" description="Noise detected clear flag" />
      <BitField start="1" size="1" name="FECF" description="Framing error clear flag" />
      <BitField start="0" size="1" name="PECF" description="Parity error clear flag" />
    </Register>
    <Register start="+0x24" size="0" name="RDR" access="ReadOnly" description="Receive data register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="9" name="RDR" description="Receive data value" />
    </Register>
    <Register start="+0x28" size="0" name="TDR" access="Read/Write" description="Transmit data register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="9" name="TDR" description="Transmit data value" />
    </Register>
    <Register start="+0x2C" size="0" name="PRESC" access="Read/Write" description="Prescaler register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="4" name="PRESCALER" description="Clock prescaler" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="USART2" start="0x40004400" description="Universal synchronous asynchronous receiver&#xa;      transmitter">
    <Register start="+0x0" size="0" name="CR1" access="Read/Write" description="Control register 1" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="31" size="1" name="RXFFIE" description="RXFIFO Full interrupt&#xa;              enable" />
      <BitField start="30" size="1" name="TXFEIE" description="TXFIFO empty interrupt&#xa;              enable" />
      <BitField start="29" size="1" name="FIFOEN" description="FIFO mode enable" />
      <BitField start="28" size="1" name="M1" description="Word length" />
      <BitField start="27" size="1" name="EOBIE" description="End of Block interrupt&#xa;              enable" />
      <BitField start="26" size="1" name="RTOIE" description="Receiver timeout interrupt&#xa;              enable" />
      <BitField start="21" size="5" name="DEAT" description="DEAT" />
      <BitField start="16" size="5" name="DEDT" description="DEDT" />
      <BitField start="15" size="1" name="OVER8" description="Oversampling mode" />
      <BitField start="14" size="1" name="CMIE" description="Character match interrupt&#xa;              enable" />
      <BitField start="13" size="1" name="MME" description="Mute mode enable" />
      <BitField start="12" size="1" name="M0" description="Word length" />
      <BitField start="11" size="1" name="WAKE" description="Receiver wakeup method" />
      <BitField start="10" size="1" name="PCE" description="Parity control enable" />
      <BitField start="9" size="1" name="PS" description="Parity selection" />
      <BitField start="8" size="1" name="PEIE" description="PE interrupt enable" />
      <BitField start="7" size="1" name="TXEIE" description="interrupt enable" />
      <BitField start="6" size="1" name="TCIE" description="Transmission complete interrupt&#xa;              enable" />
      <BitField start="5" size="1" name="RXNEIE" description="RXNE interrupt enable" />
      <BitField start="4" size="1" name="IDLEIE" description="IDLE interrupt enable" />
      <BitField start="3" size="1" name="TE" description="Transmitter enable" />
      <BitField start="2" size="1" name="RE" description="Receiver enable" />
      <BitField start="1" size="1" name="UESM" description="USART enable in Stop mode" />
      <BitField start="0" size="1" name="UE" description="USART enable" />
    </Register>
    <Register start="+0x4" size="0" name="CR2" access="Read/Write" description="Control register 2" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="28" size="4" name="ADD4_7" description="Address of the USART node" />
      <BitField start="24" size="4" name="ADD0_3" description="Address of the USART node" />
      <BitField start="23" size="1" name="RTOEN" description="Receiver timeout enable" />
      <BitField start="21" size="2" name="ABRMOD" description="Auto baud rate mode" />
      <BitField start="20" size="1" name="ABREN" description="Auto baud rate enable" />
      <BitField start="19" size="1" name="MSBFIRST" description="Most significant bit first" />
      <BitField start="18" size="1" name="TAINV" description="Binary data inversion" />
      <BitField start="17" size="1" name="TXINV" description="TX pin active level&#xa;              inversion" />
      <BitField start="16" size="1" name="RXINV" description="RX pin active level&#xa;              inversion" />
      <BitField start="15" size="1" name="SWAP" description="Swap TX/RX pins" />
      <BitField start="14" size="1" name="LINEN" description="LIN mode enable" />
      <BitField start="12" size="2" name="STOP" description="STOP bits" />
      <BitField start="11" size="1" name="CLKEN" description="Clock enable" />
      <BitField start="10" size="1" name="CPOL" description="Clock polarity" />
      <BitField start="9" size="1" name="CPHA" description="Clock phase" />
      <BitField start="8" size="1" name="LBCL" description="Last bit clock pulse" />
      <BitField start="6" size="1" name="LBDIE" description="LIN break detection interrupt&#xa;              enable" />
      <BitField start="5" size="1" name="LBDL" description="LIN break detection length" />
      <BitField start="4" size="1" name="ADDM7" description="7-bit Address Detection/4-bit Address&#xa;              Detection" />
      <BitField start="3" size="1" name="DIS_NSS" description="When the DSI_NSS bit is set, the NSS pin&#xa;              input will be ignored" />
      <BitField start="0" size="1" name="SLVEN" description="Synchronous Slave mode&#xa;              enable" />
    </Register>
    <Register start="+0x8" size="0" name="CR3" access="Read/Write" description="Control register 3" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="29" size="3" name="TXFTCFG" description="TXFIFO threshold&#xa;              configuration" />
      <BitField start="28" size="1" name="RXFTIE" description="RXFIFO threshold interrupt&#xa;              enable" />
      <BitField start="25" size="3" name="RXFTCFG" description="Receive FIFO threshold&#xa;              configuration" />
      <BitField start="24" size="1" name="TCBGTIE" description="Tr Complete before guard time, interrupt&#xa;              enable" />
      <BitField start="23" size="1" name="TXFTIE" description="threshold interrupt enable" />
      <BitField start="22" size="1" name="WUFIE" description="Wakeup from Stop mode interrupt&#xa;              enable" />
      <BitField start="20" size="2" name="WUS" description="Wakeup from Stop mode interrupt flag&#xa;              selection" />
      <BitField start="17" size="3" name="SCARCNT" description="Smartcard auto-retry count" />
      <BitField start="15" size="1" name="DEP" description="Driver enable polarity&#xa;              selection" />
      <BitField start="14" size="1" name="DEM" description="Driver enable mode" />
      <BitField start="13" size="1" name="DDRE" description="DMA Disable on Reception&#xa;              Error" />
      <BitField start="12" size="1" name="OVRDIS" description="Overrun Disable" />
      <BitField start="11" size="1" name="ONEBIT" description="One sample bit method&#xa;              enable" />
      <BitField start="10" size="1" name="CTSIE" description="CTS interrupt enable" />
      <BitField start="9" size="1" name="CTSE" description="CTS enable" />
      <BitField start="8" size="1" name="RTSE" description="RTS enable" />
      <BitField start="7" size="1" name="DMAT" description="DMA enable transmitter" />
      <BitField start="6" size="1" name="DMAR" description="DMA enable receiver" />
      <BitField start="5" size="1" name="SCEN" description="Smartcard mode enable" />
      <BitField start="4" size="1" name="NACK" description="Smartcard NACK enable" />
      <BitField start="3" size="1" name="HDSEL" description="Half-duplex selection" />
      <BitField start="2" size="1" name="IRLP" description="Ir low-power" />
      <BitField start="1" size="1" name="IREN" description="Ir mode enable" />
      <BitField start="0" size="1" name="EIE" description="Error interrupt enable" />
    </Register>
    <Register start="+0xC" size="0" name="BRR" access="Read/Write" description="Baud rate register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="4" size="12" name="BRR_4_15" description="BRR_4_15" />
      <BitField start="0" size="4" name="BRR_0_3" description="BRR_0_3" />
    </Register>
    <Register start="+0x10" size="0" name="GTPR" access="Read/Write" description="Guard time and prescaler&#xa;          register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="8" size="8" name="GT" description="Guard time value" />
      <BitField start="0" size="8" name="PSC" description="Prescaler value" />
    </Register>
    <Register start="+0x14" size="0" name="RTOR" access="Read/Write" description="Receiver timeout register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="24" size="8" name="BLEN" description="Block Length" />
      <BitField start="0" size="24" name="RTO" description="Receiver timeout value" />
    </Register>
    <Register start="+0x18" size="0" name="RQR" access="WriteOnly" description="Request register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="4" size="1" name="TXFRQ" description="Transmit data flush&#xa;              request" />
      <BitField start="3" size="1" name="RXFRQ" description="Receive data flush request" />
      <BitField start="2" size="1" name="MMRQ" description="Mute mode request" />
      <BitField start="1" size="1" name="SBKRQ" description="Send break request" />
      <BitField start="0" size="1" name="ABRRQ" description="Auto baud rate request" />
    </Register>
    <Register start="+0x1C" size="0" name="ISR" access="ReadOnly" description="Interrupt &amp; status&#xa;          register" reset_value="0x00C0" reset_mask="0xFFFFFFFF">
      <BitField start="27" size="1" name="TXFT" description="TXFIFO threshold flag" />
      <BitField start="26" size="1" name="RXFT" description="RXFIFO threshold flag" />
      <BitField start="25" size="1" name="TCBGT" description="Transmission complete before guard time&#xa;              flag" />
      <BitField start="24" size="1" name="RXFF" description="RXFIFO Full" />
      <BitField start="23" size="1" name="TXFE" description="TXFIFO Empty" />
      <BitField start="22" size="1" name="REACK" description="REACK" />
      <BitField start="21" size="1" name="TEACK" description="TEACK" />
      <BitField start="20" size="1" name="WUF" description="WUF" />
      <BitField start="19" size="1" name="RWU" description="RWU" />
      <BitField start="18" size="1" name="SBKF" description="SBKF" />
      <BitField start="17" size="1" name="CMF" description="CMF" />
      <BitField start="16" size="1" name="BUSY" description="BUSY" />
      <BitField start="15" size="1" name="ABRF" description="ABRF" />
      <BitField start="14" size="1" name="ABRE" description="ABRE" />
      <BitField start="13" size="1" name="UDR" description="SPI slave underrun error&#xa;              flag" />
      <BitField start="12" size="1" name="EOBF" description="EOBF" />
      <BitField start="11" size="1" name="RTOF" description="RTOF" />
      <BitField start="10" size="1" name="CTS" description="CTS" />
      <BitField start="9" size="1" name="CTSIF" description="CTSIF" />
      <BitField start="8" size="1" name="LBDF" description="LBDF" />
      <BitField start="7" size="1" name="TXE" description="TXE" />
      <BitField start="6" size="1" name="TC" description="TC" />
      <BitField start="5" size="1" name="RXNE" description="RXNE" />
      <BitField start="4" size="1" name="IDLE" description="IDLE" />
      <BitField start="3" size="1" name="ORE" description="ORE" />
      <BitField start="2" size="1" name="NF" description="NF" />
      <BitField start="1" size="1" name="FE" description="FE" />
      <BitField start="0" size="1" name="PE" description="PE" />
    </Register>
    <Register start="+0x20" size="0" name="ICR" access="WriteOnly" description="Interrupt flag clear register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="20" size="1" name="WUCF" description="Wakeup from Stop mode clear&#xa;              flag" />
      <BitField start="17" size="1" name="CMCF" description="Character match clear flag" />
      <BitField start="13" size="1" name="UDRCF" description="SPI slave underrun clear&#xa;              flag" />
      <BitField start="12" size="1" name="EOBCF" description="End of block clear flag" />
      <BitField start="11" size="1" name="RTOCF" description="Receiver timeout clear&#xa;              flag" />
      <BitField start="9" size="1" name="CTSCF" description="CTS clear flag" />
      <BitField start="8" size="1" name="LBDCF" description="LIN break detection clear&#xa;              flag" />
      <BitField start="7" size="1" name="TCBGTCF" description="Transmission complete before Guard time&#xa;              clear flag" />
      <BitField start="6" size="1" name="TCCF" description="Transmission complete clear&#xa;              flag" />
      <BitField start="5" size="1" name="TXFECF" description="TXFIFO empty clear flag" />
      <BitField start="4" size="1" name="IDLECF" description="Idle line detected clear&#xa;              flag" />
      <BitField start="3" size="1" name="ORECF" description="Overrun error clear flag" />
      <BitField start="2" size="1" name="NCF" description="Noise detected clear flag" />
      <BitField start="1" size="1" name="FECF" description="Framing error clear flag" />
      <BitField start="0" size="1" name="PECF" description="Parity error clear flag" />
    </Register>
    <Register start="+0x24" size="0" name="RDR" access="ReadOnly" description="Receive data register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="9" name="RDR" description="Receive data value" />
    </Register>
    <Register start="+0x28" size="0" name="TDR" access="Read/Write" description="Transmit data register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="9" name="TDR" description="Transmit data value" />
    </Register>
    <Register start="+0x2C" size="0" name="PRESC" access="Read/Write" description="Prescaler register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="4" name="PRESCALER" description="Clock prescaler" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="USART3" start="0x40004800" description="Universal synchronous asynchronous receiver&#xa;      transmitter">
    <Register start="+0x0" size="0" name="CR1" access="Read/Write" description="Control register 1" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="31" size="1" name="RXFFIE" description="RXFIFO Full interrupt&#xa;              enable" />
      <BitField start="30" size="1" name="TXFEIE" description="TXFIFO empty interrupt&#xa;              enable" />
      <BitField start="29" size="1" name="FIFOEN" description="FIFO mode enable" />
      <BitField start="28" size="1" name="M1" description="Word length" />
      <BitField start="27" size="1" name="EOBIE" description="End of Block interrupt&#xa;              enable" />
      <BitField start="26" size="1" name="RTOIE" description="Receiver timeout interrupt&#xa;              enable" />
      <BitField start="21" size="5" name="DEAT" description="DEAT" />
      <BitField start="16" size="5" name="DEDT" description="DEDT" />
      <BitField start="15" size="1" name="OVER8" description="Oversampling mode" />
      <BitField start="14" size="1" name="CMIE" description="Character match interrupt&#xa;              enable" />
      <BitField start="13" size="1" name="MME" description="Mute mode enable" />
      <BitField start="12" size="1" name="M0" description="Word length" />
      <BitField start="11" size="1" name="WAKE" description="Receiver wakeup method" />
      <BitField start="10" size="1" name="PCE" description="Parity control enable" />
      <BitField start="9" size="1" name="PS" description="Parity selection" />
      <BitField start="8" size="1" name="PEIE" description="PE interrupt enable" />
      <BitField start="7" size="1" name="TXEIE" description="interrupt enable" />
      <BitField start="6" size="1" name="TCIE" description="Transmission complete interrupt&#xa;              enable" />
      <BitField start="5" size="1" name="RXNEIE" description="RXNE interrupt enable" />
      <BitField start="4" size="1" name="IDLEIE" description="IDLE interrupt enable" />
      <BitField start="3" size="1" name="TE" description="Transmitter enable" />
      <BitField start="2" size="1" name="RE" description="Receiver enable" />
      <BitField start="1" size="1" name="UESM" description="USART enable in Stop mode" />
      <BitField start="0" size="1" name="UE" description="USART enable" />
    </Register>
    <Register start="+0x4" size="0" name="CR2" access="Read/Write" description="Control register 2" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="28" size="4" name="ADD4_7" description="Address of the USART node" />
      <BitField start="24" size="4" name="ADD0_3" description="Address of the USART node" />
      <BitField start="23" size="1" name="RTOEN" description="Receiver timeout enable" />
      <BitField start="21" size="2" name="ABRMOD" description="Auto baud rate mode" />
      <BitField start="20" size="1" name="ABREN" description="Auto baud rate enable" />
      <BitField start="19" size="1" name="MSBFIRST" description="Most significant bit first" />
      <BitField start="18" size="1" name="TAINV" description="Binary data inversion" />
      <BitField start="17" size="1" name="TXINV" description="TX pin active level&#xa;              inversion" />
      <BitField start="16" size="1" name="RXINV" description="RX pin active level&#xa;              inversion" />
      <BitField start="15" size="1" name="SWAP" description="Swap TX/RX pins" />
      <BitField start="14" size="1" name="LINEN" description="LIN mode enable" />
      <BitField start="12" size="2" name="STOP" description="STOP bits" />
      <BitField start="11" size="1" name="CLKEN" description="Clock enable" />
      <BitField start="10" size="1" name="CPOL" description="Clock polarity" />
      <BitField start="9" size="1" name="CPHA" description="Clock phase" />
      <BitField start="8" size="1" name="LBCL" description="Last bit clock pulse" />
      <BitField start="6" size="1" name="LBDIE" description="LIN break detection interrupt&#xa;              enable" />
      <BitField start="5" size="1" name="LBDL" description="LIN break detection length" />
      <BitField start="4" size="1" name="ADDM7" description="7-bit Address Detection/4-bit Address&#xa;              Detection" />
      <BitField start="3" size="1" name="DIS_NSS" description="When the DSI_NSS bit is set, the NSS pin&#xa;              input will be ignored" />
      <BitField start="0" size="1" name="SLVEN" description="Synchronous Slave mode&#xa;              enable" />
    </Register>
    <Register start="+0x8" size="0" name="CR3" access="Read/Write" description="Control register 3" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="29" size="3" name="TXFTCFG" description="TXFIFO threshold&#xa;              configuration" />
      <BitField start="28" size="1" name="RXFTIE" description="RXFIFO threshold interrupt&#xa;              enable" />
      <BitField start="25" size="3" name="RXFTCFG" description="Receive FIFO threshold&#xa;              configuration" />
      <BitField start="24" size="1" name="TCBGTIE" description="Tr Complete before guard time, interrupt&#xa;              enable" />
      <BitField start="23" size="1" name="TXFTIE" description="threshold interrupt enable" />
      <BitField start="22" size="1" name="WUFIE" description="Wakeup from Stop mode interrupt&#xa;              enable" />
      <BitField start="20" size="2" name="WUS" description="Wakeup from Stop mode interrupt flag&#xa;              selection" />
      <BitField start="17" size="3" name="SCARCNT" description="Smartcard auto-retry count" />
      <BitField start="15" size="1" name="DEP" description="Driver enable polarity&#xa;              selection" />
      <BitField start="14" size="1" name="DEM" description="Driver enable mode" />
      <BitField start="13" size="1" name="DDRE" description="DMA Disable on Reception&#xa;              Error" />
      <BitField start="12" size="1" name="OVRDIS" description="Overrun Disable" />
      <BitField start="11" size="1" name="ONEBIT" description="One sample bit method&#xa;              enable" />
      <BitField start="10" size="1" name="CTSIE" description="CTS interrupt enable" />
      <BitField start="9" size="1" name="CTSE" description="CTS enable" />
      <BitField start="8" size="1" name="RTSE" description="RTS enable" />
      <BitField start="7" size="1" name="DMAT" description="DMA enable transmitter" />
      <BitField start="6" size="1" name="DMAR" description="DMA enable receiver" />
      <BitField start="5" size="1" name="SCEN" description="Smartcard mode enable" />
      <BitField start="4" size="1" name="NACK" description="Smartcard NACK enable" />
      <BitField start="3" size="1" name="HDSEL" description="Half-duplex selection" />
      <BitField start="2" size="1" name="IRLP" description="Ir low-power" />
      <BitField start="1" size="1" name="IREN" description="Ir mode enable" />
      <BitField start="0" size="1" name="EIE" description="Error interrupt enable" />
    </Register>
    <Register start="+0xC" size="0" name="BRR" access="Read/Write" description="Baud rate register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="4" size="12" name="BRR_4_15" description="BRR_4_15" />
      <BitField start="0" size="4" name="BRR_0_3" description="BRR_0_3" />
    </Register>
    <Register start="+0x10" size="0" name="GTPR" access="Read/Write" description="Guard time and prescaler&#xa;          register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="8" size="8" name="GT" description="Guard time value" />
      <BitField start="0" size="8" name="PSC" description="Prescaler value" />
    </Register>
    <Register start="+0x14" size="0" name="RTOR" access="Read/Write" description="Receiver timeout register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="24" size="8" name="BLEN" description="Block Length" />
      <BitField start="0" size="24" name="RTO" description="Receiver timeout value" />
    </Register>
    <Register start="+0x18" size="0" name="RQR" access="WriteOnly" description="Request register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="4" size="1" name="TXFRQ" description="Transmit data flush&#xa;              request" />
      <BitField start="3" size="1" name="RXFRQ" description="Receive data flush request" />
      <BitField start="2" size="1" name="MMRQ" description="Mute mode request" />
      <BitField start="1" size="1" name="SBKRQ" description="Send break request" />
      <BitField start="0" size="1" name="ABRRQ" description="Auto baud rate request" />
    </Register>
    <Register start="+0x1C" size="0" name="ISR" access="ReadOnly" description="Interrupt &amp; status&#xa;          register" reset_value="0x00C0" reset_mask="0xFFFFFFFF">
      <BitField start="27" size="1" name="TXFT" description="TXFIFO threshold flag" />
      <BitField start="26" size="1" name="RXFT" description="RXFIFO threshold flag" />
      <BitField start="25" size="1" name="TCBGT" description="Transmission complete before guard time&#xa;              flag" />
      <BitField start="24" size="1" name="RXFF" description="RXFIFO Full" />
      <BitField start="23" size="1" name="TXFE" description="TXFIFO Empty" />
      <BitField start="22" size="1" name="REACK" description="REACK" />
      <BitField start="21" size="1" name="TEACK" description="TEACK" />
      <BitField start="20" size="1" name="WUF" description="WUF" />
      <BitField start="19" size="1" name="RWU" description="RWU" />
      <BitField start="18" size="1" name="SBKF" description="SBKF" />
      <BitField start="17" size="1" name="CMF" description="CMF" />
      <BitField start="16" size="1" name="BUSY" description="BUSY" />
      <BitField start="15" size="1" name="ABRF" description="ABRF" />
      <BitField start="14" size="1" name="ABRE" description="ABRE" />
      <BitField start="13" size="1" name="UDR" description="SPI slave underrun error&#xa;              flag" />
      <BitField start="12" size="1" name="EOBF" description="EOBF" />
      <BitField start="11" size="1" name="RTOF" description="RTOF" />
      <BitField start="10" size="1" name="CTS" description="CTS" />
      <BitField start="9" size="1" name="CTSIF" description="CTSIF" />
      <BitField start="8" size="1" name="LBDF" description="LBDF" />
      <BitField start="7" size="1" name="TXE" description="TXE" />
      <BitField start="6" size="1" name="TC" description="TC" />
      <BitField start="5" size="1" name="RXNE" description="RXNE" />
      <BitField start="4" size="1" name="IDLE" description="IDLE" />
      <BitField start="3" size="1" name="ORE" description="ORE" />
      <BitField start="2" size="1" name="NF" description="NF" />
      <BitField start="1" size="1" name="FE" description="FE" />
      <BitField start="0" size="1" name="PE" description="PE" />
    </Register>
    <Register start="+0x20" size="0" name="ICR" access="WriteOnly" description="Interrupt flag clear register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="20" size="1" name="WUCF" description="Wakeup from Stop mode clear&#xa;              flag" />
      <BitField start="17" size="1" name="CMCF" description="Character match clear flag" />
      <BitField start="13" size="1" name="UDRCF" description="SPI slave underrun clear&#xa;              flag" />
      <BitField start="12" size="1" name="EOBCF" description="End of block clear flag" />
      <BitField start="11" size="1" name="RTOCF" description="Receiver timeout clear&#xa;              flag" />
      <BitField start="9" size="1" name="CTSCF" description="CTS clear flag" />
      <BitField start="8" size="1" name="LBDCF" description="LIN break detection clear&#xa;              flag" />
      <BitField start="7" size="1" name="TCBGTCF" description="Transmission complete before Guard time&#xa;              clear flag" />
      <BitField start="6" size="1" name="TCCF" description="Transmission complete clear&#xa;              flag" />
      <BitField start="5" size="1" name="TXFECF" description="TXFIFO empty clear flag" />
      <BitField start="4" size="1" name="IDLECF" description="Idle line detected clear&#xa;              flag" />
      <BitField start="3" size="1" name="ORECF" description="Overrun error clear flag" />
      <BitField start="2" size="1" name="NCF" description="Noise detected clear flag" />
      <BitField start="1" size="1" name="FECF" description="Framing error clear flag" />
      <BitField start="0" size="1" name="PECF" description="Parity error clear flag" />
    </Register>
    <Register start="+0x24" size="0" name="RDR" access="ReadOnly" description="Receive data register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="9" name="RDR" description="Receive data value" />
    </Register>
    <Register start="+0x28" size="0" name="TDR" access="Read/Write" description="Transmit data register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="9" name="TDR" description="Transmit data value" />
    </Register>
    <Register start="+0x2C" size="0" name="PRESC" access="Read/Write" description="Prescaler register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="4" name="PRESCALER" description="Clock prescaler" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="USART4" start="0x40004C00" description="Universal synchronous asynchronous receiver&#xa;      transmitter">
    <Register start="+0x0" size="0" name="CR1" access="Read/Write" description="Control register 1" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="31" size="1" name="RXFFIE" description="RXFIFO Full interrupt&#xa;              enable" />
      <BitField start="30" size="1" name="TXFEIE" description="TXFIFO empty interrupt&#xa;              enable" />
      <BitField start="29" size="1" name="FIFOEN" description="FIFO mode enable" />
      <BitField start="28" size="1" name="M1" description="Word length" />
      <BitField start="27" size="1" name="EOBIE" description="End of Block interrupt&#xa;              enable" />
      <BitField start="26" size="1" name="RTOIE" description="Receiver timeout interrupt&#xa;              enable" />
      <BitField start="21" size="5" name="DEAT" description="DEAT" />
      <BitField start="16" size="5" name="DEDT" description="DEDT" />
      <BitField start="15" size="1" name="OVER8" description="Oversampling mode" />
      <BitField start="14" size="1" name="CMIE" description="Character match interrupt&#xa;              enable" />
      <BitField start="13" size="1" name="MME" description="Mute mode enable" />
      <BitField start="12" size="1" name="M0" description="Word length" />
      <BitField start="11" size="1" name="WAKE" description="Receiver wakeup method" />
      <BitField start="10" size="1" name="PCE" description="Parity control enable" />
      <BitField start="9" size="1" name="PS" description="Parity selection" />
      <BitField start="8" size="1" name="PEIE" description="PE interrupt enable" />
      <BitField start="7" size="1" name="TXEIE" description="interrupt enable" />
      <BitField start="6" size="1" name="TCIE" description="Transmission complete interrupt&#xa;              enable" />
      <BitField start="5" size="1" name="RXNEIE" description="RXNE interrupt enable" />
      <BitField start="4" size="1" name="IDLEIE" description="IDLE interrupt enable" />
      <BitField start="3" size="1" name="TE" description="Transmitter enable" />
      <BitField start="2" size="1" name="RE" description="Receiver enable" />
      <BitField start="1" size="1" name="UESM" description="USART enable in Stop mode" />
      <BitField start="0" size="1" name="UE" description="USART enable" />
    </Register>
    <Register start="+0x4" size="0" name="CR2" access="Read/Write" description="Control register 2" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="28" size="4" name="ADD4_7" description="Address of the USART node" />
      <BitField start="24" size="4" name="ADD0_3" description="Address of the USART node" />
      <BitField start="23" size="1" name="RTOEN" description="Receiver timeout enable" />
      <BitField start="21" size="2" name="ABRMOD" description="Auto baud rate mode" />
      <BitField start="20" size="1" name="ABREN" description="Auto baud rate enable" />
      <BitField start="19" size="1" name="MSBFIRST" description="Most significant bit first" />
      <BitField start="18" size="1" name="TAINV" description="Binary data inversion" />
      <BitField start="17" size="1" name="TXINV" description="TX pin active level&#xa;              inversion" />
      <BitField start="16" size="1" name="RXINV" description="RX pin active level&#xa;              inversion" />
      <BitField start="15" size="1" name="SWAP" description="Swap TX/RX pins" />
      <BitField start="14" size="1" name="LINEN" description="LIN mode enable" />
      <BitField start="12" size="2" name="STOP" description="STOP bits" />
      <BitField start="11" size="1" name="CLKEN" description="Clock enable" />
      <BitField start="10" size="1" name="CPOL" description="Clock polarity" />
      <BitField start="9" size="1" name="CPHA" description="Clock phase" />
      <BitField start="8" size="1" name="LBCL" description="Last bit clock pulse" />
      <BitField start="6" size="1" name="LBDIE" description="LIN break detection interrupt&#xa;              enable" />
      <BitField start="5" size="1" name="LBDL" description="LIN break detection length" />
      <BitField start="4" size="1" name="ADDM7" description="7-bit Address Detection/4-bit Address&#xa;              Detection" />
      <BitField start="3" size="1" name="DIS_NSS" description="When the DSI_NSS bit is set, the NSS pin&#xa;              input will be ignored" />
      <BitField start="0" size="1" name="SLVEN" description="Synchronous Slave mode&#xa;              enable" />
    </Register>
    <Register start="+0x8" size="0" name="CR3" access="Read/Write" description="Control register 3" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="29" size="3" name="TXFTCFG" description="TXFIFO threshold&#xa;              configuration" />
      <BitField start="28" size="1" name="RXFTIE" description="RXFIFO threshold interrupt&#xa;              enable" />
      <BitField start="25" size="3" name="RXFTCFG" description="Receive FIFO threshold&#xa;              configuration" />
      <BitField start="24" size="1" name="TCBGTIE" description="Tr Complete before guard time, interrupt&#xa;              enable" />
      <BitField start="23" size="1" name="TXFTIE" description="threshold interrupt enable" />
      <BitField start="22" size="1" name="WUFIE" description="Wakeup from Stop mode interrupt&#xa;              enable" />
      <BitField start="20" size="2" name="WUS" description="Wakeup from Stop mode interrupt flag&#xa;              selection" />
      <BitField start="17" size="3" name="SCARCNT" description="Smartcard auto-retry count" />
      <BitField start="15" size="1" name="DEP" description="Driver enable polarity&#xa;              selection" />
      <BitField start="14" size="1" name="DEM" description="Driver enable mode" />
      <BitField start="13" size="1" name="DDRE" description="DMA Disable on Reception&#xa;              Error" />
      <BitField start="12" size="1" name="OVRDIS" description="Overrun Disable" />
      <BitField start="11" size="1" name="ONEBIT" description="One sample bit method&#xa;              enable" />
      <BitField start="10" size="1" name="CTSIE" description="CTS interrupt enable" />
      <BitField start="9" size="1" name="CTSE" description="CTS enable" />
      <BitField start="8" size="1" name="RTSE" description="RTS enable" />
      <BitField start="7" size="1" name="DMAT" description="DMA enable transmitter" />
      <BitField start="6" size="1" name="DMAR" description="DMA enable receiver" />
      <BitField start="5" size="1" name="SCEN" description="Smartcard mode enable" />
      <BitField start="4" size="1" name="NACK" description="Smartcard NACK enable" />
      <BitField start="3" size="1" name="HDSEL" description="Half-duplex selection" />
      <BitField start="2" size="1" name="IRLP" description="Ir low-power" />
      <BitField start="1" size="1" name="IREN" description="Ir mode enable" />
      <BitField start="0" size="1" name="EIE" description="Error interrupt enable" />
    </Register>
    <Register start="+0xC" size="0" name="BRR" access="Read/Write" description="Baud rate register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="4" size="12" name="BRR_4_15" description="BRR_4_15" />
      <BitField start="0" size="4" name="BRR_0_3" description="BRR_0_3" />
    </Register>
    <Register start="+0x10" size="0" name="GTPR" access="Read/Write" description="Guard time and prescaler&#xa;          register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="8" size="8" name="GT" description="Guard time value" />
      <BitField start="0" size="8" name="PSC" description="Prescaler value" />
    </Register>
    <Register start="+0x14" size="0" name="RTOR" access="Read/Write" description="Receiver timeout register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="24" size="8" name="BLEN" description="Block Length" />
      <BitField start="0" size="24" name="RTO" description="Receiver timeout value" />
    </Register>
    <Register start="+0x18" size="0" name="RQR" access="WriteOnly" description="Request register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="4" size="1" name="TXFRQ" description="Transmit data flush&#xa;              request" />
      <BitField start="3" size="1" name="RXFRQ" description="Receive data flush request" />
      <BitField start="2" size="1" name="MMRQ" description="Mute mode request" />
      <BitField start="1" size="1" name="SBKRQ" description="Send break request" />
      <BitField start="0" size="1" name="ABRRQ" description="Auto baud rate request" />
    </Register>
    <Register start="+0x1C" size="0" name="ISR" access="ReadOnly" description="Interrupt &amp; status&#xa;          register" reset_value="0x00C0" reset_mask="0xFFFFFFFF">
      <BitField start="27" size="1" name="TXFT" description="TXFIFO threshold flag" />
      <BitField start="26" size="1" name="RXFT" description="RXFIFO threshold flag" />
      <BitField start="25" size="1" name="TCBGT" description="Transmission complete before guard time&#xa;              flag" />
      <BitField start="24" size="1" name="RXFF" description="RXFIFO Full" />
      <BitField start="23" size="1" name="TXFE" description="TXFIFO Empty" />
      <BitField start="22" size="1" name="REACK" description="REACK" />
      <BitField start="21" size="1" name="TEACK" description="TEACK" />
      <BitField start="20" size="1" name="WUF" description="WUF" />
      <BitField start="19" size="1" name="RWU" description="RWU" />
      <BitField start="18" size="1" name="SBKF" description="SBKF" />
      <BitField start="17" size="1" name="CMF" description="CMF" />
      <BitField start="16" size="1" name="BUSY" description="BUSY" />
      <BitField start="15" size="1" name="ABRF" description="ABRF" />
      <BitField start="14" size="1" name="ABRE" description="ABRE" />
      <BitField start="13" size="1" name="UDR" description="SPI slave underrun error&#xa;              flag" />
      <BitField start="12" size="1" name="EOBF" description="EOBF" />
      <BitField start="11" size="1" name="RTOF" description="RTOF" />
      <BitField start="10" size="1" name="CTS" description="CTS" />
      <BitField start="9" size="1" name="CTSIF" description="CTSIF" />
      <BitField start="8" size="1" name="LBDF" description="LBDF" />
      <BitField start="7" size="1" name="TXE" description="TXE" />
      <BitField start="6" size="1" name="TC" description="TC" />
      <BitField start="5" size="1" name="RXNE" description="RXNE" />
      <BitField start="4" size="1" name="IDLE" description="IDLE" />
      <BitField start="3" size="1" name="ORE" description="ORE" />
      <BitField start="2" size="1" name="NF" description="NF" />
      <BitField start="1" size="1" name="FE" description="FE" />
      <BitField start="0" size="1" name="PE" description="PE" />
    </Register>
    <Register start="+0x20" size="0" name="ICR" access="WriteOnly" description="Interrupt flag clear register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="20" size="1" name="WUCF" description="Wakeup from Stop mode clear&#xa;              flag" />
      <BitField start="17" size="1" name="CMCF" description="Character match clear flag" />
      <BitField start="13" size="1" name="UDRCF" description="SPI slave underrun clear&#xa;              flag" />
      <BitField start="12" size="1" name="EOBCF" description="End of block clear flag" />
      <BitField start="11" size="1" name="RTOCF" description="Receiver timeout clear&#xa;              flag" />
      <BitField start="9" size="1" name="CTSCF" description="CTS clear flag" />
      <BitField start="8" size="1" name="LBDCF" description="LIN break detection clear&#xa;              flag" />
      <BitField start="7" size="1" name="TCBGTCF" description="Transmission complete before Guard time&#xa;              clear flag" />
      <BitField start="6" size="1" name="TCCF" description="Transmission complete clear&#xa;              flag" />
      <BitField start="5" size="1" name="TXFECF" description="TXFIFO empty clear flag" />
      <BitField start="4" size="1" name="IDLECF" description="Idle line detected clear&#xa;              flag" />
      <BitField start="3" size="1" name="ORECF" description="Overrun error clear flag" />
      <BitField start="2" size="1" name="NCF" description="Noise detected clear flag" />
      <BitField start="1" size="1" name="FECF" description="Framing error clear flag" />
      <BitField start="0" size="1" name="PECF" description="Parity error clear flag" />
    </Register>
    <Register start="+0x24" size="0" name="RDR" access="ReadOnly" description="Receive data register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="9" name="RDR" description="Receive data value" />
    </Register>
    <Register start="+0x28" size="0" name="TDR" access="Read/Write" description="Transmit data register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="9" name="TDR" description="Transmit data value" />
    </Register>
    <Register start="+0x2C" size="0" name="PRESC" access="Read/Write" description="Prescaler register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="4" name="PRESCALER" description="Clock prescaler" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="SPI1" start="0x40013000" description="Serial peripheral interface/Inter-IC&#xa;      sound">
    <Register start="+0x0" size="0" name="CR1" access="Read/Write" description="control register 1" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="15" size="1" name="BIDIMODE" description="Bidirectional data mode&#xa;              enable" />
      <BitField start="14" size="1" name="BIDIOE" description="Output enable in bidirectional&#xa;              mode" />
      <BitField start="13" size="1" name="CRCEN" description="Hardware CRC calculation&#xa;              enable" />
      <BitField start="12" size="1" name="CRCNEXT" description="CRC transfer next" />
      <BitField start="11" size="1" name="DFF" description="Data frame format" />
      <BitField start="10" size="1" name="RXONLY" description="Receive only" />
      <BitField start="9" size="1" name="SSM" description="Software slave management" />
      <BitField start="8" size="1" name="SSI" description="Internal slave select" />
      <BitField start="7" size="1" name="LSBFIRST" description="Frame format" />
      <BitField start="6" size="1" name="SPE" description="SPI enable" />
      <BitField start="3" size="3" name="BR" description="Baud rate control" />
      <BitField start="2" size="1" name="MSTR" description="Master selection" />
      <BitField start="1" size="1" name="CPOL" description="Clock polarity" />
      <BitField start="0" size="1" name="CPHA" description="Clock phase" />
    </Register>
    <Register start="+0x4" size="0" name="CR2" access="Read/Write" description="control register 2" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="RXDMAEN" description="Rx buffer DMA enable" />
      <BitField start="1" size="1" name="TXDMAEN" description="Tx buffer DMA enable" />
      <BitField start="2" size="1" name="SSOE" description="SS output enable" />
      <BitField start="3" size="1" name="NSSP" description="NSS pulse management" />
      <BitField start="4" size="1" name="FRF" description="Frame format" />
      <BitField start="5" size="1" name="ERRIE" description="Error interrupt enable" />
      <BitField start="6" size="1" name="RXNEIE" description="RX buffer not empty interrupt&#xa;              enable" />
      <BitField start="7" size="1" name="TXEIE" description="Tx buffer empty interrupt&#xa;              enable" />
      <BitField start="8" size="4" name="DS" description="Data size" />
      <BitField start="12" size="1" name="FRXTH" description="FIFO reception threshold" />
      <BitField start="13" size="1" name="LDMA_RX" description="Last DMA transfer for&#xa;              reception" />
      <BitField start="14" size="1" name="LDMA_TX" description="Last DMA transfer for&#xa;              transmission" />
    </Register>
    <Register start="+0x8" size="0" name="SR" access="Read/Write" description="status register" reset_value="0x0002" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="RXNE" description="Receive buffer not empty" />
      <BitField start="1" size="1" name="TXE" description="Transmit buffer empty" />
      <BitField start="2" size="1" name="CHSIDE" description="Channel side" />
      <BitField start="3" size="1" name="UDR" description="Underrun flag" />
      <BitField start="4" size="1" name="CRCERR" description="CRC error flag" />
      <BitField start="5" size="1" name="MODF" description="Mode fault" />
      <BitField start="6" size="1" name="OVR" description="Overrun flag" />
      <BitField start="7" size="1" name="BSY" description="Busy flag" />
      <BitField start="8" size="1" name="TIFRFE" description="TI frame format error" />
      <BitField start="9" size="2" name="FRLVL" description="FIFO reception level" />
      <BitField start="11" size="2" name="FTLVL" description="FIFO transmission level" />
    </Register>
    <Register start="+0xC" size="0" name="DR" access="Read/Write" description="data register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="16" name="DR" description="Data register" />
    </Register>
    <Register start="+0x10" size="0" name="CRCPR" access="Read/Write" description="CRC polynomial register" reset_value="0x0007" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="16" name="CRCPOLY" description="CRC polynomial register" />
    </Register>
    <Register start="+0x14" size="0" name="RXCRCR" access="ReadOnly" description="RX CRC register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="16" name="RxCRC" description="Rx CRC register" />
    </Register>
    <Register start="+0x18" size="0" name="TXCRCR" access="ReadOnly" description="TX CRC register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="16" name="TxCRC" description="Tx CRC register" />
    </Register>
    <Register start="+0x1C" size="0" name="I2SCFGR" access="Read/Write" description="configuration register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="CHLEN" description="Channel length (number of bits per audio&#xa;              channel)" />
      <BitField start="1" size="2" name="DATLEN" description="Data length to be&#xa;              transferred" />
      <BitField start="3" size="1" name="CKPOL" description="Inactive state clock&#xa;              polarity" />
      <BitField start="4" size="2" name="I2SSTD" description="standard selection" />
      <BitField start="7" size="1" name="PCMSYNC" description="PCM frame synchronization" />
      <BitField start="8" size="2" name="I2SCFG" description="I2S configuration mode" />
      <BitField start="10" size="1" name="SE2" description="I2S enable" />
      <BitField start="11" size="1" name="I2SMOD" description="I2S mode selection" />
    </Register>
    <Register start="+0x20" size="0" name="I2SPR" access="Read/Write" description="prescaler register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="8" name="I2SDIV" description="linear prescaler" />
      <BitField start="8" size="1" name="ODD" description="Odd factor for the&#xa;              prescaler" />
      <BitField start="9" size="1" name="MCKOE" description="Master clock output enable" />
    </Register>
    <Register start="+0x3F0" size="0" name="HWCFGR" access="ReadOnly" description="hardware configuration&#xa;          register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="4" name="CRCCFG" description="CRC capable at SPI mode" />
      <BitField start="4" size="4" name="I2SCFG" description="I2S mode implementation" />
      <BitField start="8" size="4" name="I2SCKCFG" description="I2S master clock generator at I2S&#xa;              mode" />
      <BitField start="12" size="4" name="DSCFG" description="SPI data size&#xa;              configuration" />
      <BitField start="16" size="4" name="NSSCFG" description="NSS pulse feature enhancement at SPI&#xa;              master" />
    </Register>
    <Register start="+0x3F4" size="0" name="VERR" access="ReadOnly" description="EXTI IP Version register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="4" name="MINREV" description="Minor Revision number" />
      <BitField start="4" size="4" name="MAJREV" description="Major Revision number" />
    </Register>
    <Register start="+0x3F8" size="0" name="IPIDR" access="ReadOnly" description="EXTI Identification register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="IPID" description="IP Identification" />
    </Register>
    <Register start="+0x3FC" size="0" name="SIDR" access="ReadOnly" description="EXTI Size ID register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="SID" description="Size Identification" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="SPI2" start="0x40003800" description="Serial peripheral interface/Inter-IC&#xa;      sound">
    <Register start="+0x0" size="0" name="CR1" access="Read/Write" description="control register 1" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="15" size="1" name="BIDIMODE" description="Bidirectional data mode&#xa;              enable" />
      <BitField start="14" size="1" name="BIDIOE" description="Output enable in bidirectional&#xa;              mode" />
      <BitField start="13" size="1" name="CRCEN" description="Hardware CRC calculation&#xa;              enable" />
      <BitField start="12" size="1" name="CRCNEXT" description="CRC transfer next" />
      <BitField start="11" size="1" name="DFF" description="Data frame format" />
      <BitField start="10" size="1" name="RXONLY" description="Receive only" />
      <BitField start="9" size="1" name="SSM" description="Software slave management" />
      <BitField start="8" size="1" name="SSI" description="Internal slave select" />
      <BitField start="7" size="1" name="LSBFIRST" description="Frame format" />
      <BitField start="6" size="1" name="SPE" description="SPI enable" />
      <BitField start="3" size="3" name="BR" description="Baud rate control" />
      <BitField start="2" size="1" name="MSTR" description="Master selection" />
      <BitField start="1" size="1" name="CPOL" description="Clock polarity" />
      <BitField start="0" size="1" name="CPHA" description="Clock phase" />
    </Register>
    <Register start="+0x4" size="0" name="CR2" access="Read/Write" description="control register 2" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="RXDMAEN" description="Rx buffer DMA enable" />
      <BitField start="1" size="1" name="TXDMAEN" description="Tx buffer DMA enable" />
      <BitField start="2" size="1" name="SSOE" description="SS output enable" />
      <BitField start="3" size="1" name="NSSP" description="NSS pulse management" />
      <BitField start="4" size="1" name="FRF" description="Frame format" />
      <BitField start="5" size="1" name="ERRIE" description="Error interrupt enable" />
      <BitField start="6" size="1" name="RXNEIE" description="RX buffer not empty interrupt&#xa;              enable" />
      <BitField start="7" size="1" name="TXEIE" description="Tx buffer empty interrupt&#xa;              enable" />
      <BitField start="8" size="4" name="DS" description="Data size" />
      <BitField start="12" size="1" name="FRXTH" description="FIFO reception threshold" />
      <BitField start="13" size="1" name="LDMA_RX" description="Last DMA transfer for&#xa;              reception" />
      <BitField start="14" size="1" name="LDMA_TX" description="Last DMA transfer for&#xa;              transmission" />
    </Register>
    <Register start="+0x8" size="0" name="SR" access="Read/Write" description="status register" reset_value="0x0002" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="RXNE" description="Receive buffer not empty" />
      <BitField start="1" size="1" name="TXE" description="Transmit buffer empty" />
      <BitField start="2" size="1" name="CHSIDE" description="Channel side" />
      <BitField start="3" size="1" name="UDR" description="Underrun flag" />
      <BitField start="4" size="1" name="CRCERR" description="CRC error flag" />
      <BitField start="5" size="1" name="MODF" description="Mode fault" />
      <BitField start="6" size="1" name="OVR" description="Overrun flag" />
      <BitField start="7" size="1" name="BSY" description="Busy flag" />
      <BitField start="8" size="1" name="TIFRFE" description="TI frame format error" />
      <BitField start="9" size="2" name="FRLVL" description="FIFO reception level" />
      <BitField start="11" size="2" name="FTLVL" description="FIFO transmission level" />
    </Register>
    <Register start="+0xC" size="0" name="DR" access="Read/Write" description="data register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="16" name="DR" description="Data register" />
    </Register>
    <Register start="+0x10" size="0" name="CRCPR" access="Read/Write" description="CRC polynomial register" reset_value="0x0007" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="16" name="CRCPOLY" description="CRC polynomial register" />
    </Register>
    <Register start="+0x14" size="0" name="RXCRCR" access="ReadOnly" description="RX CRC register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="16" name="RxCRC" description="Rx CRC register" />
    </Register>
    <Register start="+0x18" size="0" name="TXCRCR" access="ReadOnly" description="TX CRC register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="16" name="TxCRC" description="Tx CRC register" />
    </Register>
    <Register start="+0x1C" size="0" name="I2SCFGR" access="Read/Write" description="configuration register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="CHLEN" description="Channel length (number of bits per audio&#xa;              channel)" />
      <BitField start="1" size="2" name="DATLEN" description="Data length to be&#xa;              transferred" />
      <BitField start="3" size="1" name="CKPOL" description="Inactive state clock&#xa;              polarity" />
      <BitField start="4" size="2" name="I2SSTD" description="standard selection" />
      <BitField start="7" size="1" name="PCMSYNC" description="PCM frame synchronization" />
      <BitField start="8" size="2" name="I2SCFG" description="I2S configuration mode" />
      <BitField start="10" size="1" name="SE2" description="I2S enable" />
      <BitField start="11" size="1" name="I2SMOD" description="I2S mode selection" />
    </Register>
    <Register start="+0x20" size="0" name="I2SPR" access="Read/Write" description="prescaler register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="8" name="I2SDIV" description="linear prescaler" />
      <BitField start="8" size="1" name="ODD" description="Odd factor for the&#xa;              prescaler" />
      <BitField start="9" size="1" name="MCKOE" description="Master clock output enable" />
    </Register>
    <Register start="+0x3F0" size="0" name="HWCFGR" access="ReadOnly" description="hardware configuration&#xa;          register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="4" name="CRCCFG" description="CRC capable at SPI mode" />
      <BitField start="4" size="4" name="I2SCFG" description="I2S mode implementation" />
      <BitField start="8" size="4" name="I2SCKCFG" description="I2S master clock generator at I2S&#xa;              mode" />
      <BitField start="12" size="4" name="DSCFG" description="SPI data size&#xa;              configuration" />
      <BitField start="16" size="4" name="NSSCFG" description="NSS pulse feature enhancement at SPI&#xa;              master" />
    </Register>
    <Register start="+0x3F4" size="0" name="VERR" access="ReadOnly" description="EXTI IP Version register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="4" name="MINREV" description="Minor Revision number" />
      <BitField start="4" size="4" name="MAJREV" description="Major Revision number" />
    </Register>
    <Register start="+0x3F8" size="0" name="IPIDR" access="ReadOnly" description="EXTI Identification register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="IPID" description="IP Identification" />
    </Register>
    <Register start="+0x3FC" size="0" name="SIDR" access="ReadOnly" description="EXTI Size ID register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="SID" description="Size Identification" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="TIM1" start="0x40012C00" description="Advanced-timers">
    <Register start="+0x0" size="0" name="CR1" access="Read/Write" description="control register 1" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="CEN" description="Counter enable" />
      <BitField start="3" size="1" name="OPM" description="One-pulse mode" />
      <BitField start="1" size="1" name="UDIS" description="Update disable" />
      <BitField start="2" size="1" name="URS" description="Update request source" />
      <BitField start="4" size="1" name="DIR" description="Direction" />
      <BitField start="5" size="2" name="CMS" description="Center-aligned mode&#xa;              selection" />
      <BitField start="7" size="1" name="ARPE" description="Auto-reload preload enable" />
      <BitField start="8" size="2" name="CKD" description="Clock division" />
      <BitField start="11" size="1" name="UIFREMAP" description="UIF status bit remapping" />
    </Register>
    <Register start="+0x4" size="0" name="CR2" access="Read/Write" description="control register 2" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="20" size="4" name="MMS2" description="Master mode selection 2" />
      <BitField start="18" size="1" name="OIS6" description="Output Idle state 6 (OC6&#xa;              output)" />
      <BitField start="16" size="1" name="OIS5" description="Output Idle state 5 (OC5&#xa;              output)" />
      <BitField start="14" size="1" name="OIS4" description="Output Idle state 4" />
      <BitField start="13" size="1" name="OIS3N" description="Output Idle state 3" />
      <BitField start="12" size="1" name="OIS3" description="Output Idle state 3" />
      <BitField start="11" size="1" name="OIS2N" description="Output Idle state 2" />
      <BitField start="10" size="1" name="OIS2" description="Output Idle state 2" />
      <BitField start="9" size="1" name="OIS1N" description="Output Idle state 1" />
      <BitField start="8" size="1" name="OIS1" description="Output Idle state 1" />
      <BitField start="7" size="1" name="TI1S" description="TI1 selection" />
      <BitField start="4" size="3" name="MMS" description="Master mode selection" />
      <BitField start="3" size="1" name="CCDS" description="Capture/compare DMA&#xa;              selection" />
      <BitField start="2" size="1" name="CCUS" description="Capture/compare control update&#xa;              selection" />
      <BitField start="0" size="1" name="CCPC" description="Capture/compare preloaded&#xa;              control" />
    </Register>
    <Register start="+0x8" size="0" name="SMCR" access="Read/Write" description="slave mode control register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="3" name="SMS" description="Slave mode selection" />
      <BitField start="3" size="1" name="OCCS" description="OCREF clear selection" />
      <BitField start="4" size="3" name="TS_4" description="Trigger selection" />
      <BitField start="7" size="1" name="MSM" description="Master/Slave mode" />
      <BitField start="8" size="4" name="ETF" description="External trigger filter" />
      <BitField start="12" size="2" name="ETPS" description="External trigger prescaler" />
      <BitField start="14" size="1" name="ECE" description="External clock enable" />
      <BitField start="15" size="1" name="ETP" description="External trigger polarity" />
      <BitField start="16" size="1" name="SMS_3" description="Slave mode selection - bit&#xa;              3" />
      <BitField start="20" size="2" name="TS" description="Trigger selection" />
    </Register>
    <Register start="+0xC" size="0" name="DIER" access="Read/Write" description="DMA/Interrupt enable register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="UIE" description="Update interrupt enable" />
      <BitField start="1" size="1" name="CC1IE" description="Capture/Compare 1 interrupt&#xa;              enable" />
      <BitField start="2" size="1" name="CC2IE" description="Capture/Compare 2 interrupt&#xa;              enable" />
      <BitField start="3" size="1" name="CC3IE" description="Capture/Compare 3 interrupt&#xa;              enable" />
      <BitField start="4" size="1" name="CC4IE" description="Capture/Compare 4 interrupt&#xa;              enable" />
      <BitField start="5" size="1" name="COMIE" description="COM interrupt enable" />
      <BitField start="6" size="1" name="TIE" description="Trigger interrupt enable" />
      <BitField start="7" size="1" name="BIE" description="Break interrupt enable" />
      <BitField start="8" size="1" name="UDE" description="Update DMA request enable" />
      <BitField start="9" size="1" name="CC1DE" description="Capture/Compare 1 DMA request&#xa;              enable" />
      <BitField start="10" size="1" name="CC2DE" description="Capture/Compare 2 DMA request&#xa;              enable" />
      <BitField start="11" size="1" name="CC3DE" description="Capture/Compare 3 DMA request&#xa;              enable" />
      <BitField start="12" size="1" name="CC4DE" description="Capture/Compare 4 DMA request&#xa;              enable" />
      <BitField start="13" size="1" name="COMDE" description="COM DMA request enable" />
      <BitField start="14" size="1" name="TDE" description="Trigger DMA request enable" />
    </Register>
    <Register start="+0x10" size="0" name="SR" access="Read/Write" description="status register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="UIF" description="Update interrupt flag" />
      <BitField start="1" size="1" name="CC1IF" description="Capture/compare 1 interrupt&#xa;              flag" />
      <BitField start="2" size="1" name="CC2IF" description="Capture/Compare 2 interrupt&#xa;              flag" />
      <BitField start="3" size="1" name="CC3IF" description="Capture/Compare 3 interrupt&#xa;              flag" />
      <BitField start="4" size="1" name="CC4IF" description="Capture/Compare 4 interrupt&#xa;              flag" />
      <BitField start="5" size="1" name="COMIF" description="COM interrupt flag" />
      <BitField start="6" size="1" name="TIF" description="Trigger interrupt flag" />
      <BitField start="7" size="1" name="BIF" description="Break interrupt flag" />
      <BitField start="8" size="1" name="B2IF" description="Break 2 interrupt flag" />
      <BitField start="9" size="1" name="CC1OF" description="Capture/Compare 1 overcapture&#xa;              flag" />
      <BitField start="10" size="1" name="CC2OF" description="Capture/compare 2 overcapture&#xa;              flag" />
      <BitField start="11" size="1" name="CC3OF" description="Capture/Compare 3 overcapture&#xa;              flag" />
      <BitField start="12" size="1" name="CC4OF" description="Capture/Compare 4 overcapture&#xa;              flag" />
      <BitField start="13" size="1" name="SBIF" description="System Break interrupt&#xa;              flag" />
      <BitField start="16" size="1" name="CC5IF" description="Compare 5 interrupt flag" />
      <BitField start="17" size="1" name="CC6IF" description="Compare 6 interrupt flag" />
    </Register>
    <Register start="+0x14" size="0" name="EGR" access="WriteOnly" description="event generation register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="UG" description="Update generation" />
      <BitField start="1" size="1" name="CC1G" description="Capture/compare 1&#xa;              generation" />
      <BitField start="2" size="1" name="CC2G" description="Capture/compare 2&#xa;              generation" />
      <BitField start="3" size="1" name="CC3G" description="Capture/compare 3&#xa;              generation" />
      <BitField start="4" size="1" name="CC4G" description="Capture/compare 4&#xa;              generation" />
      <BitField start="5" size="1" name="COMG" description="Capture/Compare control update&#xa;              generation" />
      <BitField start="6" size="1" name="TG" description="Trigger generation" />
      <BitField start="7" size="1" name="BG" description="Break generation" />
      <BitField start="8" size="1" name="B2G" description="Break 2 generation" />
    </Register>
    <Register start="+0x18" size="0" name="CCMR1_Output" access="Read/Write" description="capture/compare mode register 1 (output&#xa;          mode)" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="2" name="CC1S" description="Capture/Compare 1&#xa;              selection" />
      <BitField start="2" size="1" name="OC1FE" description="Output Compare 1 fast&#xa;              enable" />
      <BitField start="3" size="1" name="OC1PE" description="Output Compare 1 preload&#xa;              enable" />
      <BitField start="4" size="3" name="OC1M" description="Output Compare 1 mode" />
      <BitField start="7" size="1" name="OC1CE" description="Output Compare 1 clear&#xa;              enable" />
      <BitField start="8" size="2" name="CC2S" description="Capture/Compare 2&#xa;              selection" />
      <BitField start="10" size="1" name="OC2FE" description="Output Compare 2 fast&#xa;              enable" />
      <BitField start="11" size="1" name="OC2PE" description="Output Compare 2 preload&#xa;              enable" />
      <BitField start="12" size="3" name="OC2M" description="Output Compare 2 mode" />
      <BitField start="15" size="1" name="OC2CE" description="Output Compare 2 clear&#xa;              enable" />
      <BitField start="16" size="1" name="OC1M_3" description="Output Compare 1 mode - bit&#xa;              3" />
      <BitField start="24" size="1" name="OC2M_3" description="Output Compare 2 mode - bit&#xa;              3" />
    </Register>
    <Register start="+0x18" size="0" name="CCMR1_Input" access="Read/Write" description="capture/compare mode register 1 (output&#xa;          mode)" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="2" name="CC1S" description="Capture/Compare 1&#xa;              selection" />
      <BitField start="2" size="1" name="OC1FE" description="Output Compare 1 fast&#xa;              enable" />
      <BitField start="3" size="1" name="OC1PE" description="Output Compare 1 preload&#xa;              enable" />
      <BitField start="4" size="3" name="OC1M" description="Output Compare 1 mode" />
      <BitField start="7" size="1" name="OC1CE" description="Output Compare 1 clear&#xa;              enable" />
      <BitField start="8" size="2" name="CC2S" description="Capture/Compare 2&#xa;              selection" />
      <BitField start="10" size="1" name="OC2FE" description="Output Compare 2 fast&#xa;              enable" />
      <BitField start="11" size="1" name="OC2PE" description="Output Compare 2 preload&#xa;              enable" />
      <BitField start="12" size="3" name="OC2M" description="Output Compare 2 mode" />
      <BitField start="15" size="1" name="OC2CE" description="Output Compare 2 clear&#xa;              enable" />
    </Register>
    <Register start="+0x1C" size="0" name="CCMR2_Output" access="Read/Write" description="capture/compare mode register 2 (output&#xa;          mode)" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="2" name="CC3S" description="Capture/Compare 3&#xa;              selection" />
      <BitField start="2" size="1" name="OC3FE" description="Output compare 3 fast&#xa;              enable" />
      <BitField start="3" size="1" name="OC3PE" description="Output compare 3 preload&#xa;              enable" />
      <BitField start="4" size="3" name="OC3M" description="Output compare 3 mode" />
      <BitField start="7" size="1" name="OC3CE" description="Output compare 3 clear&#xa;              enable" />
      <BitField start="8" size="2" name="CC4S" description="Capture/Compare 4&#xa;              selection" />
      <BitField start="10" size="1" name="OC4FE" description="Output compare 4 fast&#xa;              enable" />
      <BitField start="11" size="1" name="OC4PE" description="Output compare 4 preload&#xa;              enable" />
      <BitField start="12" size="3" name="OC4M" description="Output compare 4 mode" />
      <BitField start="15" size="1" name="OC4CE" description="Output compare 4 clear&#xa;              enable" />
      <BitField start="16" size="1" name="OC3M_3" description="Output Compare 3 mode - bit&#xa;              3" />
      <BitField start="24" size="1" name="OC4M_3" description="Output Compare 4 mode - bit&#xa;              3" />
    </Register>
    <Register start="+0x1C" size="0" name="CCMR2_Input" access="Read/Write" description="capture/compare mode register 2 (output&#xa;          mode)" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="2" name="CC3S" description="Capture/Compare 3&#xa;              selection" />
      <BitField start="2" size="1" name="OC3FE" description="Output compare 3 fast&#xa;              enable" />
      <BitField start="3" size="1" name="OC3PE" description="Output compare 3 preload&#xa;              enable" />
      <BitField start="4" size="3" name="OC3M" description="Output compare 3 mode" />
      <BitField start="7" size="1" name="OC3CE" description="Output compare 3 clear&#xa;              enable" />
      <BitField start="8" size="2" name="CC4S" description="Capture/Compare 4&#xa;              selection" />
      <BitField start="10" size="1" name="OC4FE" description="Output compare 4 fast&#xa;              enable" />
      <BitField start="11" size="1" name="OC4PE" description="Output compare 4 preload&#xa;              enable" />
      <BitField start="12" size="3" name="OC4M" description="Output compare 4 mode" />
      <BitField start="15" size="1" name="OC4CE" description="Output compare 4 clear&#xa;              enable" />
    </Register>
    <Register start="+0x20" size="0" name="CCER" access="Read/Write" description="capture/compare enable&#xa;          register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="CC1E" description="Capture/Compare 1 output&#xa;              enable" />
      <BitField start="1" size="1" name="CC1P" description="Capture/Compare 1 output&#xa;              Polarity" />
      <BitField start="2" size="1" name="CC1NE" description="Capture/Compare 1 complementary output&#xa;              enable" />
      <BitField start="3" size="1" name="CC1NP" description="Capture/Compare 1 output&#xa;              Polarity" />
      <BitField start="4" size="1" name="CC2E" description="Capture/Compare 2 output&#xa;              enable" />
      <BitField start="5" size="1" name="CC2P" description="Capture/Compare 2 output&#xa;              Polarity" />
      <BitField start="6" size="1" name="CC2NE" description="Capture/Compare 2 complementary output&#xa;              enable" />
      <BitField start="7" size="1" name="CC2NP" description="Capture/Compare 2 output&#xa;              Polarity" />
      <BitField start="8" size="1" name="CC3E" description="Capture/Compare 3 output&#xa;              enable" />
      <BitField start="9" size="1" name="CC3P" description="Capture/Compare 3 output&#xa;              Polarity" />
      <BitField start="10" size="1" name="CC3NE" description="Capture/Compare 3 complementary output&#xa;              enable" />
      <BitField start="11" size="1" name="CC3NP" description="Capture/Compare 3 output&#xa;              Polarity" />
      <BitField start="12" size="1" name="CC4E" description="Capture/Compare 4 output&#xa;              enable" />
      <BitField start="13" size="1" name="CC4P" description="Capture/Compare 3 output&#xa;              Polarity" />
      <BitField start="15" size="1" name="CC4NP" description="Capture/Compare 4 complementary output&#xa;              polarity" />
      <BitField start="16" size="1" name="CC5E" description="Capture/Compare 5 output&#xa;              enable" />
      <BitField start="17" size="1" name="CC5P" description="Capture/Compare 5 output&#xa;              polarity" />
      <BitField start="20" size="1" name="CC6E" description="Capture/Compare 6 output&#xa;              enable" />
      <BitField start="21" size="1" name="CC6P" description="Capture/Compare 6 output&#xa;              polarity" />
    </Register>
    <Register start="+0x24" size="0" name="CNT" access="Read/Write" description="counter" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="16" name="CNT" description="counter value" />
      <BitField start="31" size="1" name="UIFCPY" description="UIF copy" />
    </Register>
    <Register start="+0x28" size="0" name="PSC" access="Read/Write" description="prescaler" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="16" name="PSC" description="Prescaler value" />
    </Register>
    <Register start="+0x2C" size="0" name="ARR" access="Read/Write" description="auto-reload register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="16" name="ARR" description="Auto-reload value" />
    </Register>
    <Register start="+0x30" size="0" name="RCR" access="Read/Write" description="repetition counter register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="16" name="REP" description="Repetition counter value" />
    </Register>
    <Register start="+0x34" size="0" name="CCR1" access="Read/Write" description="capture/compare register 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="16" name="CCR1" description="Capture/Compare 1 value" />
    </Register>
    <Register start="+0x38" size="0" name="CCR2" access="Read/Write" description="capture/compare register 2" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="16" name="CCR2" description="Capture/Compare 2 value" />
    </Register>
    <Register start="+0x3C" size="0" name="CCR3" access="Read/Write" description="capture/compare register 3" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="16" name="CCR3" description="Capture/Compare value" />
    </Register>
    <Register start="+0x40" size="0" name="CCR4" access="Read/Write" description="capture/compare register 4" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="16" name="CCR4" description="Capture/Compare value" />
    </Register>
    <Register start="+0x44" size="0" name="BDTR" access="Read/Write" description="break and dead-time register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="8" name="DTG" description="Dead-time generator setup" />
      <BitField start="8" size="2" name="LOCK" description="Lock configuration" />
      <BitField start="10" size="1" name="OSSI" description="Off-state selection for Idle&#xa;              mode" />
      <BitField start="11" size="1" name="OSSR" description="Off-state selection for Run&#xa;              mode" />
      <BitField start="12" size="1" name="BKE" description="Break enable" />
      <BitField start="13" size="1" name="BKP" description="Break polarity" />
      <BitField start="14" size="1" name="AOE" description="Automatic output enable" />
      <BitField start="15" size="1" name="MOE" description="Main output enable" />
      <BitField start="16" size="4" name="BKF" description="Break filter" />
      <BitField start="20" size="4" name="BK2F" description="Break 2 filter" />
      <BitField start="24" size="1" name="BK2E" description="Break 2 enable" />
      <BitField start="25" size="1" name="BK2P" description="Break 2 polarity" />
      <BitField start="26" size="1" name="BKDSRM" description="Break Disarm" />
      <BitField start="27" size="1" name="BK2DSRM" description="Break2 Disarm" />
      <BitField start="28" size="1" name="BKBID" description="Break Bidirectional" />
      <BitField start="29" size="1" name="BK2ID" description="Break2 bidirectional" />
    </Register>
    <Register start="+0x48" size="0" name="DCR" access="Read/Write" description="DMA control register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="8" size="5" name="DBL" description="DMA burst length" />
      <BitField start="0" size="5" name="DBA" description="DMA base address" />
    </Register>
    <Register start="+0x4C" size="0" name="DMAR" access="Read/Write" description="DMA address for full transfer" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="16" name="DMAB" description="DMA register for burst&#xa;              accesses" />
    </Register>
    <Register start="+0x50" size="0" name="OR1" access="Read/Write" description="option register 1" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="OCREF_CLR" description="Ocref_clr source selection" />
    </Register>
    <Register start="+0x54" size="0" name="CCMR3_Output" access="Read/Write" description="capture/compare mode register 2 (output&#xa;          mode)" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="24" size="1" name="OC6M_bit3" description="Output Compare 6 mode bit&#xa;              3" />
      <BitField start="16" size="1" name="OC5M_bit3" description="Output Compare 5 mode bit&#xa;              3" />
      <BitField start="15" size="1" name="OC6CE" description="Output compare 6 clear&#xa;              enable" />
      <BitField start="12" size="3" name="OC6M" description="Output compare 6 mode" />
      <BitField start="11" size="1" name="OC6PE" description="Output compare 6 preload&#xa;              enable" />
      <BitField start="10" size="1" name="OC6FE" description="Output compare 6 fast&#xa;              enable" />
      <BitField start="7" size="1" name="OC5CE" description="Output compare 5 clear&#xa;              enable" />
      <BitField start="4" size="3" name="OC5M" description="Output compare 5 mode" />
      <BitField start="3" size="1" name="OC5PE" description="Output compare 5 preload&#xa;              enable" />
      <BitField start="2" size="1" name="OC5FE" description="Output compare 5 fast&#xa;              enable" />
    </Register>
    <Register start="+0x58" size="0" name="CCR5" access="Read/Write" description="capture/compare register 4" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="16" name="CCR5" description="Capture/Compare value" />
      <BitField start="29" size="1" name="GC5C1" description="Group Channel 5 and Channel&#xa;              1" />
      <BitField start="30" size="1" name="GC5C2" description="Group Channel 5 and Channel&#xa;              2" />
      <BitField start="31" size="1" name="GC5C3" description="Group Channel 5 and Channel&#xa;              3" />
    </Register>
    <Register start="+0x5C" size="0" name="CCR6" access="Read/Write" description="capture/compare register 4" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="16" name="CCR6" description="Capture/Compare value" />
    </Register>
    <Register start="+0x60" size="0" name="AF1" access="Read/Write" description="DMA address for full transfer" reset_value="0x00000001" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="BKINE" description="BRK BKIN input enable" />
      <BitField start="1" size="1" name="BKCMP1E" description="BRK COMP1 enable" />
      <BitField start="2" size="1" name="BKCMP2E" description="BRK COMP2 enable" />
      <BitField start="9" size="1" name="BKINP" description="BRK BKIN input polarity" />
      <BitField start="10" size="1" name="BKCMP1P" description="BRK COMP1 input polarity" />
      <BitField start="11" size="1" name="BKCMP2P" description="BRK COMP2 input polarity" />
      <BitField start="14" size="3" name="ETRSEL" description="ETR source selection" />
    </Register>
    <Register start="+0x64" size="0" name="AF2" access="Read/Write" description="DMA address for full transfer" reset_value="0x00000001" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="BK2INE" description="BRK2 BKIN input enable" />
      <BitField start="1" size="1" name="BK2CMP1E" description="BRK2 COMP1 enable" />
      <BitField start="2" size="1" name="BK2CMP2E" description="BRK2 COMP2 enable" />
      <BitField start="8" size="1" name="BK2DFBK0E" description="BRK2 DFSDM_BREAK0 enable" />
      <BitField start="9" size="1" name="BK2INP" description="BRK2 BKIN input polarity" />
      <BitField start="10" size="1" name="BK2CMP1P" description="BRK2 COMP1 input polarity" />
      <BitField start="11" size="1" name="BK2CMP2P" description="BRK2 COMP2 input polarity" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="ADC" start="0x40012400" description="Analog to Digital Converter instance&#xa;      1">
    <Register start="+0x0" size="0" name="ISR" access="Read/Write" description="ADC interrupt and status&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="13" size="1" name="CCRDY" description="Channel Configuration Ready&#xa;              flag" />
      <BitField start="11" size="1" name="EOCAL" description="End Of Calibration flag" />
      <BitField start="9" size="1" name="AWD3" description="ADC analog watchdog 3 flag" />
      <BitField start="8" size="1" name="AWD2" description="ADC analog watchdog 2 flag" />
      <BitField start="7" size="1" name="AWD1" description="ADC analog watchdog 1 flag" />
      <BitField start="4" size="1" name="OVR" description="ADC group regular overrun&#xa;              flag" />
      <BitField start="3" size="1" name="EOS" description="ADC group regular end of sequence&#xa;              conversions flag" />
      <BitField start="2" size="1" name="EOC" description="ADC group regular end of unitary&#xa;              conversion flag" />
      <BitField start="1" size="1" name="EOSMP" description="ADC group regular end of sampling&#xa;              flag" />
      <BitField start="0" size="1" name="ADRDY" description="ADC ready flag" />
    </Register>
    <Register start="+0x4" size="0" name="IER" access="Read/Write" description="ADC interrupt enable register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="13" size="1" name="CCRDYIE" description="Channel Configuration Ready Interrupt&#xa;              enable" />
      <BitField start="11" size="1" name="EOCALIE" description="End of calibration interrupt&#xa;              enable" />
      <BitField start="9" size="1" name="AWD3IE" description="ADC analog watchdog 3&#xa;              interrupt" />
      <BitField start="8" size="1" name="AWD2IE" description="ADC analog watchdog 2&#xa;              interrupt" />
      <BitField start="7" size="1" name="AWD1IE" description="ADC analog watchdog 1&#xa;              interrupt" />
      <BitField start="4" size="1" name="OVRIE" description="ADC group regular overrun&#xa;              interrupt" />
      <BitField start="3" size="1" name="EOSIE" description="ADC group regular end of sequence&#xa;              conversions interrupt" />
      <BitField start="2" size="1" name="EOCIE" description="ADC group regular end of unitary&#xa;              conversion interrupt" />
      <BitField start="1" size="1" name="EOSMPIE" description="ADC group regular end of sampling&#xa;              interrupt" />
      <BitField start="0" size="1" name="ADRDYIE" description="ADC ready interrupt" />
    </Register>
    <Register start="+0x8" size="0" name="CR" access="Read/Write" description="ADC control register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="31" size="1" name="ADCAL" description="ADC calibration" />
      <BitField start="28" size="1" name="ADVREGEN" description="ADC voltage regulator&#xa;              enable" />
      <BitField start="4" size="1" name="ADSTP" description="ADC group regular conversion&#xa;              stop" />
      <BitField start="2" size="1" name="ADSTART" description="ADC group regular conversion&#xa;              start" />
      <BitField start="1" size="1" name="ADDIS" description="ADC disable" />
      <BitField start="0" size="1" name="ADEN" description="ADC enable" />
    </Register>
    <Register start="+0xC" size="0" name="CFGR1" access="Read/Write" description="ADC configuration register 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="26" size="5" name="AWDCH1CH" description="ADC analog watchdog 1 monitored channel&#xa;              selection" />
      <BitField start="23" size="1" name="AWD1EN" description="ADC analog watchdog 1 enable on scope&#xa;              ADC group regular" />
      <BitField start="22" size="1" name="AWD1SGL" description="ADC analog watchdog 1 monitoring a&#xa;              single channel or all channels" />
      <BitField start="21" size="1" name="CHSELRMOD" description="Mode selection of the ADC_CHSELR&#xa;              register" />
      <BitField start="16" size="1" name="DISCEN" description="ADC group regular sequencer&#xa;              discontinuous mode" />
      <BitField start="15" size="1" name="AUTOFF" description="Auto-off mode" />
      <BitField start="14" size="1" name="WAIT" description="Wait conversion mode" />
      <BitField start="13" size="1" name="CONT" description="ADC group regular continuous conversion&#xa;              mode" />
      <BitField start="12" size="1" name="OVRMOD" description="ADC group regular overrun&#xa;              configuration" />
      <BitField start="10" size="2" name="EXTEN" description="ADC group regular external trigger&#xa;              polarity" />
      <BitField start="6" size="3" name="EXTSEL" description="ADC group regular external trigger&#xa;              source" />
      <BitField start="5" size="1" name="ALIGN" description="ADC data alignement" />
      <BitField start="3" size="2" name="RES" description="ADC data resolution" />
      <BitField start="2" size="1" name="SCANDIR" description="Scan sequence direction" />
      <BitField start="1" size="1" name="DMACFG" description="ADC DMA transfer&#xa;              configuration" />
      <BitField start="0" size="1" name="DMAEN" description="ADC DMA transfer enable" />
    </Register>
    <Register start="+0x10" size="0" name="CFGR2" access="Read/Write" description="ADC configuration register 2" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="30" size="2" name="CKMODE" description="ADC clock mode" />
      <BitField start="29" size="1" name="LFTRIG" description="Low frequency trigger mode&#xa;              enable" />
      <BitField start="9" size="1" name="TOVS" description="ADC oversampling discontinuous mode&#xa;              (triggered mode) for ADC group regular" />
      <BitField start="5" size="4" name="OVSS" description="ADC oversampling shift" />
      <BitField start="2" size="3" name="OVSR" description="ADC oversampling ratio" />
      <BitField start="0" size="1" name="OVSE" description="ADC oversampler enable on scope ADC&#xa;              group regular" />
    </Register>
    <Register start="+0x14" size="0" name="SMPR" access="Read/Write" description="ADC sampling time register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="3" name="SMP1" description="Sampling time selection" />
      <BitField start="4" size="3" name="SMP2" description="Sampling time selection" />
      <BitField start="8" size="19" name="SMPSEL" description="Channel sampling time&#xa;              selection" />
    </Register>
    <Register start="+0x20" size="0" name="AWD1TR" access="Read/Write" description="watchdog threshold register" reset_value="0x0FFF0000" reset_mask="0xFFFFFFFF">
      <BitField start="16" size="12" name="HT1" description="ADC analog watchdog 1 threshold&#xa;              high" />
      <BitField start="0" size="12" name="LT1" description="ADC analog watchdog 1 threshold&#xa;              low" />
    </Register>
    <Register start="+0x24" size="0" name="AWD2TR" access="Read/Write" description="watchdog threshold register" reset_value="0x0FFF0000" reset_mask="0xFFFFFFFF">
      <BitField start="16" size="12" name="HT2" description="ADC analog watchdog 2 threshold&#xa;              high" />
      <BitField start="0" size="12" name="LT2" description="ADC analog watchdog 2 threshold&#xa;              low" />
    </Register>
    <Register start="+0x28" size="0" name="CHSELR" access="Read/Write" description="channel selection register" reset_value="0x0FFF0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="19" name="CHSEL" description="Channel-x selection" />
    </Register>
    <Register start="+0x28" size="0" name="CHSELR_1" access="Read/Write" description="channel selection register CHSELRMOD = 1 in&#xa;          ADC_CFGR1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="4" name="SQ1" description="conversion of the sequence" />
      <BitField start="4" size="4" name="SQ2" description="conversion of the sequence" />
      <BitField start="8" size="4" name="SQ3" description="conversion of the sequence" />
      <BitField start="12" size="4" name="SQ4" description="conversion of the sequence" />
      <BitField start="16" size="4" name="SQ5" description="conversion of the sequence" />
      <BitField start="20" size="4" name="SQ6" description="conversion of the sequence" />
      <BitField start="24" size="4" name="SQ7" description="conversion of the sequence" />
      <BitField start="28" size="4" name="SQ8" description="conversion of the sequence" />
    </Register>
    <Register start="+0x2C" size="0" name="AWD3TR" access="Read/Write" description="watchdog threshold register" reset_value="0x0FFF0000" reset_mask="0xFFFFFFFF">
      <BitField start="16" size="12" name="HT3" description="ADC analog watchdog 3 threshold&#xa;              high" />
      <BitField start="0" size="12" name="LT3" description="ADC analog watchdog 3 threshold&#xa;              high" />
    </Register>
    <Register start="+0x40" size="0" name="DR" access="ReadOnly" description="ADC group regular conversion data&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="16" name="regularDATA" description="ADC group regular conversion&#xa;              data" />
    </Register>
    <Register start="+0xA0" size="0" name="AWD2CR" access="Read/Write" description="ADC analog watchdog 2 configuration&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="19" name="AWD2CH" description="ADC analog watchdog 2 monitored channel&#xa;              selection" />
    </Register>
    <Register start="+0xA4" size="0" name="AWD3CR" access="Read/Write" description="ADC analog watchdog 3 configuration&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="19" name="AWD3CH" description="ADC analog watchdog 3 monitored channel&#xa;              selection" />
    </Register>
    <Register start="+0xB4" size="0" name="CALFACT" access="Read/Write" description="ADC calibration factors&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="7" name="CALFACT" description="ADC calibration factor in single-ended&#xa;              mode" />
    </Register>
    <Register start="+0x308" size="0" name="CCR" access="Read/Write" description="ADC common control register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="18" size="4" name="PRESC" description="ADC prescaler" />
      <BitField start="22" size="1" name="VREFEN" description="VREFINT enable" />
      <BitField start="23" size="1" name="TSEN" description="Temperature sensor enable" />
      <BitField start="24" size="1" name="VBATEN" description="VBAT enable" />
    </Register>
    <Register start="+0x3D8" size="0" name="HWCFGR6" access="Read/Write" description="Hardware Configuration&#xa;          Register" reset_value="0x1F1F1F11F" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="5" name="CHMAP20" description="Input channel mapping" />
      <BitField start="8" size="5" name="CHMAP21" description="Input channel mapping" />
      <BitField start="16" size="5" name="CHMAP22" description="Input channel mapping" />
      <BitField start="24" size="5" name="CHMAP23" description="Input channel mapping" />
    </Register>
    <Register start="+0x3DC" size="0" name="HWCFGR5" access="Read/Write" description="Hardware Configuration&#xa;          Register" reset_value="0x1F080807" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="5" name="CHMAP19" description="Input channel mapping" />
      <BitField start="8" size="5" name="CHMAP18" description="Input channel mapping" />
      <BitField start="16" size="5" name="CHMAP17" description="Input channel mapping" />
      <BitField start="24" size="5" name="CHMAP16" description="Input channel mapping" />
    </Register>
    <Register start="+0x3E0" size="0" name="HWCFGR4" access="Read/Write" description="Hardware Configuration&#xa;          Register" reset_value="0x070B0A09" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="5" name="CHMAP15" description="Input channel mapping" />
      <BitField start="8" size="5" name="CHMAP14" description="Input channel mapping" />
      <BitField start="16" size="5" name="CHMAP13" description="Input channel mapping" />
      <BitField start="24" size="5" name="CHMAP12" description="Input channel mapping" />
    </Register>
    <Register start="+0x3E4" size="0" name="HWCFGR3" access="Read/Write" description="Hardware Configuration&#xa;          Register" reset_value="0x07060605" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="5" name="CHMAP11" description="Input channel mapping" />
      <BitField start="8" size="5" name="CHMAP10" description="Input channel mapping" />
      <BitField start="16" size="5" name="CHMAP9" description="Input channel mapping" />
      <BitField start="24" size="5" name="CHMAP8" description="Input channel mapping" />
    </Register>
    <Register start="+0x3E8" size="0" name="HWCFGR2" access="Read/Write" description="Hardware Configuration&#xa;          Register" reset_value="0x05050404" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="5" name="CHMAP7" description="Input channel mapping" />
      <BitField start="8" size="5" name="CHMAP6" description="Input channel mapping" />
      <BitField start="16" size="5" name="CHMAP5" description="Input channel mapping" />
      <BitField start="24" size="5" name="CHMAP4" description="Input channel mapping" />
    </Register>
    <Register start="+0x3EC" size="0" name="HWCFGR1" access="Read/Write" description="Hardware Configuration&#xa;          Register" reset_value="0x03020100" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="5" name="CHMAP3" description="Input channel mapping" />
      <BitField start="8" size="5" name="CHMAP2" description="Input channel mapping" />
      <BitField start="16" size="5" name="CHMAP1" description="Input channel mapping" />
      <BitField start="24" size="5" name="CHMAP0" description="Input channel mapping" />
    </Register>
    <Register start="+0x3F0" size="0" name="HWCFGR0" access="ReadOnly" description="Hardware Configuration&#xa;          Register" reset_value="0x00000110" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="4" name="NUM_CHAN_24" description="NUM_CHAN_24" />
      <BitField start="4" size="4" name="EXTRA_AWDS" description="Extra analog watchdog" />
      <BitField start="8" size="4" name="OVS" description="Oversampling" />
    </Register>
    <Register start="+0x3F4" size="0" name="VERR" access="ReadOnly" description="EXTI IP Version register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="4" name="MINREV" description="Minor Revision number" />
      <BitField start="4" size="4" name="MAJREV" description="Major Revision number" />
    </Register>
    <Register start="+0x3F8" size="0" name="IPIDR" access="ReadOnly" description="EXTI Identification register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="IPID" description="IP Identification" />
    </Register>
    <Register start="+0x3FC" size="0" name="SIDR" access="ReadOnly" description="EXTI Size ID register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="SID" description="Size Identification" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="COMP" start="0x40010200" description="COMP1">
    <Register start="+0x0" size="0" name="COMP1_CSR" access="Read/Write" description="Comparator 1 control and status&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="EN" description="COMP channel 1 enable bit" />
      <BitField start="4" size="4" name="INMSEL" description="Comparator 2 signal selector for&#xa;              inverting input INM" />
      <BitField start="8" size="2" name="INPSEL" description="Comparator 2 signal selector for&#xa;              non-inverting input" />
      <BitField start="11" size="1" name="WINMODE" description="Comparator 2 non-inverting input&#xa;              selector for window mode" />
      <BitField start="14" size="1" name="WINOUT" description="Comparator 2 output&#xa;              selector" />
      <BitField start="15" size="1" name="POLARITY" description="Comparator 2 polarity&#xa;              selector" />
      <BitField start="16" size="2" name="HYST" description="Comparator 2 hysteresis&#xa;              selector" />
      <BitField start="18" size="2" name="PWRMODE" description="Comparator 2 power mode&#xa;              selector" />
      <BitField start="20" size="5" name="BLANKSEL" description="Comparator 2 blanking source&#xa;              selector" />
      <BitField start="30" size="1" name="VALUE" description="Comparator 2 output status" />
      <BitField start="31" size="1" name="LOCK" description="COMP2_CSR register lock" />
    </Register>
    <Register start="+0x4" size="0" name="COMP2_CSR" access="Read/Write" description="Comparator 2 control and status&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="EN" description="COMP channel 1 enable bit" />
      <BitField start="4" size="4" name="INMSEL" description="Comparator 2 signal selector for&#xa;              inverting input INM" />
      <BitField start="8" size="2" name="INPSEL" description="Comparator 2 signal selector for&#xa;              non-inverting input" />
      <BitField start="11" size="1" name="WINMODE" description="Comparator 2 non-inverting input&#xa;              selector for window mode" />
      <BitField start="14" size="1" name="WINOUT" description="Comparator 2 output&#xa;              selector" />
      <BitField start="15" size="1" name="POLARITY" description="Comparator 2 polarity&#xa;              selector" />
      <BitField start="16" size="2" name="HYST" description="Comparator 2 hysteresis&#xa;              selector" />
      <BitField start="18" size="2" name="PWRMODE" description="Comparator 2 power mode&#xa;              selector" />
      <BitField start="20" size="5" name="BLANKSEL" description="Comparator 2 blanking source&#xa;              selector" />
      <BitField start="30" size="1" name="VALUE" description="Comparator 2 output status" />
      <BitField start="31" size="1" name="LOCK" description="COMP2_CSR register lock" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="SYSCFG_VREFBUF" start="0x40010000" description="System configuration controller">
    <Register start="+0x30" size="0" name="VREFBUF_CSR" access="Read/Write" description="VREFBUF control and status&#xa;          register" reset_value="0x00000002" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="ENVR" description="Voltage reference buffer mode enable&#xa;              This bit is used to enable the voltage reference&#xa;              buffer mode." />
      <BitField start="1" size="1" name="HIZ" description="High impedance mode This bit controls&#xa;              the analog switch to connect or not the VREF+ pin.&#xa;              Refer to Table196: VREF buffer modes for the mode&#xa;              descriptions depending on ENVR bit&#xa;              configuration." />
      <BitField start="3" size="1" name="VRR" description="Voltage reference buffer&#xa;              ready" />
      <BitField start="4" size="3" name="VRS" description="Voltage reference scale These bits&#xa;              select the value generated by the voltage reference&#xa;              buffer. Other: Reserved" />
    </Register>
    <Register start="+0x34" size="0" name="VREFBUF_CCR" access="Read/Write" description="VREFBUF calibration control&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="6" name="TRIM" description="Trimming code These bits are&#xa;              automatically initialized after reset with the&#xa;              trimming value stored in the Flash memory during the&#xa;              production test. Writing into these bits allows to&#xa;              tune the internal reference buffer&#xa;              voltage." />
    </Register>
    <Register start="+0x0" size="0" name="CFGR1" access="Read/Write" description="SYSCFG configuration register&#xa;          1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="22" size="2" name="I2C_PAx_FMP" description="Fast Mode Plus (FM+) driving capability&#xa;              activation bits" />
      <BitField start="21" size="1" name="I2C2_FMP" description="FM+ driving capability activation for&#xa;              I2C2" />
      <BitField start="20" size="1" name="I2C1_FMP" description="FM+ driving capability activation for&#xa;              I2C1" />
      <BitField start="16" size="4" name="I2C_PBx_FMP" description="Fast Mode Plus (FM+) driving capability&#xa;              activation bits" />
      <BitField start="10" size="1" name="UCPD2_STROBE" description="Strobe signal bit for&#xa;              UCPD2" />
      <BitField start="9" size="1" name="UCPD1_STROBE" description="Strobe signal bit for&#xa;              UCPD1" />
      <BitField start="8" size="1" name="BOOSTEN" description="I/O analog switch voltage booster&#xa;              enable" />
      <BitField start="6" size="2" name="IR_MOD" description="IR Modulation Envelope signal&#xa;              selection." />
      <BitField start="5" size="1" name="IR_POL" description="IR output polarity&#xa;              selection" />
      <BitField start="4" size="1" name="PA11_PA12_RMP" description="PA11 and PA12 remapping&#xa;              bit." />
      <BitField start="0" size="2" name="MEM_MODE" description="Memory mapping selection&#xa;              bits" />
    </Register>
    <Register start="+0x18" size="0" name="CFGR2" access="Read/Write" description="SYSCFG configuration register&#xa;          1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="LOCKUP_LOCK" description="Cortex-M0+ LOCKUP bit enable&#xa;              bit" />
      <BitField start="1" size="1" name="SRAM_PARITY_LOCK" description="SRAM parity lock bit" />
      <BitField start="2" size="1" name="PVD_LOCK" description="PVD lock enable bit" />
      <BitField start="3" size="1" name="ECC_LOCK" description="ECC error lock bit" />
      <BitField start="8" size="1" name="SRAM_PEF" description="SRAM parity error flag" />
    </Register>
    <Register start="+0x80" size="0" name="ITLINE0" access="ReadOnly" description="interrupt line 0 status&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="WWDG" description="Window watchdog interrupt pending&#xa;              flag" />
    </Register>
    <Register start="+0x84" size="0" name="ITLINE1" access="ReadOnly" description="interrupt line 1 status&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="PVDOUT" description="PVD supply monitoring interrupt request&#xa;              pending (EXTI line 16)." />
    </Register>
    <Register start="+0x88" size="0" name="ITLINE2" access="ReadOnly" description="interrupt line 2 status&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="TAMP" description="TAMP" />
      <BitField start="1" size="1" name="RTC" description="RTC" />
    </Register>
    <Register start="+0x8C" size="0" name="ITLINE3" access="ReadOnly" description="interrupt line 3 status&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="FLASH_ITF" description="FLASH_ITF" />
      <BitField start="1" size="1" name="FLASH_ECC" description="FLASH_ECC" />
    </Register>
    <Register start="+0x90" size="0" name="ITLINE4" access="ReadOnly" description="interrupt line 4 status&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="RCC" description="RCC" />
    </Register>
    <Register start="+0x94" size="0" name="ITLINE5" access="ReadOnly" description="interrupt line 5 status&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="EXTI0" description="EXTI0" />
      <BitField start="1" size="1" name="EXTI1" description="EXTI1" />
    </Register>
    <Register start="+0x98" size="0" name="ITLINE6" access="ReadOnly" description="interrupt line 6 status&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="EXTI2" description="EXTI2" />
      <BitField start="1" size="1" name="EXTI3" description="EXTI3" />
    </Register>
    <Register start="+0x9C" size="0" name="ITLINE7" access="ReadOnly" description="interrupt line 7 status&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="EXTI4" description="EXTI4" />
      <BitField start="1" size="1" name="EXTI5" description="EXTI5" />
      <BitField start="2" size="1" name="EXTI6" description="EXTI6" />
      <BitField start="3" size="1" name="EXTI7" description="EXTI7" />
      <BitField start="4" size="1" name="EXTI8" description="EXTI8" />
      <BitField start="5" size="1" name="EXTI9" description="EXTI9" />
      <BitField start="6" size="1" name="EXTI10" description="EXTI10" />
      <BitField start="7" size="1" name="EXTI11" description="EXTI11" />
      <BitField start="8" size="1" name="EXTI12" description="EXTI12" />
      <BitField start="9" size="1" name="EXTI13" description="EXTI13" />
      <BitField start="10" size="1" name="EXTI14" description="EXTI14" />
      <BitField start="11" size="1" name="EXTI15" description="EXTI15" />
    </Register>
    <Register start="+0xA0" size="0" name="ITLINE8" access="ReadOnly" description="interrupt line 8 status&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="UCPD1" description="UCPD1" />
      <BitField start="1" size="1" name="UCPD2" description="UCPD2" />
    </Register>
    <Register start="+0xA4" size="0" name="ITLINE9" access="ReadOnly" description="interrupt line 9 status&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="DMA1_CH1" description="DMA1_CH1" />
    </Register>
    <Register start="+0xA8" size="0" name="ITLINE10" access="ReadOnly" description="interrupt line 10 status&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="DMA1_CH2" description="DMA1_CH1" />
      <BitField start="1" size="1" name="DMA1_CH3" description="DMA1_CH3" />
    </Register>
    <Register start="+0xAC" size="0" name="ITLINE11" access="ReadOnly" description="interrupt line 11 status&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="DMAMUX" description="DMAMUX" />
      <BitField start="1" size="1" name="DMA1_CH4" description="DMA1_CH4" />
      <BitField start="2" size="1" name="DMA1_CH5" description="DMA1_CH5" />
      <BitField start="3" size="1" name="DMA1_CH6" description="DMA1_CH6" />
      <BitField start="4" size="1" name="DMA1_CH7" description="DMA1_CH7" />
    </Register>
    <Register start="+0xB0" size="0" name="ITLINE12" access="ReadOnly" description="interrupt line 12 status&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="ADC" description="ADC" />
      <BitField start="1" size="1" name="COMP1" description="COMP1" />
      <BitField start="2" size="1" name="COMP2" description="COMP2" />
    </Register>
    <Register start="+0xB4" size="0" name="ITLINE13" access="ReadOnly" description="interrupt line 13 status&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="TIM1_CCU" description="TIM1_CCU" />
      <BitField start="1" size="1" name="TIM1_TRG" description="TIM1_TRG" />
      <BitField start="2" size="1" name="TIM1_UPD" description="TIM1_UPD" />
      <BitField start="3" size="1" name="TIM1_BRK" description="TIM1_BRK" />
    </Register>
    <Register start="+0xB8" size="0" name="ITLINE14" access="ReadOnly" description="interrupt line 14 status&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="TIM1_CC" description="TIM1_CC" />
    </Register>
    <Register start="+0xBC" size="0" name="ITLINE15" access="ReadOnly" description="interrupt line 15 status&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="TIM2" description="TIM2" />
    </Register>
    <Register start="+0xC0" size="0" name="ITLINE16" access="ReadOnly" description="interrupt line 16 status&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="TIM3" description="TIM3" />
    </Register>
    <Register start="+0xC4" size="0" name="ITLINE17" access="ReadOnly" description="interrupt line 17 status&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="TIM6" description="TIM6" />
      <BitField start="1" size="1" name="DAC" description="DAC" />
      <BitField start="2" size="1" name="LPTIM1" description="LPTIM1" />
    </Register>
    <Register start="+0xC8" size="0" name="ITLINE18" access="ReadOnly" description="interrupt line 18 status&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="TIM7" description="TIM7" />
      <BitField start="1" size="1" name="LPTIM2" description="LPTIM2" />
    </Register>
    <Register start="+0xCC" size="0" name="ITLINE19" access="ReadOnly" description="interrupt line 19 status&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="TIM14" description="TIM14" />
    </Register>
    <Register start="+0xD0" size="0" name="ITLINE20" access="ReadOnly" description="interrupt line 20 status&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="TIM15" description="TIM15" />
    </Register>
    <Register start="+0xD4" size="0" name="ITLINE21" access="ReadOnly" description="interrupt line 21 status&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="TIM16" description="TIM16" />
    </Register>
    <Register start="+0xD8" size="0" name="ITLINE22" access="ReadOnly" description="interrupt line 22 status&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="TIM17" description="TIM17" />
    </Register>
    <Register start="+0xDC" size="0" name="ITLINE23" access="ReadOnly" description="interrupt line 23 status&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="I2C1" description="I2C1" />
    </Register>
    <Register start="+0xE0" size="0" name="ITLINE24" access="ReadOnly" description="interrupt line 24 status&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="I2C2" description="I2C2" />
    </Register>
    <Register start="+0xE4" size="0" name="ITLINE25" access="ReadOnly" description="interrupt line 25 status&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="SPI1" description="SPI1" />
    </Register>
    <Register start="+0xE8" size="0" name="ITLINE26" access="ReadOnly" description="interrupt line 26 status&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="SPI2" description="SPI2" />
    </Register>
    <Register start="+0xEC" size="0" name="ITLINE27" access="ReadOnly" description="interrupt line 27 status&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="USART1" description="USART1" />
    </Register>
    <Register start="+0xF0" size="0" name="ITLINE28" access="ReadOnly" description="interrupt line 28 status&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="USART2" description="USART2" />
    </Register>
    <Register start="+0xF4" size="0" name="ITLINE29" access="ReadOnly" description="interrupt line 29 status&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="USART3" description="USART3" />
      <BitField start="1" size="1" name="USART4" description="USART4" />
      <BitField start="2" size="1" name="USART5" description="USART5" />
    </Register>
    <Register start="+0xF8" size="0" name="ITLINE30" access="ReadOnly" description="interrupt line 30 status&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="USART2" description="CEC" />
    </Register>
    <Register start="+0xFC" size="0" name="ITLINE31" access="ReadOnly" description="interrupt line 31 status&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="RNG" description="RNG" />
      <BitField start="1" size="1" name="AES" description="AES" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="TAMP" start="0x4000B000" description="Tamper and backup registers">
    <Register start="+0x0" size="0" name="CR1" access="Read/Write" description="control register 1" reset_value="0xFFFF0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="TAMP1E" description="TAMP1E" />
      <BitField start="1" size="1" name="TAMP2E" description="TAMP2E" />
      <BitField start="16" size="1" name="ITAMP1E" description="ITAMP1E" />
      <BitField start="18" size="1" name="ITAMP3E" description="ITAMP3E" />
      <BitField start="19" size="1" name="ITAMP4E" description="ITAMP4E" />
      <BitField start="20" size="1" name="ITAMP5E" description="ITAMP5E" />
      <BitField start="21" size="1" name="ITAMP6E" description="ITAMP6E" />
    </Register>
    <Register start="+0x4" size="0" name="CR2" access="Read/Write" description="control register 2" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="TAMP1NOER" description="TAMP1NOER" />
      <BitField start="1" size="1" name="TAMP2NOER" description="TAMP2NOER" />
      <BitField start="16" size="1" name="TAMP1MSK" description="TAMP1MSK" />
      <BitField start="17" size="1" name="TAMP2MSK" description="TAMP2MSK" />
      <BitField start="24" size="1" name="TAMP1TRG" description="TAMP1TRG" />
      <BitField start="25" size="1" name="TAMP2TRG" description="TAMP2TRG" />
    </Register>
    <Register start="+0xC" size="0" name="FLTCR" access="Read/Write" description="TAMP filter control register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="3" name="TAMPFREQ" description="TAMPFREQ" />
      <BitField start="3" size="2" name="TAMPFLT" description="TAMPFLT" />
      <BitField start="5" size="2" name="TAMPPRCH" description="TAMPPRCH" />
      <BitField start="7" size="1" name="TAMPPUDIS" description="TAMPPUDIS" />
    </Register>
    <Register start="+0x2C" size="0" name="IER" access="Read/Write" description="TAMP interrupt enable register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="TAMP1IE" description="TAMP1IE" />
      <BitField start="1" size="1" name="TAMP2IE" description="TAMP2IE" />
      <BitField start="16" size="1" name="ITAMP1IE" description="ITAMP1IE" />
      <BitField start="18" size="1" name="ITAMP3IE" description="ITAMP3IE" />
      <BitField start="19" size="1" name="ITAMP4IE" description="ITAMP4IE" />
      <BitField start="20" size="1" name="ITAMP5IE" description="ITAMP5IE" />
      <BitField start="21" size="1" name="ITAMP6IE" description="ITAMP6IE" />
    </Register>
    <Register start="+0x30" size="0" name="SR" access="ReadOnly" description="TAMP status register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="TAMP1F" description="TAMP1F" />
      <BitField start="1" size="1" name="TAMP2F" description="TAMP2F" />
      <BitField start="16" size="1" name="ITAMP1F" description="ITAMP1F" />
      <BitField start="18" size="1" name="ITAMP3F" description="ITAMP3F" />
      <BitField start="19" size="1" name="ITAMP4F" description="ITAMP4F" />
      <BitField start="20" size="1" name="ITAMP5F" description="ITAMP5F" />
      <BitField start="21" size="1" name="ITAMP6F" description="ITAMP6F" />
      <BitField start="22" size="1" name="ITAMP7F" description="ITAMP7F" />
    </Register>
    <Register start="+0x34" size="0" name="MISR" access="ReadOnly" description="TAMP masked interrupt status&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="TAMP1MF" description="TAMP1MF:" />
      <BitField start="1" size="1" name="TAMP2MF" description="TAMP2MF" />
      <BitField start="16" size="1" name="ITAMP1MF" description="ITAMP1MF" />
      <BitField start="18" size="1" name="ITAMP3MF" description="ITAMP3MF" />
      <BitField start="19" size="1" name="ITAMP4MF" description="ITAMP4MF" />
      <BitField start="20" size="1" name="ITAMP5MF" description="ITAMP5MF" />
      <BitField start="21" size="1" name="ITAMP6MF" description="ITAMP6MF" />
    </Register>
    <Register start="+0x3C" size="0" name="SCR" access="WriteOnly" description="TAMP status clear register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="CTAMP1F" description="CTAMP1F" />
      <BitField start="1" size="1" name="CTAMP2F" description="CTAMP2F" />
      <BitField start="16" size="1" name="CITAMP1F" description="CITAMP1F" />
      <BitField start="18" size="1" name="CITAMP3F" description="CITAMP3F" />
      <BitField start="19" size="1" name="CITAMP4F" description="CITAMP4F" />
      <BitField start="20" size="1" name="CITAMP5F" description="CITAMP5F" />
      <BitField start="21" size="1" name="CITAMP6F" description="CITAMP6F" />
      <BitField start="22" size="1" name="CITAMP7F" description="CITAMP7F" />
    </Register>
    <Register start="+0x100" size="0" name="BKP0R" access="Read/Write" description="TAMP backup register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="BKP" description="BKP" />
    </Register>
    <Register start="+0x104" size="0" name="BKP1R" access="Read/Write" description="TAMP backup register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="BKP" description="BKP" />
    </Register>
    <Register start="+0x108" size="0" name="BKP2R" access="Read/Write" description="TAMP backup register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="BKP" description="BKP" />
    </Register>
    <Register start="+0x10C" size="0" name="BKP3R" access="Read/Write" description="TAMP backup register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="BKP" description="BKP" />
    </Register>
    <Register start="+0x110" size="0" name="BKP4R" access="Read/Write" description="TAMP backup register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="BKP" description="BKP" />
    </Register>
    <Register start="+0x3EC" size="0" name="HWCFGR2" access="ReadOnly" description="TAMP hardware configuration register&#xa;          2" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="8" name="PTIONREG_OUT" description="PTIONREG_OUT" />
      <BitField start="8" size="4" name="TRUST_ZONE" description="TRUST_ZONE" />
    </Register>
    <Register start="+0x3F0" size="0" name="HWCFGR1" access="ReadOnly" description="TAMP hardware configuration register&#xa;          1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="8" name="BACKUP_REGS" description="BACKUP_REGS" />
      <BitField start="8" size="4" name="TAMPER" description="TAMPER" />
      <BitField start="12" size="4" name="ACTIVE_TAMPER" description="ACTIVE_TAMPER" />
      <BitField start="16" size="16" name="INT_TAMPER" description="INT_TAMPER" />
    </Register>
    <Register start="+0x3F4" size="0" name="VERR" access="ReadOnly" description="EXTI IP Version register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="4" name="MINREV" description="Minor Revision number" />
      <BitField start="4" size="4" name="MAJREV" description="Major Revision number" />
    </Register>
    <Register start="+0x3F8" size="0" name="IPIDR" access="ReadOnly" description="EXTI Identification register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="IPID" description="IP Identification" />
    </Register>
    <Register start="+0x3FC" size="0" name="SIDR" access="ReadOnly" description="EXTI Size ID register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="SID" description="Size Identification" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="UCPD1" start="0x4000A000" description="USB Power Delivery interface">
    <Register start="+0x0" size="0" name="CFG1" access="Read/Write" description="UCPD configuration register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="6" name="HBITCLKDIV" description="HBITCLKDIV" />
      <BitField start="6" size="5" name="IFRGAP" description="IFRGAP" />
      <BitField start="11" size="5" name="TRANSWIN" description="TRANSWIN" />
      <BitField start="17" size="3" name="PSC_USBPDCLK" description="PSC_USBPDCLK" />
      <BitField start="20" size="9" name="RXORDSETEN" description="RXORDSETEN" />
      <BitField start="29" size="1" name="TXDMAEN" description="TXDMAEN" />
      <BitField start="30" size="1" name="RXDMAEN" description="RXDMAEN:" />
      <BitField start="31" size="1" name="UCPDEN" description="UCPDEN" />
    </Register>
    <Register start="+0x4" size="0" name="CFG2" access="Read/Write" description="UCPD configuration register 2" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="RXFILTDIS" description="RXFILTDIS" />
      <BitField start="1" size="1" name="RXFILT2N3" description="RXFILT2N3" />
      <BitField start="2" size="1" name="FORCECLK" description="FORCECLK" />
      <BitField start="3" size="1" name="WUPEN" description="WUPEN" />
    </Register>
    <Register start="+0x8" size="0" name="CFG3" access="Read/Write" description="UCPD configuration register 3" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="4" name="TRIM1_NG_CCRPD" description="TRIM1_NG_CCRPD" />
      <BitField start="4" size="5" name="TRIM1_NG_CC1A5" description="TRIM1_NG_CC1A5" />
      <BitField start="9" size="4" name="TRIM1_NG_CC3A0" description="TRIM1_NG_CC3A0" />
      <BitField start="16" size="4" name="TRIM2_NG_CCRPD" description="TRIM2_NG_CCRPD" />
      <BitField start="20" size="5" name="TRIM2_NG_CC1A5" description="TRIM2_NG_CC1A5" />
      <BitField start="25" size="4" name="TRIM2_NG_CC3A0" description="TRIM2_NG_CC3A0" />
    </Register>
    <Register start="+0xC" size="0" name="CR" access="Read/Write" description="UCPD control register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="2" name="TXMODE" description="TXMODE" />
      <BitField start="2" size="1" name="TXSEND" description="TXSEND" />
      <BitField start="3" size="1" name="TXHRST" description="TXHRST" />
      <BitField start="4" size="1" name="RXMODE" description="RXMODE" />
      <BitField start="5" size="1" name="PHYRXEN" description="PHYRXEN" />
      <BitField start="6" size="1" name="PHYCCSEL" description="PHYCCSEL" />
      <BitField start="7" size="2" name="ANASUBMODE" description="ANASUBMODE" />
      <BitField start="9" size="1" name="ANAMODE" description="ANAMODE" />
      <BitField start="10" size="2" name="CCENABLE" description="CCENABLE" />
      <BitField start="15" size="1" name="DBATTEN" description="DBATTEN" />
      <BitField start="16" size="1" name="FRSRXEN" description="FRSRXEN" />
      <BitField start="17" size="1" name="FRSTX" description="FRSTX" />
      <BitField start="18" size="1" name="RDCH" description="RDCH" />
      <BitField start="20" size="1" name="CC1TCDIS" description="CC1TCDIS" />
      <BitField start="21" size="1" name="CC2TCDIS" description="CC2TCDIS" />
    </Register>
    <Register start="+0x10" size="0" name="IMR" access="Read/Write" description="UCPD Interrupt Mask Register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="TXISIE" description="TXISIE" />
      <BitField start="1" size="1" name="TXMSGDISCIE" description="TXMSGDISCIE" />
      <BitField start="2" size="1" name="TXMSGSENTIE" description="TXMSGSENTIE" />
      <BitField start="3" size="1" name="TXMSGABTIE" description="TXMSGABTIE" />
      <BitField start="4" size="1" name="HRSTDISCIE" description="HRSTDISCIE" />
      <BitField start="5" size="1" name="HRSTSENTIE" description="HRSTSENTIE" />
      <BitField start="6" size="1" name="TXUNDIE" description="TXUNDIE" />
      <BitField start="8" size="1" name="RXNEIE" description="RXNEIE" />
      <BitField start="9" size="1" name="RXORDDETIE" description="RXORDDETIE" />
      <BitField start="10" size="1" name="RXHRSTDETIE" description="RXHRSTDETIE" />
      <BitField start="11" size="1" name="RXOVRIE" description="RXOVRIE" />
      <BitField start="12" size="1" name="RXMSGENDIE" description="RXMSGENDIE" />
      <BitField start="14" size="1" name="TYPECEVT1IE" description="TYPECEVT1IE" />
      <BitField start="15" size="1" name="TYPECEVT2IE" description="TYPECEVT2IE" />
      <BitField start="20" size="1" name="FRSEVTIE" description="FRSEVTIE" />
    </Register>
    <Register start="+0x14" size="0" name="SR" access="ReadOnly" description="UCPD Status Register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="TXIS" description="TXIS" />
      <BitField start="1" size="1" name="TXMSGDISC" description="TXMSGDISC" />
      <BitField start="2" size="1" name="TXMSGSENT" description="TXMSGSENT" />
      <BitField start="3" size="1" name="TXMSGABT" description="TXMSGABT" />
      <BitField start="4" size="1" name="HRSTDISC" description="HRSTDISC" />
      <BitField start="5" size="1" name="HRSTSENT" description="HRSTSENT" />
      <BitField start="6" size="1" name="TXUND" description="TXUND" />
      <BitField start="8" size="1" name="RXNE" description="RXNE" />
      <BitField start="9" size="1" name="RXORDDET" description="RXORDDET" />
      <BitField start="10" size="1" name="RXHRSTDET" description="RXHRSTDET" />
      <BitField start="11" size="1" name="RXOVR" description="RXOVR" />
      <BitField start="12" size="1" name="RXMSGEND" description="RXMSGEND" />
      <BitField start="13" size="1" name="RXERR" description="RXERR" />
      <BitField start="14" size="1" name="TYPECEVT1" description="TYPECEVT1" />
      <BitField start="15" size="1" name="TYPECEVT2" description="TYPECEVT2" />
      <BitField start="16" size="2" name="TYPEC_VSTATE_CC1" description="TYPEC_VSTATE_CC1" />
      <BitField start="18" size="2" name="TYPEC_VSTATE_CC2" description="TYPEC_VSTATE_CC2" />
      <BitField start="20" size="1" name="FRSEVT" description="FRSEVT" />
    </Register>
    <Register start="+0x18" size="0" name="ICR" access="Read/Write" description="UCPD Interrupt Clear Register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="1" size="1" name="TXMSGDISCCF" description="TXMSGDISCCF" />
      <BitField start="2" size="1" name="TXMSGSENTCF" description="TXMSGSENTCF" />
      <BitField start="3" size="1" name="TXMSGABTCF" description="TXMSGABTCF" />
      <BitField start="4" size="1" name="HRSTDISCCF" description="HRSTDISCCF" />
      <BitField start="5" size="1" name="HRSTSENTCF" description="HRSTSENTCF" />
      <BitField start="6" size="1" name="TXUNDCF" description="TXUNDCF" />
      <BitField start="9" size="1" name="RXORDDETCF" description="RXORDDETCF" />
      <BitField start="10" size="1" name="RXHRSTDETCF" description="RXHRSTDETCF" />
      <BitField start="11" size="1" name="RXOVRCF" description="RXOVRCF" />
      <BitField start="12" size="1" name="RXMSGENDCF" description="RXMSGENDCF" />
      <BitField start="14" size="1" name="TYPECEVT1CF" description="TYPECEVT1CF" />
      <BitField start="15" size="1" name="TYPECEVT2CF" description="TYPECEVT2CF" />
      <BitField start="20" size="1" name="FRSEVTCF" description="FRSEVTCF" />
    </Register>
    <Register start="+0x1C" size="0" name="TX_ORDSET" access="Read/Write" description="UCPD Tx Ordered Set Type&#xa;          Register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="20" name="TXORDSET" description="TXORDSET" />
    </Register>
    <Register start="+0x20" size="0" name="TX_PAYSZ" access="Read/Write" description="UCPD Tx Paysize Register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="10" name="TXPAYSZ" description="TXPAYSZ" />
    </Register>
    <Register start="+0x24" size="0" name="TXDR" access="Read/Write" description="UCPD Tx Data Register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="8" name="TXDATA" description="TXDATA" />
    </Register>
    <Register start="+0x28" size="0" name="RX_ORDSET" access="ReadOnly" description="UCPD Rx Ordered Set Register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="3" name="RXORDSET" description="RXORDSET" />
      <BitField start="3" size="1" name="RXSOP3OF4" description="RXSOP3OF4" />
      <BitField start="4" size="3" name="RXSOPKINVALID" description="RXSOPKINVALID" />
    </Register>
    <Register start="+0x2C" size="0" name="RX_PAYSZ" access="Read/Write" description="UCPD Rx Paysize Register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="10" name="RXPAYSZ" description="RXPAYSZ" />
    </Register>
    <Register start="+0x30" size="0" name="RXDR" access="ReadOnly" description="UCPD Receive Data Register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="8" name="RXDATA" description="RXDATA" />
    </Register>
    <Register start="+0x34" size="0" name="RX_ORDEXT1" access="Read/Write" description="UCPD Rx Ordered Set Extension&#xa;          Register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="20" name="RXSOPX1" description="RXSOPX1" />
    </Register>
    <Register start="+0x38" size="0" name="RX_ORDEXT2" access="Read/Write" description="UCPD Rx Ordered Set Extension&#xa;          Register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="20" name="RXSOPX2" description="RXSOPX2" />
    </Register>
    <Register start="+0x3F4" size="0" name="IPVER" access="ReadOnly" description="UCPD IP ID register" reset_value="0x00000010" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="IPVER" description="IPVER" />
    </Register>
    <Register start="+0x3F8" size="0" name="IPID" access="ReadOnly" description="UCPD IP ID register" reset_value="0x00150021" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="IPID" description="IPID" />
    </Register>
    <Register start="+0x3FC" size="0" name="MID" access="ReadOnly" description="UCPD IP ID register" reset_value="0xA3C5DD01" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="IPID" description="IPID" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="UCPD2" start="0x4000A400" description="USB Power Delivery interface">
    <Register start="+0x0" size="0" name="CFG1" access="Read/Write" description="UCPD configuration register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="6" name="HBITCLKDIV" description="HBITCLKDIV" />
      <BitField start="6" size="5" name="IFRGAP" description="IFRGAP" />
      <BitField start="11" size="5" name="TRANSWIN" description="TRANSWIN" />
      <BitField start="17" size="3" name="PSC_USBPDCLK" description="PSC_USBPDCLK" />
      <BitField start="20" size="9" name="RXORDSETEN" description="RXORDSETEN" />
      <BitField start="29" size="1" name="TXDMAEN" description="TXDMAEN" />
      <BitField start="30" size="1" name="RXDMAEN" description="RXDMAEN:" />
      <BitField start="31" size="1" name="UCPDEN" description="UCPDEN" />
    </Register>
    <Register start="+0x4" size="0" name="CFG2" access="Read/Write" description="UCPD configuration register 2" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="RXFILTDIS" description="RXFILTDIS" />
      <BitField start="1" size="1" name="RXFILT2N3" description="RXFILT2N3" />
      <BitField start="2" size="1" name="FORCECLK" description="FORCECLK" />
      <BitField start="3" size="1" name="WUPEN" description="WUPEN" />
    </Register>
    <Register start="+0x8" size="0" name="CFG3" access="Read/Write" description="UCPD configuration register 3" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="4" name="TRIM1_NG_CCRPD" description="TRIM1_NG_CCRPD" />
      <BitField start="4" size="5" name="TRIM1_NG_CC1A5" description="TRIM1_NG_CC1A5" />
      <BitField start="9" size="4" name="TRIM1_NG_CC3A0" description="TRIM1_NG_CC3A0" />
      <BitField start="16" size="4" name="TRIM2_NG_CCRPD" description="TRIM2_NG_CCRPD" />
      <BitField start="20" size="5" name="TRIM2_NG_CC1A5" description="TRIM2_NG_CC1A5" />
      <BitField start="25" size="4" name="TRIM2_NG_CC3A0" description="TRIM2_NG_CC3A0" />
    </Register>
    <Register start="+0xC" size="0" name="CR" access="Read/Write" description="UCPD control register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="2" name="TXMODE" description="TXMODE" />
      <BitField start="2" size="1" name="TXSEND" description="TXSEND" />
      <BitField start="3" size="1" name="TXHRST" description="TXHRST" />
      <BitField start="4" size="1" name="RXMODE" description="RXMODE" />
      <BitField start="5" size="1" name="PHYRXEN" description="PHYRXEN" />
      <BitField start="6" size="1" name="PHYCCSEL" description="PHYCCSEL" />
      <BitField start="7" size="2" name="ANASUBMODE" description="ANASUBMODE" />
      <BitField start="9" size="1" name="ANAMODE" description="ANAMODE" />
      <BitField start="10" size="2" name="CCENABLE" description="CCENABLE" />
      <BitField start="15" size="1" name="DBATTEN" description="DBATTEN" />
      <BitField start="16" size="1" name="FRSRXEN" description="FRSRXEN" />
      <BitField start="17" size="1" name="FRSTX" description="FRSTX" />
      <BitField start="18" size="1" name="RDCH" description="RDCH" />
      <BitField start="20" size="1" name="CC1TCDIS" description="CC1TCDIS" />
      <BitField start="21" size="1" name="CC2TCDIS" description="CC2TCDIS" />
    </Register>
    <Register start="+0x10" size="0" name="IMR" access="Read/Write" description="UCPD Interrupt Mask Register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="TXISIE" description="TXISIE" />
      <BitField start="1" size="1" name="TXMSGDISCIE" description="TXMSGDISCIE" />
      <BitField start="2" size="1" name="TXMSGSENTIE" description="TXMSGSENTIE" />
      <BitField start="3" size="1" name="TXMSGABTIE" description="TXMSGABTIE" />
      <BitField start="4" size="1" name="HRSTDISCIE" description="HRSTDISCIE" />
      <BitField start="5" size="1" name="HRSTSENTIE" description="HRSTSENTIE" />
      <BitField start="6" size="1" name="TXUNDIE" description="TXUNDIE" />
      <BitField start="8" size="1" name="RXNEIE" description="RXNEIE" />
      <BitField start="9" size="1" name="RXORDDETIE" description="RXORDDETIE" />
      <BitField start="10" size="1" name="RXHRSTDETIE" description="RXHRSTDETIE" />
      <BitField start="11" size="1" name="RXOVRIE" description="RXOVRIE" />
      <BitField start="12" size="1" name="RXMSGENDIE" description="RXMSGENDIE" />
      <BitField start="14" size="1" name="TYPECEVT1IE" description="TYPECEVT1IE" />
      <BitField start="15" size="1" name="TYPECEVT2IE" description="TYPECEVT2IE" />
      <BitField start="20" size="1" name="FRSEVTIE" description="FRSEVTIE" />
    </Register>
    <Register start="+0x14" size="0" name="SR" access="ReadOnly" description="UCPD Status Register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="TXIS" description="TXIS" />
      <BitField start="1" size="1" name="TXMSGDISC" description="TXMSGDISC" />
      <BitField start="2" size="1" name="TXMSGSENT" description="TXMSGSENT" />
      <BitField start="3" size="1" name="TXMSGABT" description="TXMSGABT" />
      <BitField start="4" size="1" name="HRSTDISC" description="HRSTDISC" />
      <BitField start="5" size="1" name="HRSTSENT" description="HRSTSENT" />
      <BitField start="6" size="1" name="TXUND" description="TXUND" />
      <BitField start="8" size="1" name="RXNE" description="RXNE" />
      <BitField start="9" size="1" name="RXORDDET" description="RXORDDET" />
      <BitField start="10" size="1" name="RXHRSTDET" description="RXHRSTDET" />
      <BitField start="11" size="1" name="RXOVR" description="RXOVR" />
      <BitField start="12" size="1" name="RXMSGEND" description="RXMSGEND" />
      <BitField start="13" size="1" name="RXERR" description="RXERR" />
      <BitField start="14" size="1" name="TYPECEVT1" description="TYPECEVT1" />
      <BitField start="15" size="1" name="TYPECEVT2" description="TYPECEVT2" />
      <BitField start="16" size="2" name="TYPEC_VSTATE_CC1" description="TYPEC_VSTATE_CC1" />
      <BitField start="18" size="2" name="TYPEC_VSTATE_CC2" description="TYPEC_VSTATE_CC2" />
      <BitField start="20" size="1" name="FRSEVT" description="FRSEVT" />
    </Register>
    <Register start="+0x18" size="0" name="ICR" access="Read/Write" description="UCPD Interrupt Clear Register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="1" size="1" name="TXMSGDISCCF" description="TXMSGDISCCF" />
      <BitField start="2" size="1" name="TXMSGSENTCF" description="TXMSGSENTCF" />
      <BitField start="3" size="1" name="TXMSGABTCF" description="TXMSGABTCF" />
      <BitField start="4" size="1" name="HRSTDISCCF" description="HRSTDISCCF" />
      <BitField start="5" size="1" name="HRSTSENTCF" description="HRSTSENTCF" />
      <BitField start="6" size="1" name="TXUNDCF" description="TXUNDCF" />
      <BitField start="9" size="1" name="RXORDDETCF" description="RXORDDETCF" />
      <BitField start="10" size="1" name="RXHRSTDETCF" description="RXHRSTDETCF" />
      <BitField start="11" size="1" name="RXOVRCF" description="RXOVRCF" />
      <BitField start="12" size="1" name="RXMSGENDCF" description="RXMSGENDCF" />
      <BitField start="14" size="1" name="TYPECEVT1CF" description="TYPECEVT1CF" />
      <BitField start="15" size="1" name="TYPECEVT2CF" description="TYPECEVT2CF" />
      <BitField start="20" size="1" name="FRSEVTCF" description="FRSEVTCF" />
    </Register>
    <Register start="+0x1C" size="0" name="TX_ORDSET" access="Read/Write" description="UCPD Tx Ordered Set Type&#xa;          Register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="20" name="TXORDSET" description="TXORDSET" />
    </Register>
    <Register start="+0x20" size="0" name="TX_PAYSZ" access="Read/Write" description="UCPD Tx Paysize Register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="10" name="TXPAYSZ" description="TXPAYSZ" />
    </Register>
    <Register start="+0x24" size="0" name="TXDR" access="Read/Write" description="UCPD Tx Data Register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="8" name="TXDATA" description="TXDATA" />
    </Register>
    <Register start="+0x28" size="0" name="RX_ORDSET" access="ReadOnly" description="UCPD Rx Ordered Set Register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="3" name="RXORDSET" description="RXORDSET" />
      <BitField start="3" size="1" name="RXSOP3OF4" description="RXSOP3OF4" />
      <BitField start="4" size="3" name="RXSOPKINVALID" description="RXSOPKINVALID" />
    </Register>
    <Register start="+0x2C" size="0" name="RX_PAYSZ" access="Read/Write" description="UCPD Rx Paysize Register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="10" name="RXPAYSZ" description="RXPAYSZ" />
    </Register>
    <Register start="+0x30" size="0" name="RXDR" access="ReadOnly" description="UCPD Receive Data Register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="8" name="RXDATA" description="RXDATA" />
    </Register>
    <Register start="+0x34" size="0" name="RX_ORDEXT1" access="Read/Write" description="UCPD Rx Ordered Set Extension&#xa;          Register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="20" name="RXSOPX1" description="RXSOPX1" />
    </Register>
    <Register start="+0x38" size="0" name="RX_ORDEXT2" access="Read/Write" description="UCPD Rx Ordered Set Extension&#xa;          Register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="20" name="RXSOPX2" description="RXSOPX2" />
    </Register>
    <Register start="+0x3F4" size="0" name="IPVER" access="ReadOnly" description="UCPD IP ID register" reset_value="0x00000010" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="IPVER" description="IPVER" />
    </Register>
    <Register start="+0x3F8" size="0" name="IPID" access="ReadOnly" description="UCPD IP ID register" reset_value="0x00150021" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="IPID" description="IPID" />
    </Register>
    <Register start="+0x3FC" size="0" name="MID" access="ReadOnly" description="UCPD IP ID register" reset_value="0xA3C5DD01" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="IPID" description="IPID" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="LPTIM1" start="0x40007C00" description="Low power timer">
    <Register start="+0x0" size="0" name="ISR" access="ReadOnly" description="Interrupt and Status Register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="6" size="1" name="DOWN" description="Counter direction change up to&#xa;              down" />
      <BitField start="5" size="1" name="UP" description="Counter direction change down to&#xa;              up" />
      <BitField start="4" size="1" name="ARROK" description="Autoreload register update&#xa;              OK" />
      <BitField start="3" size="1" name="CMPOK" description="Compare register update OK" />
      <BitField start="2" size="1" name="EXTTRIG" description="External trigger edge&#xa;              event" />
      <BitField start="1" size="1" name="ARRM" description="Autoreload match" />
      <BitField start="0" size="1" name="CMPM" description="Compare match" />
    </Register>
    <Register start="+0x4" size="0" name="ICR" access="WriteOnly" description="Interrupt Clear Register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="6" size="1" name="DOWNCF" description="Direction change to down Clear&#xa;              Flag" />
      <BitField start="5" size="1" name="UPCF" description="Direction change to UP Clear&#xa;              Flag" />
      <BitField start="4" size="1" name="ARROKCF" description="Autoreload register update OK Clear&#xa;              Flag" />
      <BitField start="3" size="1" name="CMPOKCF" description="Compare register update OK Clear&#xa;              Flag" />
      <BitField start="2" size="1" name="EXTTRIGCF" description="External trigger valid edge Clear&#xa;              Flag" />
      <BitField start="1" size="1" name="ARRMCF" description="Autoreload match Clear&#xa;              Flag" />
      <BitField start="0" size="1" name="CMPMCF" description="compare match Clear Flag" />
    </Register>
    <Register start="+0x8" size="0" name="IER" access="Read/Write" description="Interrupt Enable Register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="6" size="1" name="DOWNIE" description="Direction change to down Interrupt&#xa;              Enable" />
      <BitField start="5" size="1" name="UPIE" description="Direction change to UP Interrupt&#xa;              Enable" />
      <BitField start="4" size="1" name="ARROKIE" description="Autoreload register update OK Interrupt&#xa;              Enable" />
      <BitField start="3" size="1" name="CMPOKIE" description="Compare register update OK Interrupt&#xa;              Enable" />
      <BitField start="2" size="1" name="EXTTRIGIE" description="External trigger valid edge Interrupt&#xa;              Enable" />
      <BitField start="1" size="1" name="ARRMIE" description="Autoreload match Interrupt&#xa;              Enable" />
      <BitField start="0" size="1" name="CMPMIE" description="Compare match Interrupt&#xa;              Enable" />
    </Register>
    <Register start="+0xC" size="0" name="CFGR" access="Read/Write" description="Configuration Register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="24" size="1" name="ENC" description="Encoder mode enable" />
      <BitField start="23" size="1" name="COUNTMODE" description="counter mode enabled" />
      <BitField start="22" size="1" name="PRELOAD" description="Registers update mode" />
      <BitField start="21" size="1" name="WAVPOL" description="Waveform shape polarity" />
      <BitField start="20" size="1" name="WAVE" description="Waveform shape" />
      <BitField start="19" size="1" name="TIMOUT" description="Timeout enable" />
      <BitField start="17" size="2" name="TRIGEN" description="Trigger enable and&#xa;              polarity" />
      <BitField start="13" size="3" name="TRIGSEL" description="Trigger selector" />
      <BitField start="9" size="3" name="PRESC" description="Clock prescaler" />
      <BitField start="6" size="2" name="TRGFLT" description="Configurable digital filter for&#xa;              trigger" />
      <BitField start="3" size="2" name="CKFLT" description="Configurable digital filter for external&#xa;              clock" />
      <BitField start="1" size="2" name="CKPOL" description="Clock Polarity" />
      <BitField start="0" size="1" name="CKSEL" description="Clock selector" />
    </Register>
    <Register start="+0x10" size="0" name="CR" access="Read/Write" description="Control Register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="4" size="1" name="RSTARE" description="Reset after read enable" />
      <BitField start="3" size="1" name="COUNTRST" description="Counter reset" />
      <BitField start="2" size="1" name="CNTSTRT" description="Timer start in continuous&#xa;              mode" />
      <BitField start="1" size="1" name="SNGSTRT" description="LPTIM start in single mode" />
      <BitField start="0" size="1" name="ENABLE" description="LPTIM Enable" />
    </Register>
    <Register start="+0x14" size="0" name="CMP" access="Read/Write" description="Compare Register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="16" name="CMP" description="Compare value" />
    </Register>
    <Register start="+0x18" size="0" name="ARR" access="Read/Write" description="Autoreload Register" reset_value="0x00000001" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="16" name="ARR" description="Auto reload value" />
    </Register>
    <Register start="+0x1C" size="0" name="CNT" access="ReadOnly" description="Counter Register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="16" name="CNT" description="Counter value" />
    </Register>
    <Register start="+0x24" size="0" name="CFGR2" access="Read/Write" description="LPTIM configuration register 2" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="4" size="2" name="IN2SEL" description="LPTIM1 Input 2 selection" />
      <BitField start="0" size="2" name="IN1SEL" description="LPTIMx Input 1 selection" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="LPTIM2" start="0x40009400" description="Low power timer">
    <Register start="+0x0" size="0" name="ISR" access="ReadOnly" description="Interrupt and Status Register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="6" size="1" name="DOWN" description="Counter direction change up to&#xa;              down" />
      <BitField start="5" size="1" name="UP" description="Counter direction change down to&#xa;              up" />
      <BitField start="4" size="1" name="ARROK" description="Autoreload register update&#xa;              OK" />
      <BitField start="3" size="1" name="CMPOK" description="Compare register update OK" />
      <BitField start="2" size="1" name="EXTTRIG" description="External trigger edge&#xa;              event" />
      <BitField start="1" size="1" name="ARRM" description="Autoreload match" />
      <BitField start="0" size="1" name="CMPM" description="Compare match" />
    </Register>
    <Register start="+0x4" size="0" name="ICR" access="WriteOnly" description="Interrupt Clear Register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="6" size="1" name="DOWNCF" description="Direction change to down Clear&#xa;              Flag" />
      <BitField start="5" size="1" name="UPCF" description="Direction change to UP Clear&#xa;              Flag" />
      <BitField start="4" size="1" name="ARROKCF" description="Autoreload register update OK Clear&#xa;              Flag" />
      <BitField start="3" size="1" name="CMPOKCF" description="Compare register update OK Clear&#xa;              Flag" />
      <BitField start="2" size="1" name="EXTTRIGCF" description="External trigger valid edge Clear&#xa;              Flag" />
      <BitField start="1" size="1" name="ARRMCF" description="Autoreload match Clear&#xa;              Flag" />
      <BitField start="0" size="1" name="CMPMCF" description="compare match Clear Flag" />
    </Register>
    <Register start="+0x8" size="0" name="IER" access="Read/Write" description="Interrupt Enable Register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="6" size="1" name="DOWNIE" description="Direction change to down Interrupt&#xa;              Enable" />
      <BitField start="5" size="1" name="UPIE" description="Direction change to UP Interrupt&#xa;              Enable" />
      <BitField start="4" size="1" name="ARROKIE" description="Autoreload register update OK Interrupt&#xa;              Enable" />
      <BitField start="3" size="1" name="CMPOKIE" description="Compare register update OK Interrupt&#xa;              Enable" />
      <BitField start="2" size="1" name="EXTTRIGIE" description="External trigger valid edge Interrupt&#xa;              Enable" />
      <BitField start="1" size="1" name="ARRMIE" description="Autoreload match Interrupt&#xa;              Enable" />
      <BitField start="0" size="1" name="CMPMIE" description="Compare match Interrupt&#xa;              Enable" />
    </Register>
    <Register start="+0xC" size="0" name="CFGR" access="Read/Write" description="Configuration Register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="24" size="1" name="ENC" description="Encoder mode enable" />
      <BitField start="23" size="1" name="COUNTMODE" description="counter mode enabled" />
      <BitField start="22" size="1" name="PRELOAD" description="Registers update mode" />
      <BitField start="21" size="1" name="WAVPOL" description="Waveform shape polarity" />
      <BitField start="20" size="1" name="WAVE" description="Waveform shape" />
      <BitField start="19" size="1" name="TIMOUT" description="Timeout enable" />
      <BitField start="17" size="2" name="TRIGEN" description="Trigger enable and&#xa;              polarity" />
      <BitField start="13" size="3" name="TRIGSEL" description="Trigger selector" />
      <BitField start="9" size="3" name="PRESC" description="Clock prescaler" />
      <BitField start="6" size="2" name="TRGFLT" description="Configurable digital filter for&#xa;              trigger" />
      <BitField start="3" size="2" name="CKFLT" description="Configurable digital filter for external&#xa;              clock" />
      <BitField start="1" size="2" name="CKPOL" description="Clock Polarity" />
      <BitField start="0" size="1" name="CKSEL" description="Clock selector" />
    </Register>
    <Register start="+0x10" size="0" name="CR" access="Read/Write" description="Control Register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="4" size="1" name="RSTARE" description="Reset after read enable" />
      <BitField start="3" size="1" name="COUNTRST" description="Counter reset" />
      <BitField start="2" size="1" name="CNTSTRT" description="Timer start in continuous&#xa;              mode" />
      <BitField start="1" size="1" name="SNGSTRT" description="LPTIM start in single mode" />
      <BitField start="0" size="1" name="ENABLE" description="LPTIM Enable" />
    </Register>
    <Register start="+0x14" size="0" name="CMP" access="Read/Write" description="Compare Register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="16" name="CMP" description="Compare value" />
    </Register>
    <Register start="+0x18" size="0" name="ARR" access="Read/Write" description="Autoreload Register" reset_value="0x00000001" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="16" name="ARR" description="Auto reload value" />
    </Register>
    <Register start="+0x1C" size="0" name="CNT" access="ReadOnly" description="Counter Register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="16" name="CNT" description="Counter value" />
    </Register>
    <Register start="+0x24" size="0" name="CFGR2" access="Read/Write" description="LPTIM configuration register 2" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="4" size="2" name="IN2SEL" description="LPTIM1 Input 2 selection" />
      <BitField start="0" size="2" name="IN1SEL" description="LPTIMx Input 1 selection" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="LPUART" start="0x40008000" description="Universal synchronous asynchronous receiver&#xa;      transmitter">
    <Register start="+0x0" size="0" name="CR1" access="Read/Write" description="Control register 1" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="31" size="1" name="RXFFIE" description="RXFIFO Full interrupt&#xa;              enable" />
      <BitField start="30" size="1" name="TXFEIE" description="TXFIFO empty interrupt&#xa;              enable" />
      <BitField start="29" size="1" name="FIFOEN" description="FIFO mode enable" />
      <BitField start="28" size="1" name="M1" description="Word length" />
      <BitField start="21" size="5" name="DEAT" description="DEAT0" />
      <BitField start="16" size="5" name="DEDT0" description="DEDT0" />
      <BitField start="14" size="1" name="CMIE" description="Character match interrupt&#xa;              enable" />
      <BitField start="13" size="1" name="MME" description="Mute mode enable" />
      <BitField start="12" size="1" name="M0" description="Word length" />
      <BitField start="11" size="1" name="WAKE" description="Receiver wakeup method" />
      <BitField start="10" size="1" name="PCE" description="Parity control enable" />
      <BitField start="9" size="1" name="PS" description="Parity selection" />
      <BitField start="8" size="1" name="PEIE" description="PE interrupt enable" />
      <BitField start="7" size="1" name="TXEIE" description="interrupt enable" />
      <BitField start="6" size="1" name="TCIE" description="Transmission complete interrupt&#xa;              enable" />
      <BitField start="5" size="1" name="RXNEIE" description="RXNE interrupt enable" />
      <BitField start="4" size="1" name="IDLEIE" description="IDLE interrupt enable" />
      <BitField start="3" size="1" name="TE" description="Transmitter enable" />
      <BitField start="2" size="1" name="RE" description="Receiver enable" />
      <BitField start="1" size="1" name="UESM" description="USART enable in Stop mode" />
      <BitField start="0" size="1" name="UE" description="USART enable" />
    </Register>
    <Register start="+0x4" size="0" name="CR2" access="Read/Write" description="Control register 2" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="28" size="4" name="ADD4_7" description="Address of the USART node" />
      <BitField start="24" size="4" name="ADD0_3" description="Address of the USART node" />
      <BitField start="19" size="1" name="MSBFIRST" description="Most significant bit first" />
      <BitField start="18" size="1" name="TAINV" description="Binary data inversion" />
      <BitField start="17" size="1" name="TXINV" description="TX pin active level&#xa;              inversion" />
      <BitField start="16" size="1" name="RXINV" description="RX pin active level&#xa;              inversion" />
      <BitField start="15" size="1" name="SWAP" description="Swap TX/RX pins" />
      <BitField start="12" size="2" name="STOP" description="STOP bits" />
      <BitField start="4" size="1" name="ADDM7" description="7-bit Address Detection/4-bit Address&#xa;              Detection" />
    </Register>
    <Register start="+0x8" size="0" name="CR3" access="Read/Write" description="Control register 3" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="29" size="3" name="TXFTCFG" description="TXFIFO threshold&#xa;              configuration" />
      <BitField start="28" size="1" name="RXFTIE" description="RXFIFO threshold interrupt&#xa;              enable" />
      <BitField start="25" size="3" name="RXFTCFG" description="Receive FIFO threshold&#xa;              configuration" />
      <BitField start="23" size="1" name="TXFTIE" description="threshold interrupt enable" />
      <BitField start="22" size="1" name="WUFIE" description="Wakeup from Stop mode interrupt&#xa;              enable" />
      <BitField start="20" size="2" name="WUS" description="Wakeup from Stop mode interrupt flag&#xa;              selection" />
      <BitField start="15" size="1" name="DEP" description="Driver enable polarity&#xa;              selection" />
      <BitField start="14" size="1" name="DEM" description="Driver enable mode" />
      <BitField start="13" size="1" name="DDRE" description="DMA Disable on Reception&#xa;              Error" />
      <BitField start="12" size="1" name="OVRDIS" description="Overrun Disable" />
      <BitField start="10" size="1" name="CTSIE" description="CTS interrupt enable" />
      <BitField start="9" size="1" name="CTSE" description="CTS enable" />
      <BitField start="8" size="1" name="RTSE" description="RTS enable" />
      <BitField start="7" size="1" name="DMAT" description="DMA enable transmitter" />
      <BitField start="6" size="1" name="DMAR" description="DMA enable receiver" />
      <BitField start="3" size="1" name="HDSEL" description="Half-duplex selection" />
      <BitField start="0" size="1" name="EIE" description="Error interrupt enable" />
    </Register>
    <Register start="+0xC" size="0" name="BRR" access="Read/Write" description="Baud rate register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="20" name="BRR" description="BRR" />
    </Register>
    <Register start="+0x18" size="0" name="RQR" access="WriteOnly" description="Request register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="4" size="1" name="TXFRQ" description="Transmit data flush&#xa;              request" />
      <BitField start="3" size="1" name="RXFRQ" description="Receive data flush request" />
      <BitField start="2" size="1" name="MMRQ" description="Mute mode request" />
      <BitField start="1" size="1" name="SBKRQ" description="Send break request" />
      <BitField start="0" size="1" name="ABRRQ" description="Auto baud rate request" />
    </Register>
    <Register start="+0x1C" size="0" name="ISR" access="ReadOnly" description="Interrupt &amp; status&#xa;          register" reset_value="0x00C0" reset_mask="0xFFFFFFFF">
      <BitField start="27" size="1" name="TXFT" description="TXFIFO threshold flag" />
      <BitField start="26" size="1" name="RXFT" description="RXFIFO threshold flag" />
      <BitField start="24" size="1" name="RXFF" description="RXFIFO Full" />
      <BitField start="23" size="1" name="TXFE" description="TXFIFO Empty" />
      <BitField start="22" size="1" name="REACK" description="REACK" />
      <BitField start="21" size="1" name="TEACK" description="TEACK" />
      <BitField start="20" size="1" name="WUF" description="WUF" />
      <BitField start="19" size="1" name="RWU" description="RWU" />
      <BitField start="18" size="1" name="SBKF" description="SBKF" />
      <BitField start="17" size="1" name="CMF" description="CMF" />
      <BitField start="16" size="1" name="BUSY" description="BUSY" />
      <BitField start="10" size="1" name="CTS" description="CTS" />
      <BitField start="9" size="1" name="CTSIF" description="CTSIF" />
      <BitField start="7" size="1" name="TXE" description="TXE" />
      <BitField start="6" size="1" name="TC" description="TC" />
      <BitField start="5" size="1" name="RXNE" description="RXNE" />
      <BitField start="4" size="1" name="IDLE" description="IDLE" />
      <BitField start="3" size="1" name="ORE" description="ORE" />
      <BitField start="2" size="1" name="NF" description="NF" />
      <BitField start="1" size="1" name="FE" description="FE" />
      <BitField start="0" size="1" name="PE" description="PE" />
    </Register>
    <Register start="+0x20" size="0" name="ICR" access="WriteOnly" description="Interrupt flag clear register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="20" size="1" name="WUCF" description="Wakeup from Stop mode clear&#xa;              flag" />
      <BitField start="17" size="1" name="CMCF" description="Character match clear flag" />
      <BitField start="9" size="1" name="CTSCF" description="CTS clear flag" />
      <BitField start="6" size="1" name="TCCF" description="Transmission complete clear&#xa;              flag" />
      <BitField start="4" size="1" name="IDLECF" description="Idle line detected clear&#xa;              flag" />
      <BitField start="3" size="1" name="ORECF" description="Overrun error clear flag" />
      <BitField start="2" size="1" name="NCF" description="Noise detected clear flag" />
      <BitField start="1" size="1" name="FECF" description="Framing error clear flag" />
      <BitField start="0" size="1" name="PECF" description="Parity error clear flag" />
    </Register>
    <Register start="+0x24" size="0" name="RDR" access="ReadOnly" description="Receive data register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="9" name="RDR" description="Receive data value" />
    </Register>
    <Register start="+0x28" size="0" name="TDR" access="Read/Write" description="Transmit data register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="9" name="TDR" description="Transmit data value" />
    </Register>
    <Register start="+0x2C" size="0" name="PRESC" access="Read/Write" description="Prescaler register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="4" name="PRESCALER" description="Clock prescaler" />
    </Register>
    <Register start="+0x3EC" size="0" name="HWCFGR2" access="Read/Write" description="LPUART Hardware Configuration register&#xa;          2" reset_value="0x00000013" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="4" name="CFG1" description="LUART hardware configuration&#xa;              1" />
      <BitField start="4" size="4" name="CFG2" description="LUART hardware configuration&#xa;              2" />
    </Register>
    <Register start="+0x3F0" size="0" name="HWCFGR1" access="Read/Write" description="LPUART Hardware Configuration register&#xa;          1" reset_value="0x31100000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="4" name="CFG1" description="LUART hardware configuration&#xa;              1" />
      <BitField start="4" size="4" name="CFG2" description="LUART hardware configuration&#xa;              2" />
      <BitField start="8" size="4" name="CFG3" description="LUART hardware configuration&#xa;              1" />
      <BitField start="12" size="4" name="CFG4" description="LUART hardware configuration&#xa;              2" />
      <BitField start="16" size="4" name="CFG5" description="LUART hardware configuration&#xa;              2" />
      <BitField start="20" size="4" name="CFG6" description="LUART hardware configuration&#xa;              2" />
      <BitField start="24" size="4" name="CFG7" description="LUART hardware configuration&#xa;              2" />
      <BitField start="28" size="4" name="CFG8" description="LUART hardware configuration&#xa;              2" />
    </Register>
    <Register start="+0x3F4" size="0" name="VERR" access="ReadOnly" description="EXTI IP Version register" reset_value="0x00000023" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="4" name="MINREV" description="Minor Revision number" />
      <BitField start="4" size="4" name="MAJREV" description="Major Revision number" />
    </Register>
    <Register start="+0x3F8" size="0" name="IPIDR" access="ReadOnly" description="EXTI Identification register" reset_value="0x00130003" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="IPID" description="IP Identification" />
    </Register>
    <Register start="+0x3FC" size="0" name="SIDR" access="ReadOnly" description="EXTI Size ID register" reset_value="0xA3C5DD01" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="SID" description="Size Identification" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="HDMI_CEC" start="0x40007800" description="HDMI-CEC">
    <Register start="+0x0" size="0" name="CEC_CR" access="Read/Write" description="CEC control register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="CECEN" description="CEC Enable The CECEN bit is set and&#xa;              cleared by software. CECEN=1 starts message reception&#xa;              and enables the TXSOM control. CECEN=0 disables the&#xa;              CEC peripheral, clears all bits of CEC_CR register&#xa;              and aborts any on-going reception or&#xa;              transmission." />
      <BitField start="1" size="1" name="TXSOM" description="Tx Start Of Message TXSOM is set by&#xa;              software to command transmission of the first byte of&#xa;              a CEC message. If the CEC message consists of only&#xa;              one byte, TXEOM must be set before of TXSOM.&#xa;              Start-Bit is effectively started on the CEC line&#xa;              after SFT is counted. If TXSOM is set while a message&#xa;              reception is ongoing, transmission will start after&#xa;              the end of reception. TXSOM is cleared by hardware&#xa;              after the last byte of the message is sent with a&#xa;              positive acknowledge (TXEND=1), in case of&#xa;              transmission underrun (TXUDR=1), negative acknowledge&#xa;              (TXACKE=1), and transmission error (TXERR=1). It is&#xa;              also cleared by CECEN=0. It is not cleared and&#xa;              transmission is automatically retried in case of&#xa;              arbitration lost (ARBLST=1). TXSOM can be also used&#xa;              as a status bit informing application whether any&#xa;              transmission request is pending or under execution.&#xa;              The application can abort a transmission request at&#xa;              any time by clearing the CECEN bit. Note: TXSOM must&#xa;              be set when CECEN=1 TXSOM must be set when&#xa;              transmission data is available into TXDR HEADERs&#xa;              first four bits containing own peripheral address are&#xa;              taken from TXDR[7:4], not from CEC_CFGR.OAR which is&#xa;              used only for reception" />
      <BitField start="2" size="1" name="TXEOM" description="Tx End Of Message The TXEOM bit is set&#xa;              by software to command transmission of the last byte&#xa;              of a CEC message. TXEOM is cleared by hardware at the&#xa;              same time and under the same conditions as for TXSOM.&#xa;              Note: TXEOM must be set when CECEN=1 TXEOM must be&#xa;              set before writing transmission data to TXDR If TXEOM&#xa;              is set when TXSOM=0, transmitted message will consist&#xa;              of 1 byte (HEADER) only (PING message)" />
    </Register>
    <Register start="+0x4" size="0" name="CEC_CFGR" access="Read/Write" description="This register is used to configure the&#xa;          HDMI-CEC controller. It is mandatory to write CEC_CFGR&#xa;          only when CECEN=0." reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="3" name="SFT" description="Signal Free Time SFT bits are set by&#xa;              software. In the SFT=0x0 configuration the number of&#xa;              nominal data bit periods waited before transmission&#xa;              is ruled by hardware according to the transmission&#xa;              history. In all the other configurations the SFT&#xa;              number is determined by software. * 0x0 ** 2.5&#xa;              Data-Bit periods if CEC is the last bus initiator&#xa;              with unsuccessful transmission (ARBLST=1, TXERR=1,&#xa;              TXUDR=1 or TXACKE= 1) ** 4 Data-Bit periods if CEC is&#xa;              the new bus initiator ** 6 Data-Bit periods if CEC is&#xa;              the last bus initiator with successful transmission&#xa;              (TXEOM=1) * 0x1: 0.5 nominal data bit periods * 0x2:&#xa;              1.5 nominal data bit periods * 0x3: 2.5 nominal data&#xa;              bit periods * 0x4: 3.5 nominal data bit periods *&#xa;              0x5: 4.5 nominal data bit periods * 0x6: 5.5 nominal&#xa;              data bit periods * 0x7: 6.5 nominal data bit&#xa;              periods" />
      <BitField start="3" size="1" name="RXTOL" description="Rx-Tolerance The RXTOL bit is set and&#xa;              cleared by software. ** Start-Bit, +/- 200 s rise,&#xa;              +/- 200 s fall. ** Data-Bit: +/- 200 s rise. +/- 350&#xa;              s fall. ** Start-Bit: +/- 400 s rise, +/- 400 s fall&#xa;              ** Data-Bit: +/-300 s rise, +/- 500 s&#xa;              fall" />
      <BitField start="4" size="1" name="BRESTP" description="Rx-Stop on Bit Rising Error The BRESTP&#xa;              bit is set and cleared by software." />
      <BitField start="5" size="1" name="BREGEN" description="Generate Error-Bit on Bit Rising Error&#xa;              The BREGEN bit is set and cleared by software. Note:&#xa;              If BRDNOGEN=0, an Error-bit is generated upon BRE&#xa;              detection with BRESTP=1 in broadcast even if&#xa;              BREGEN=0" />
      <BitField start="6" size="1" name="LBPEGEN" description="Generate Error-Bit on Long Bit Period&#xa;              Error The LBPEGEN bit is set and cleared by software.&#xa;              Note: If BRDNOGEN=0, an Error-bit is generated upon&#xa;              LBPE detection in broadcast even if&#xa;              LBPEGEN=0" />
      <BitField start="7" size="1" name="BRDNOGEN" description="Avoid Error-Bit Generation in Broadcast&#xa;              The BRDNOGEN bit is set and cleared by&#xa;              software." />
      <BitField start="8" size="1" name="SFTOPT" description="SFT Option Bit The SFTOPT bit is set and&#xa;              cleared by software." />
      <BitField start="16" size="15" name="OAR" description="Own addresses configuration The OAR bits&#xa;              are set by software to select which destination&#xa;              logical addresses has to be considered in receive&#xa;              mode. Each bit, when set, enables the CEC logical&#xa;              address identified by the given bit position. At the&#xa;              end of HEADER reception, the received destination&#xa;              address is compared with the enabled addresses. In&#xa;              case of matching address, the incoming message is&#xa;              acknowledged and received. In case of non-matching&#xa;              address, the incoming message is received only in&#xa;              listen mode (LSTN=1), but without acknowledge sent.&#xa;              Broadcast messages are always received. Example: OAR&#xa;              = 0b000 0000 0010 0001 means that CEC acknowledges&#xa;              addresses 0x0 and 0x5. Consequently, each message&#xa;              directed to one of these addresses is&#xa;              received." />
      <BitField start="31" size="1" name="LSTN" description="Listen mode LSTN bit is set and cleared&#xa;              by software." />
    </Register>
    <Register start="+0x8" size="0" name="CEC_TXDR" access="WriteOnly" description="CEC Tx data register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="8" name="TXD" description="Tx Data register. TXD is a write-only&#xa;              register containing the data byte to be transmitted.&#xa;              Note: TXD must be written when&#xa;              TXSTART=1" />
    </Register>
    <Register start="+0xC" size="0" name="CEC_RXDR" access="ReadOnly" description="CEC Rx Data Register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="8" name="RXD" description="Rx Data register. RXD is read-only and&#xa;              contains the last data byte which has been received&#xa;              from the CEC line." />
    </Register>
    <Register start="+0x10" size="0" name="CEC_ISR" access="Read/Write" description="CEC Interrupt and Status&#xa;          Register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="RXBR" description="Rx-Byte Received The RXBR bit is set by&#xa;              hardware to inform application that a new byte has&#xa;              been received from the CEC line and stored into the&#xa;              RXD buffer. RXBR is cleared by software write at&#xa;              1." />
      <BitField start="1" size="1" name="RXEND" description="End Of Reception RXEND is set by&#xa;              hardware to inform application that the last byte of&#xa;              a CEC message is received from the CEC line and&#xa;              stored into the RXD buffer. RXEND is set at the same&#xa;              time of RXBR. RXEND is cleared by software write at&#xa;              1." />
      <BitField start="2" size="1" name="RXOVR" description="Rx-Overrun RXOVR is set by hardware if&#xa;              RXBR is not yet cleared at the time a new byte is&#xa;              received on the CEC line and stored into RXD. RXOVR&#xa;              assertion stops message reception so that no&#xa;              acknowledge is sent. In case of broadcast, a negative&#xa;              acknowledge is sent. RXOVR is cleared by software&#xa;              write at 1." />
      <BitField start="3" size="1" name="BRE" description="Rx-Bit Rising Error BRE is set by&#xa;              hardware in case a Data-Bit waveform is detected with&#xa;              Bit Rising Error. BRE is set either at the time the&#xa;              misplaced rising edge occurs, or at the end of the&#xa;              maximum BRE tolerance allowed by RXTOL, in case&#xa;              rising edge is still longing. BRE stops message&#xa;              reception if BRESTP=1. BRE generates an Error-Bit on&#xa;              the CEC line if BREGEN=1. BRE is cleared by software&#xa;              write at 1." />
      <BitField start="4" size="1" name="SBPE" description="Rx-Short Bit Period Error SBPE is set by&#xa;              hardware in case a Data-Bit waveform is detected with&#xa;              Short Bit Period Error. SBPE is set at the time the&#xa;              anticipated falling edge occurs. SBPE generates an&#xa;              Error-Bit on the CEC line. SBPE is cleared by&#xa;              software write at 1." />
      <BitField start="5" size="1" name="LBPE" description="Rx-Long Bit Period Error LBPE is set by&#xa;              hardware in case a Data-Bit waveform is detected with&#xa;              Long Bit Period Error. LBPE is set at the end of the&#xa;              maximum bit-extension tolerance allowed by RXTOL, in&#xa;              case falling edge is still longing. LBPE always stops&#xa;              reception of the CEC message. LBPE generates an&#xa;              Error-Bit on the CEC line if LBPEGEN=1. In case of&#xa;              broadcast, Error-Bit is generated even in case of&#xa;              LBPEGEN=0. LBPE is cleared by software write at&#xa;              1." />
      <BitField start="6" size="1" name="RXACKE" description="Rx-Missing Acknowledge In receive mode,&#xa;              RXACKE is set by hardware to inform application that&#xa;              no acknowledge was seen on the CEC line. RXACKE&#xa;              applies only for broadcast messages and in listen&#xa;              mode also for not directly addressed messages&#xa;              (destination address not enabled in OAR). RXACKE&#xa;              aborts message reception. RXACKE is cleared by&#xa;              software write at 1." />
      <BitField start="7" size="1" name="ARBLST" description="Arbitration Lost ARBLST is set by&#xa;              hardware to inform application that CEC device is&#xa;              switching to reception due to arbitration lost event&#xa;              following the TXSOM command. ARBLST can be due either&#xa;              to a contending CEC device starting earlier or&#xa;              starting at the same time but with higher HEADER&#xa;              priority. After ARBLST assertion TXSOM bit keeps&#xa;              pending for next transmission attempt. ARBLST is&#xa;              cleared by software write at 1." />
      <BitField start="8" size="1" name="TXBR" description="Tx-Byte Request TXBR is set by hardware&#xa;              to inform application that the next transmission data&#xa;              has to be written to TXDR. TXBR is set when the 4th&#xa;              bit of currently transmitted byte is sent.&#xa;              Application must write the next byte to TXDR within 6&#xa;              nominal data-bit periods before transmission underrun&#xa;              error occurs (TXUDR). TXBR is cleared by software&#xa;              write at 1." />
      <BitField start="9" size="1" name="TXEND" description="End of Transmission TXEND is set by&#xa;              hardware to inform application that the last byte of&#xa;              the CEC message has been successfully transmitted.&#xa;              TXEND clears the TXSOM and TXEOM control bits. TXEND&#xa;              is cleared by software write at 1." />
      <BitField start="10" size="1" name="TXUDR" description="Tx-Buffer Underrun In transmission mode,&#xa;              TXUDR is set by hardware if application was not in&#xa;              time to load TXDR before of next byte transmission.&#xa;              TXUDR aborts message transmission and clears TXSOM&#xa;              and TXEOM control bits. TXUDR is cleared by software&#xa;              write at 1" />
      <BitField start="11" size="1" name="TXERR" description="Tx-Error In transmission mode, TXERR is&#xa;              set by hardware if the CEC initiator detects low&#xa;              impedance on the CEC line while it is released. TXERR&#xa;              aborts message transmission and clears TXSOM and&#xa;              TXEOM controls. TXERR is cleared by software write at&#xa;              1." />
      <BitField start="12" size="1" name="TXACKE" description="Tx-Missing Acknowledge Error In&#xa;              transmission mode, TXACKE is set by hardware to&#xa;              inform application that no acknowledge was received.&#xa;              In case of broadcast transmission, TXACKE informs&#xa;              application that a negative acknowledge was received.&#xa;              TXACKE aborts message transmission and clears TXSOM&#xa;              and TXEOM controls. TXACKE is cleared by software&#xa;              write at 1." />
    </Register>
    <Register start="+0x14" size="0" name="CEC_IER" access="Read/Write" description="CEC interrupt enable register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="RXBRIE" description="Rx-Byte Received Interrupt Enable The&#xa;              RXBRIE bit is set and cleared by&#xa;              software." />
      <BitField start="1" size="1" name="RXENDIE" description="End Of Reception Interrupt Enable The&#xa;              RXENDIE bit is set and cleared by&#xa;              software." />
      <BitField start="2" size="1" name="RXOVRIE" description="Rx-Buffer Overrun Interrupt Enable The&#xa;              RXOVRIE bit is set and cleared by&#xa;              software." />
      <BitField start="3" size="1" name="BREIE" description="Bit Rising Error Interrupt Enable The&#xa;              BREIE bit is set and cleared by&#xa;              software." />
      <BitField start="4" size="1" name="SBPEIE" description="Short Bit Period Error Interrupt Enable&#xa;              The SBPEIE bit is set and cleared by&#xa;              software." />
      <BitField start="5" size="1" name="LBPEIE" description="Long Bit Period Error Interrupt Enable&#xa;              The LBPEIE bit is set and cleared by&#xa;              software." />
      <BitField start="6" size="1" name="RXACKIE" description="Rx-Missing Acknowledge Error Interrupt&#xa;              Enable The RXACKIE bit is set and cleared by&#xa;              software." />
      <BitField start="7" size="1" name="ARBLSTIE" description="Arbitration Lost Interrupt Enable The&#xa;              ARBLSTIE bit is set and cleared by&#xa;              software." />
      <BitField start="8" size="1" name="TXBRIE" description="Tx-Byte Request Interrupt Enable The&#xa;              TXBRIE bit is set and cleared by&#xa;              software." />
      <BitField start="9" size="1" name="TXENDIE" description="Tx-End Of Message Interrupt Enable The&#xa;              TXENDIE bit is set and cleared by&#xa;              software." />
      <BitField start="10" size="1" name="TXUDRIE" description="Tx-Underrun Interrupt Enable The TXUDRIE&#xa;              bit is set and cleared by software." />
      <BitField start="11" size="1" name="TXERRIE" description="Tx-Error Interrupt Enable The TXERRIE&#xa;              bit is set and cleared by software." />
      <BitField start="12" size="1" name="TXACKIE" description="Tx-Missing Acknowledge Error Interrupt&#xa;              Enable The TXACKEIE bit is set and cleared by&#xa;              software." />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="DAC" start="0x40007400" description="DAC">
    <Register start="+0x0" size="0" name="DAC_CR" access="Read/Write" description="DAC control register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="EN1" description="DAC channel1 enable This bit is set and&#xa;              cleared by software to enable/disable DAC&#xa;              channel1." />
      <BitField start="1" size="1" name="TEN1" description="DAC channel1 trigger&#xa;              enable" />
      <BitField start="2" size="4" name="TSEL1" description="DAC channel1 trigger selection These&#xa;              bits select the external event used to trigger DAC&#xa;              channel1. Note: Only used if bit TEN1 = 1 (DAC&#xa;              channel1 trigger enabled)." />
      <BitField start="6" size="2" name="WAVE1" description="DAC channel1 noise/triangle wave&#xa;              generation enable These bits are set and cleared by&#xa;              software. Note: Only used if bit TEN1 = 1 (DAC&#xa;              channel1 trigger enabled)." />
      <BitField start="8" size="4" name="MAMP1" description="DAC channel1 mask/amplitude selector&#xa;              These bits are written by software to select mask in&#xa;              wave generation mode or amplitude in triangle&#xa;              generation mode. = 1011: Unmask bits[11:0] of LFSR/&#xa;              triangle amplitude equal to 4095" />
      <BitField start="12" size="1" name="DMAEN1" description="DAC channel1 DMA enable This bit is set&#xa;              and cleared by software." />
      <BitField start="13" size="1" name="DMAUDRIE1" description="DAC channel1 DMA Underrun Interrupt&#xa;              enable This bit is set and cleared by&#xa;              software." />
      <BitField start="14" size="1" name="CEN1" description="DAC Channel 1 calibration enable This&#xa;              bit is set and cleared by software to enable/disable&#xa;              DAC channel 1 calibration, it can be written only if&#xa;              bit EN1=0 into DAC_CR (the calibration mode can be&#xa;              entered/exit only when the DAC channel is disabled)&#xa;              Otherwise, the write operation is&#xa;              ignored." />
      <BitField start="16" size="1" name="EN2" description="DAC channel2 enable This bit is set and&#xa;              cleared by software to enable/disable DAC&#xa;              channel2." />
      <BitField start="17" size="1" name="TEN2" description="DAC channel2 trigger&#xa;              enable" />
      <BitField start="18" size="4" name="TSEL2" description="DAC channel2 trigger selection These&#xa;              bits select the external event used to trigger DAC&#xa;              channel2 Note: Only used if bit TEN2 = 1 (DAC&#xa;              channel2 trigger enabled)." />
      <BitField start="22" size="2" name="WAVE2" description="DAC channel2 noise/triangle wave&#xa;              generation enable These bits are set/reset by&#xa;              software. 1x: Triangle wave generation enabled Note:&#xa;              Only used if bit TEN2 = 1 (DAC channel2 trigger&#xa;              enabled)" />
      <BitField start="24" size="4" name="MAMP2" description="DAC channel2 mask/amplitude selector&#xa;              These bits are written by software to select mask in&#xa;              wave generation mode or amplitude in triangle&#xa;              generation mode. = 1011: Unmask bits[11:0] of LFSR/&#xa;              triangle amplitude equal to 4095" />
      <BitField start="28" size="1" name="DMAEN2" description="DAC channel2 DMA enable This bit is set&#xa;              and cleared by software." />
      <BitField start="29" size="1" name="DMAUDRIE2" description="DAC channel2 DMA underrun interrupt&#xa;              enable This bit is set and cleared by&#xa;              software." />
      <BitField start="30" size="1" name="CEN2" description="DAC Channel 2 calibration enable This&#xa;              bit is set and cleared by software to enable/disable&#xa;              DAC channel 2 calibration, it can be written only if&#xa;              bit EN2=0 into DAC_CR (the calibration mode can be&#xa;              entered/exit only when the DAC channel is disabled)&#xa;              Otherwise, the write operation is&#xa;              ignored." />
    </Register>
    <Register start="+0x4" size="0" name="DAC_SWTRGR" access="WriteOnly" description="DAC software trigger register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="SWTRIG1" description="DAC channel1 software trigger This bit&#xa;              is set by software to trigger the DAC in software&#xa;              trigger mode. Note: This bit is cleared by hardware&#xa;              (one APB1 clock cycle later) once the DAC_DHR1&#xa;              register value has been loaded into the DAC_DOR1&#xa;              register." />
      <BitField start="1" size="1" name="SWTRIG2" description="DAC channel2 software trigger This bit&#xa;              is set by software to trigger the DAC in software&#xa;              trigger mode. Note: This bit is cleared by hardware&#xa;              (one APB1 clock cycle later) once the DAC_DHR2&#xa;              register value has been loaded into the DAC_DOR2&#xa;              register." />
    </Register>
    <Register start="+0x8" size="0" name="DAC_DHR12R1" access="Read/Write" description="DAC channel1 12-bit right-aligned data&#xa;          holding register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="12" name="DACC1DHR" description="DAC channel1 12-bit right-aligned data&#xa;              These bits are written by software which specifies&#xa;              12-bit data for DAC channel1." />
    </Register>
    <Register start="+0xC" size="0" name="DAC_DHR12L1" access="Read/Write" description="DAC channel1 12-bit left aligned data&#xa;          holding register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="4" size="12" name="DACC1DHR" description="DAC channel1 12-bit left-aligned data&#xa;              These bits are written by software which specifies&#xa;              12-bit data for DAC channel1." />
    </Register>
    <Register start="+0x10" size="0" name="DAC_DHR8R1" access="Read/Write" description="DAC channel1 8-bit right aligned data&#xa;          holding register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="8" name="DACC1DHR" description="DAC channel1 8-bit right-aligned data&#xa;              These bits are written by software which specifies&#xa;              8-bit data for DAC channel1." />
    </Register>
    <Register start="+0x14" size="0" name="DAC_DHR12R2" access="Read/Write" description="DAC channel2 12-bit right aligned data&#xa;          holding register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="12" name="DACC2DHR" description="DAC channel2 12-bit right-aligned data&#xa;              These bits are written by software which specifies&#xa;              12-bit data for DAC channel2." />
    </Register>
    <Register start="+0x18" size="0" name="DAC_DHR12L2" access="Read/Write" description="DAC channel2 12-bit left aligned data&#xa;          holding register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="4" size="12" name="DACC2DHR" description="DAC channel2 12-bit left-aligned data&#xa;              These bits are written by software which specify&#xa;              12-bit data for DAC channel2." />
    </Register>
    <Register start="+0x1C" size="0" name="DAC_DHR8R2" access="Read/Write" description="DAC channel2 8-bit right-aligned data&#xa;          holding register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="8" name="DACC2DHR" description="DAC channel2 8-bit right-aligned data&#xa;              These bits are written by software which specifies&#xa;              8-bit data for DAC channel2." />
    </Register>
    <Register start="+0x20" size="0" name="DAC_DHR12RD" access="Read/Write" description="Dual DAC 12-bit right-aligned data holding&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="12" name="DACC1DHR" description="DAC channel1 12-bit right-aligned data&#xa;              These bits are written by software which specifies&#xa;              12-bit data for DAC channel1." />
      <BitField start="16" size="12" name="DACC2DHR" description="DAC channel2 12-bit right-aligned data&#xa;              These bits are written by software which specifies&#xa;              12-bit data for DAC channel2." />
    </Register>
    <Register start="+0x24" size="0" name="DAC_DHR12LD" access="Read/Write" description="DUAL DAC 12-bit left aligned data holding&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="4" size="12" name="DACC1DHR" description="DAC channel1 12-bit left-aligned data&#xa;              These bits are written by software which specifies&#xa;              12-bit data for DAC channel1." />
      <BitField start="20" size="12" name="DACC2DHR" description="DAC channel2 12-bit left-aligned data&#xa;              These bits are written by software which specifies&#xa;              12-bit data for DAC channel2." />
    </Register>
    <Register start="+0x28" size="0" name="DAC_DHR8RD" access="Read/Write" description="DUAL DAC 8-bit right aligned data holding&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="8" name="DACC1DHR" description="DAC channel1 8-bit right-aligned data&#xa;              These bits are written by software which specifies&#xa;              8-bit data for DAC channel1." />
      <BitField start="8" size="8" name="DACC2DHR" description="DAC channel2 8-bit right-aligned data&#xa;              These bits are written by software which specifies&#xa;              8-bit data for DAC channel2." />
    </Register>
    <Register start="+0x2C" size="0" name="DAC_DOR1" access="ReadOnly" description="DAC channel1 data output&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="12" name="DACC1DOR" description="DAC channel1 data output These bits are&#xa;              read-only, they contain data output for DAC&#xa;              channel1." />
    </Register>
    <Register start="+0x30" size="0" name="DAC_DOR2" access="ReadOnly" description="DAC channel2 data output&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="12" name="DACC2DOR" description="DAC channel2 data output These bits are&#xa;              read-only, they contain data output for DAC&#xa;              channel2." />
    </Register>
    <Register start="+0x34" size="0" name="DAC_SR" access="Read/Write" description="DAC status register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="13" size="1" name="DMAUDR1" description="DAC channel1 DMA underrun flag This bit&#xa;              is set by hardware and cleared by software (by&#xa;              writing it to 1)." />
      <BitField start="14" size="1" name="CAL_FLAG1" description="DAC Channel 1 calibration offset status&#xa;              This bit is set and cleared by hardware" />
      <BitField start="15" size="1" name="BWST1" description="DAC Channel 1 busy writing sample time&#xa;              flag This bit is systematically set just after Sample&#xa;              &amp; Hold mode enable and is set each time the&#xa;              software writes the register DAC_SHSR1, It is cleared&#xa;              by hardware when the write operation of DAC_SHSR1 is&#xa;              complete. (It takes about 3LSI periods of&#xa;              synchronization)." />
      <BitField start="29" size="1" name="DMAUDR2" description="DAC channel2 DMA underrun flag This bit&#xa;              is set by hardware and cleared by software (by&#xa;              writing it to 1)." />
      <BitField start="30" size="1" name="CAL_FLAG2" description="DAC Channel 2 calibration offset status&#xa;              This bit is set and cleared by hardware" />
      <BitField start="31" size="1" name="BWST2" description="DAC Channel 2 busy writing sample time&#xa;              flag This bit is systematically set just after Sample&#xa;              &amp; Hold mode enable and is set each time the&#xa;              software writes the register DAC_SHSR2, It is cleared&#xa;              by hardware when the write operation of DAC_SHSR2 is&#xa;              complete. (It takes about 3 LSI periods of&#xa;              synchronization)." />
    </Register>
    <Register start="+0x38" size="0" name="DAC_CCR" access="Read/Write" description="DAC calibration control&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="5" name="OTRIM1" description="DAC Channel 1 offset trimming&#xa;              value" />
      <BitField start="16" size="5" name="OTRIM2" description="DAC Channel 2 offset trimming&#xa;              value" />
    </Register>
    <Register start="+0x3C" size="0" name="DAC_MCR" access="Read/Write" description="DAC mode control register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="3" name="MODE1" description="DAC Channel 1 mode These bits can be&#xa;              written only when the DAC is disabled and not in the&#xa;              calibration mode (when bit EN1=0 and bit CEN1 =0 in&#xa;              the DAC_CR register). If EN1=1 or CEN1 =1 the write&#xa;              operation is ignored. They can be set and cleared by&#xa;              software to select the DAC Channel 1 mode: DAC&#xa;              Channel 1 in normal Mode DAC Channel 1 in sample&#xa;              &amp;amp; hold mode" />
      <BitField start="16" size="3" name="MODE2" description="DAC Channel 2 mode These bits can be&#xa;              written only when the DAC is disabled and not in the&#xa;              calibration mode (when bit EN2=0 and bit CEN2 =0 in&#xa;              the DAC_CR register). If EN2=1 or CEN2 =1 the write&#xa;              operation is ignored. They can be set and cleared by&#xa;              software to select the DAC Channel 2 mode: DAC&#xa;              Channel 2 in normal Mode DAC Channel 2 in sample&#xa;              &amp;amp; hold mode" />
    </Register>
    <Register start="+0x40" size="0" name="DAC_SHSR1" access="Read/Write" description="DAC Sample and Hold sample time register&#xa;          1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="10" name="TSAMPLE1" description="DAC Channel 1 sample Time (only valid in&#xa;              sample &amp;amp; hold mode) These bits can be written&#xa;              when the DAC channel1 is disabled or also during&#xa;              normal operation. in the latter case, the write can&#xa;              be done only when BWSTx of DAC_SR register is low, If&#xa;              BWSTx=1, the write operation is&#xa;              ignored." />
    </Register>
    <Register start="+0x44" size="0" name="DAC_SHSR2" access="Read/Write" description="DAC Sample and Hold sample time register&#xa;          2" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="10" name="TSAMPLE2" description="DAC Channel 2 sample Time (only valid in&#xa;              sample &amp;amp; hold mode) These bits can be written&#xa;              when the DAC channel2 is disabled or also during&#xa;              normal operation. in the latter case, the write can&#xa;              be done only when BWSTx of DAC_SR register is low, if&#xa;              BWSTx=1, the write operation is&#xa;              ignored." />
    </Register>
    <Register start="+0x48" size="0" name="DAC_SHHR" access="Read/Write" description="DAC Sample and Hold hold time&#xa;          register" reset_value="0x00010001" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="10" name="THOLD1" description="DAC Channel 1 hold Time (only valid in&#xa;              sample &amp;amp; hold mode) Hold time= (THOLD[9:0]) x&#xa;              T LSI" />
      <BitField start="16" size="10" name="THOLD2" description="DAC Channel 2 hold time (only valid in&#xa;              sample &amp;amp; hold mode). Hold time= (THOLD[9:0])&#xa;              x T LSI" />
    </Register>
    <Register start="+0x4C" size="0" name="DAC_SHRR" access="Read/Write" description="DAC Sample and Hold refresh time&#xa;          register" reset_value="0x00010001" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="8" name="TREFRESH1" description="DAC Channel 1 refresh Time (only valid&#xa;              in sample &amp;amp; hold mode) Refresh time=&#xa;              (TREFRESH[7:0]) x T LSI" />
      <BitField start="16" size="8" name="TREFRESH2" description="DAC Channel 2 refresh Time (only valid&#xa;              in sample &amp;amp; hold mode) Refresh time=&#xa;              (TREFRESH[7:0]) x T LSI" />
    </Register>
    <Register start="+0x3F0" size="0" name="IP_HWCFGR0" access="Read/Write" description="DAC IP Hardware Configuration&#xa;          Register" reset_value="0x00001111" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="4" name="DUAL" description="Dual DAC capability" />
      <BitField start="4" size="4" name="LFSR" description="Pseudonoise wave generation&#xa;              capability" />
      <BitField start="8" size="4" name="TRIANGLE" description="Triangle wave generation&#xa;              capability" />
      <BitField start="12" size="4" name="SAMPLE" description="Sample and hold mode&#xa;              capability" />
      <BitField start="16" size="8" name="OR_CFG" description="option register bit width" />
    </Register>
    <Register start="+0x3F4" size="0" name="VERR" access="ReadOnly" description="EXTI IP Version register" reset_value="0x00000031" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="4" name="MINREV" description="Minor Revision number" />
      <BitField start="4" size="4" name="MAJREV" description="Major Revision number" />
    </Register>
    <Register start="+0x3F8" size="0" name="IPIDR" access="ReadOnly" description="EXTI Identification register" reset_value="0x00110011" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="IPID" description="IP Identification" />
    </Register>
    <Register start="+0x3FC" size="0" name="SIDR" access="ReadOnly" description="EXTI Size ID register" reset_value="0xA3C5DD01" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="SID" description="Size Identification" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="I2C1" start="0x40005400" description="Inter-integrated circuit">
    <Register start="+0x0" size="0" name="CR1" access="Read/Write" description="Control register 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="PE" description="Peripheral enable" />
      <BitField start="1" size="1" name="TXIE" description="TX Interrupt enable" />
      <BitField start="2" size="1" name="RXIE" description="RX Interrupt enable" />
      <BitField start="3" size="1" name="ADDRIE" description="Address match interrupt enable (slave&#xa;              only)" />
      <BitField start="4" size="1" name="NACKIE" description="Not acknowledge received interrupt&#xa;              enable" />
      <BitField start="5" size="1" name="STOPIE" description="STOP detection Interrupt&#xa;              enable" />
      <BitField start="6" size="1" name="TCIE" description="Transfer Complete interrupt&#xa;              enable" />
      <BitField start="7" size="1" name="ERRIE" description="Error interrupts enable" />
      <BitField start="8" size="4" name="DNF" description="Digital noise filter" />
      <BitField start="12" size="1" name="ANFOFF" description="Analog noise filter OFF" />
      <BitField start="14" size="1" name="TXDMAEN" description="DMA transmission requests&#xa;              enable" />
      <BitField start="15" size="1" name="RXDMAEN" description="DMA reception requests&#xa;              enable" />
      <BitField start="16" size="1" name="SBC" description="Slave byte control" />
      <BitField start="17" size="1" name="NOSTRETCH" description="Clock stretching disable" />
      <BitField start="18" size="1" name="WUPEN" description="Wakeup from STOP enable" />
      <BitField start="19" size="1" name="GCEN" description="General call enable" />
      <BitField start="20" size="1" name="SMBHEN" description="SMBus Host address enable" />
      <BitField start="21" size="1" name="SMBDEN" description="SMBus Device Default address&#xa;              enable" />
      <BitField start="22" size="1" name="ALERTEN" description="SMBUS alert enable" />
      <BitField start="23" size="1" name="PECEN" description="PEC enable" />
    </Register>
    <Register start="+0x4" size="0" name="CR2" access="Read/Write" description="Control register 2" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="26" size="1" name="PECBYTE" description="Packet error checking byte" />
      <BitField start="25" size="1" name="AUTOEND" description="Automatic end mode (master&#xa;              mode)" />
      <BitField start="24" size="1" name="RELOAD" description="NBYTES reload mode" />
      <BitField start="16" size="8" name="NBYTES" description="Number of bytes" />
      <BitField start="15" size="1" name="NACK" description="NACK generation (slave&#xa;              mode)" />
      <BitField start="14" size="1" name="STOP" description="Stop generation (master&#xa;              mode)" />
      <BitField start="13" size="1" name="START" description="Start generation" />
      <BitField start="12" size="1" name="HEAD10R" description="10-bit address header only read&#xa;              direction (master receiver mode)" />
      <BitField start="11" size="1" name="ADD10" description="10-bit addressing mode (master&#xa;              mode)" />
      <BitField start="10" size="1" name="RD_WRN" description="Transfer direction (master&#xa;              mode)" />
      <BitField start="0" size="10" name="SADD" description="Slave address bit (master&#xa;              mode)" />
    </Register>
    <Register start="+0x8" size="0" name="OAR1" access="Read/Write" description="Own address register 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="OA1_0" description="Interface address" />
      <BitField start="1" size="7" name="OA1_7_1" description="Interface address" />
      <BitField start="8" size="2" name="OA1_8_9" description="Interface address" />
      <BitField start="10" size="1" name="OA1MODE" description="Own Address 1 10-bit mode" />
      <BitField start="15" size="1" name="OA1EN" description="Own Address 1 enable" />
    </Register>
    <Register start="+0xC" size="0" name="OAR2" access="Read/Write" description="Own address register 2" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="1" size="7" name="OA2" description="Interface address" />
      <BitField start="8" size="3" name="OA2MSK" description="Own Address 2 masks" />
      <BitField start="15" size="1" name="OA2EN" description="Own Address 2 enable" />
    </Register>
    <Register start="+0x10" size="0" name="TIMINGR" access="Read/Write" description="Timing register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="8" name="SCLL" description="SCL low period (master&#xa;              mode)" />
      <BitField start="8" size="8" name="SCLH" description="SCL high period (master&#xa;              mode)" />
      <BitField start="16" size="4" name="SDADEL" description="Data hold time" />
      <BitField start="20" size="4" name="SCLDEL" description="Data setup time" />
      <BitField start="28" size="4" name="PRESC" description="Timing prescaler" />
    </Register>
    <Register start="+0x14" size="0" name="TIMEOUTR" access="Read/Write" description="Status register 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="12" name="TIMEOUTA" description="Bus timeout A" />
      <BitField start="12" size="1" name="TIDLE" description="Idle clock timeout&#xa;              detection" />
      <BitField start="15" size="1" name="TIMOUTEN" description="Clock timeout enable" />
      <BitField start="16" size="12" name="TIMEOUTB" description="Bus timeout B" />
      <BitField start="31" size="1" name="TEXTEN" description="Extended clock timeout&#xa;              enable" />
    </Register>
    <Register start="+0x18" size="0" name="ISR" access="Read/Write" description="Interrupt and Status register" reset_value="0x00000001" reset_mask="0xFFFFFFFF">
      <BitField start="17" size="7" name="ADDCODE" description="Address match code (Slave&#xa;              mode)" />
      <BitField start="16" size="1" name="DIR" description="Transfer direction (Slave&#xa;              mode)" />
      <BitField start="15" size="1" name="BUSY" description="Bus busy" />
      <BitField start="13" size="1" name="ALERT" description="SMBus alert" />
      <BitField start="12" size="1" name="TIMEOUT" description="Timeout or t_low detection&#xa;              flag" />
      <BitField start="11" size="1" name="PECERR" description="PEC Error in reception" />
      <BitField start="10" size="1" name="OVR" description="Overrun/Underrun (slave&#xa;              mode)" />
      <BitField start="9" size="1" name="ARLO" description="Arbitration lost" />
      <BitField start="8" size="1" name="BERR" description="Bus error" />
      <BitField start="7" size="1" name="TCR" description="Transfer Complete Reload" />
      <BitField start="6" size="1" name="TC" description="Transfer Complete (master&#xa;              mode)" />
      <BitField start="5" size="1" name="STOPF" description="Stop detection flag" />
      <BitField start="4" size="1" name="NACKF" description="Not acknowledge received&#xa;              flag" />
      <BitField start="3" size="1" name="ADDR" description="Address matched (slave&#xa;              mode)" />
      <BitField start="2" size="1" name="RXNE" description="Receive data register not empty&#xa;              (receivers)" />
      <BitField start="1" size="1" name="TXIS" description="Transmit interrupt status&#xa;              (transmitters)" />
      <BitField start="0" size="1" name="TXE" description="Transmit data register empty&#xa;              (transmitters)" />
    </Register>
    <Register start="+0x1C" size="0" name="ICR" access="WriteOnly" description="Interrupt clear register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="13" size="1" name="ALERTCF" description="Alert flag clear" />
      <BitField start="12" size="1" name="TIMOUTCF" description="Timeout detection flag&#xa;              clear" />
      <BitField start="11" size="1" name="PECCF" description="PEC Error flag clear" />
      <BitField start="10" size="1" name="OVRCF" description="Overrun/Underrun flag&#xa;              clear" />
      <BitField start="9" size="1" name="ARLOCF" description="Arbitration lost flag&#xa;              clear" />
      <BitField start="8" size="1" name="BERRCF" description="Bus error flag clear" />
      <BitField start="5" size="1" name="STOPCF" description="Stop detection flag clear" />
      <BitField start="4" size="1" name="NACKCF" description="Not Acknowledge flag clear" />
      <BitField start="3" size="1" name="ADDRCF" description="Address Matched flag clear" />
    </Register>
    <Register start="+0x20" size="0" name="PECR" access="ReadOnly" description="PEC register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="8" name="PEC" description="Packet error checking&#xa;              register" />
    </Register>
    <Register start="+0x24" size="0" name="RXDR" access="ReadOnly" description="Receive data register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="8" name="RXDATA" description="8-bit receive data" />
    </Register>
    <Register start="+0x28" size="0" name="TXDR" access="Read/Write" description="Transmit data register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="8" name="TXDATA" description="8-bit transmit data" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="I2C2" start="0x40005800" description="Inter-integrated circuit">
    <Register start="+0x0" size="0" name="CR1" access="Read/Write" description="Control register 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="PE" description="Peripheral enable" />
      <BitField start="1" size="1" name="TXIE" description="TX Interrupt enable" />
      <BitField start="2" size="1" name="RXIE" description="RX Interrupt enable" />
      <BitField start="3" size="1" name="ADDRIE" description="Address match interrupt enable (slave&#xa;              only)" />
      <BitField start="4" size="1" name="NACKIE" description="Not acknowledge received interrupt&#xa;              enable" />
      <BitField start="5" size="1" name="STOPIE" description="STOP detection Interrupt&#xa;              enable" />
      <BitField start="6" size="1" name="TCIE" description="Transfer Complete interrupt&#xa;              enable" />
      <BitField start="7" size="1" name="ERRIE" description="Error interrupts enable" />
      <BitField start="8" size="4" name="DNF" description="Digital noise filter" />
      <BitField start="12" size="1" name="ANFOFF" description="Analog noise filter OFF" />
      <BitField start="14" size="1" name="TXDMAEN" description="DMA transmission requests&#xa;              enable" />
      <BitField start="15" size="1" name="RXDMAEN" description="DMA reception requests&#xa;              enable" />
      <BitField start="16" size="1" name="SBC" description="Slave byte control" />
      <BitField start="17" size="1" name="NOSTRETCH" description="Clock stretching disable" />
      <BitField start="18" size="1" name="WUPEN" description="Wakeup from STOP enable" />
      <BitField start="19" size="1" name="GCEN" description="General call enable" />
      <BitField start="20" size="1" name="SMBHEN" description="SMBus Host address enable" />
      <BitField start="21" size="1" name="SMBDEN" description="SMBus Device Default address&#xa;              enable" />
      <BitField start="22" size="1" name="ALERTEN" description="SMBUS alert enable" />
      <BitField start="23" size="1" name="PECEN" description="PEC enable" />
    </Register>
    <Register start="+0x4" size="0" name="CR2" access="Read/Write" description="Control register 2" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="26" size="1" name="PECBYTE" description="Packet error checking byte" />
      <BitField start="25" size="1" name="AUTOEND" description="Automatic end mode (master&#xa;              mode)" />
      <BitField start="24" size="1" name="RELOAD" description="NBYTES reload mode" />
      <BitField start="16" size="8" name="NBYTES" description="Number of bytes" />
      <BitField start="15" size="1" name="NACK" description="NACK generation (slave&#xa;              mode)" />
      <BitField start="14" size="1" name="STOP" description="Stop generation (master&#xa;              mode)" />
      <BitField start="13" size="1" name="START" description="Start generation" />
      <BitField start="12" size="1" name="HEAD10R" description="10-bit address header only read&#xa;              direction (master receiver mode)" />
      <BitField start="11" size="1" name="ADD10" description="10-bit addressing mode (master&#xa;              mode)" />
      <BitField start="10" size="1" name="RD_WRN" description="Transfer direction (master&#xa;              mode)" />
      <BitField start="0" size="10" name="SADD" description="Slave address bit (master&#xa;              mode)" />
    </Register>
    <Register start="+0x8" size="0" name="OAR1" access="Read/Write" description="Own address register 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="OA1_0" description="Interface address" />
      <BitField start="1" size="7" name="OA1_7_1" description="Interface address" />
      <BitField start="8" size="2" name="OA1_8_9" description="Interface address" />
      <BitField start="10" size="1" name="OA1MODE" description="Own Address 1 10-bit mode" />
      <BitField start="15" size="1" name="OA1EN" description="Own Address 1 enable" />
    </Register>
    <Register start="+0xC" size="0" name="OAR2" access="Read/Write" description="Own address register 2" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="1" size="7" name="OA2" description="Interface address" />
      <BitField start="8" size="3" name="OA2MSK" description="Own Address 2 masks" />
      <BitField start="15" size="1" name="OA2EN" description="Own Address 2 enable" />
    </Register>
    <Register start="+0x10" size="0" name="TIMINGR" access="Read/Write" description="Timing register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="8" name="SCLL" description="SCL low period (master&#xa;              mode)" />
      <BitField start="8" size="8" name="SCLH" description="SCL high period (master&#xa;              mode)" />
      <BitField start="16" size="4" name="SDADEL" description="Data hold time" />
      <BitField start="20" size="4" name="SCLDEL" description="Data setup time" />
      <BitField start="28" size="4" name="PRESC" description="Timing prescaler" />
    </Register>
    <Register start="+0x14" size="0" name="TIMEOUTR" access="Read/Write" description="Status register 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="12" name="TIMEOUTA" description="Bus timeout A" />
      <BitField start="12" size="1" name="TIDLE" description="Idle clock timeout&#xa;              detection" />
      <BitField start="15" size="1" name="TIMOUTEN" description="Clock timeout enable" />
      <BitField start="16" size="12" name="TIMEOUTB" description="Bus timeout B" />
      <BitField start="31" size="1" name="TEXTEN" description="Extended clock timeout&#xa;              enable" />
    </Register>
    <Register start="+0x18" size="0" name="ISR" access="Read/Write" description="Interrupt and Status register" reset_value="0x00000001" reset_mask="0xFFFFFFFF">
      <BitField start="17" size="7" name="ADDCODE" description="Address match code (Slave&#xa;              mode)" />
      <BitField start="16" size="1" name="DIR" description="Transfer direction (Slave&#xa;              mode)" />
      <BitField start="15" size="1" name="BUSY" description="Bus busy" />
      <BitField start="13" size="1" name="ALERT" description="SMBus alert" />
      <BitField start="12" size="1" name="TIMEOUT" description="Timeout or t_low detection&#xa;              flag" />
      <BitField start="11" size="1" name="PECERR" description="PEC Error in reception" />
      <BitField start="10" size="1" name="OVR" description="Overrun/Underrun (slave&#xa;              mode)" />
      <BitField start="9" size="1" name="ARLO" description="Arbitration lost" />
      <BitField start="8" size="1" name="BERR" description="Bus error" />
      <BitField start="7" size="1" name="TCR" description="Transfer Complete Reload" />
      <BitField start="6" size="1" name="TC" description="Transfer Complete (master&#xa;              mode)" />
      <BitField start="5" size="1" name="STOPF" description="Stop detection flag" />
      <BitField start="4" size="1" name="NACKF" description="Not acknowledge received&#xa;              flag" />
      <BitField start="3" size="1" name="ADDR" description="Address matched (slave&#xa;              mode)" />
      <BitField start="2" size="1" name="RXNE" description="Receive data register not empty&#xa;              (receivers)" />
      <BitField start="1" size="1" name="TXIS" description="Transmit interrupt status&#xa;              (transmitters)" />
      <BitField start="0" size="1" name="TXE" description="Transmit data register empty&#xa;              (transmitters)" />
    </Register>
    <Register start="+0x1C" size="0" name="ICR" access="WriteOnly" description="Interrupt clear register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="13" size="1" name="ALERTCF" description="Alert flag clear" />
      <BitField start="12" size="1" name="TIMOUTCF" description="Timeout detection flag&#xa;              clear" />
      <BitField start="11" size="1" name="PECCF" description="PEC Error flag clear" />
      <BitField start="10" size="1" name="OVRCF" description="Overrun/Underrun flag&#xa;              clear" />
      <BitField start="9" size="1" name="ARLOCF" description="Arbitration lost flag&#xa;              clear" />
      <BitField start="8" size="1" name="BERRCF" description="Bus error flag clear" />
      <BitField start="5" size="1" name="STOPCF" description="Stop detection flag clear" />
      <BitField start="4" size="1" name="NACKCF" description="Not Acknowledge flag clear" />
      <BitField start="3" size="1" name="ADDRCF" description="Address Matched flag clear" />
    </Register>
    <Register start="+0x20" size="0" name="PECR" access="ReadOnly" description="PEC register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="8" name="PEC" description="Packet error checking&#xa;              register" />
    </Register>
    <Register start="+0x24" size="0" name="RXDR" access="ReadOnly" description="Receive data register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="8" name="RXDATA" description="8-bit receive data" />
    </Register>
    <Register start="+0x28" size="0" name="TXDR" access="Read/Write" description="Transmit data register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="8" name="TXDATA" description="8-bit transmit data" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="RTC" start="0x40002800" description="Real-time clock">
    <Register start="+0x0" size="0" name="TR" access="Read/Write" description="time register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="22" size="1" name="PM" description="AM/PM notation" />
      <BitField start="20" size="2" name="HT" description="Hour tens in BCD format" />
      <BitField start="16" size="4" name="HU" description="Hour units in BCD format" />
      <BitField start="12" size="3" name="MNT" description="Minute tens in BCD format" />
      <BitField start="8" size="4" name="MNU" description="Minute units in BCD format" />
      <BitField start="4" size="3" name="ST" description="Second tens in BCD format" />
      <BitField start="0" size="4" name="SU" description="Second units in BCD format" />
    </Register>
    <Register start="+0x4" size="0" name="DR" access="Read/Write" description="date register" reset_value="0x00002101" reset_mask="0xFFFFFFFF">
      <BitField start="20" size="4" name="YT" description="Year tens in BCD format" />
      <BitField start="16" size="4" name="YU" description="Year units in BCD format" />
      <BitField start="13" size="3" name="WDU" description="Week day units" />
      <BitField start="12" size="1" name="MT" description="Month tens in BCD format" />
      <BitField start="8" size="4" name="MU" description="Month units in BCD format" />
      <BitField start="4" size="2" name="DT" description="Date tens in BCD format" />
      <BitField start="0" size="4" name="DU" description="Date units in BCD format" />
    </Register>
    <Register start="+0x8" size="0" name="SSR" access="ReadOnly" description="sub second register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="16" name="SS" description="Sub second value" />
    </Register>
    <Register start="+0xC" size="0" name="ICSR" access="Read/Write" description="initialization and status&#xa;          register" reset_value="0x00000007" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="ALRAWF" description="Alarm A write flag" />
      <BitField start="1" size="1" name="ALRBWF" description="Alarm B write flag" />
      <BitField start="2" size="1" name="WUTWF" description="Wakeup timer write flag" />
      <BitField start="3" size="1" name="SHPF" description="Shift operation pending" />
      <BitField start="4" size="1" name="INITS" description="Initialization status flag" />
      <BitField start="5" size="1" name="RSF" description="Registers synchronization&#xa;              flag" />
      <BitField start="6" size="1" name="INITF" description="Initialization flag" />
      <BitField start="7" size="1" name="INIT" description="Initialization mode" />
      <BitField start="16" size="1" name="RECALPF" description="Recalibration pending Flag" />
    </Register>
    <Register start="+0x10" size="0" name="PRER" access="Read/Write" description="prescaler register" reset_value="0x007F00FF" reset_mask="0xFFFFFFFF">
      <BitField start="16" size="7" name="PREDIV_A" description="Asynchronous prescaler&#xa;              factor" />
      <BitField start="0" size="15" name="PREDIV_S" description="Synchronous prescaler&#xa;              factor" />
    </Register>
    <Register start="+0x14" size="0" name="WUTR" access="Read/Write" description="wakeup timer register" reset_value="0x0000FFFF" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="16" name="WUT" description="Wakeup auto-reload value&#xa;              bits" />
    </Register>
    <Register start="+0x18" size="0" name="CR" access="Read/Write" description="control register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="3" name="WUCKSEL" description="WUCKSEL" />
      <BitField start="3" size="1" name="TSEDGE" description="TSEDGE" />
      <BitField start="4" size="1" name="REFCKON" description="REFCKON" />
      <BitField start="5" size="1" name="BYPSHAD" description="BYPSHAD" />
      <BitField start="6" size="1" name="FMT" description="FMT" />
      <BitField start="8" size="1" name="ALRAE" description="ALRAE" />
      <BitField start="9" size="1" name="ALRBE" description="ALRBE" />
      <BitField start="10" size="1" name="WUTE" description="WUTE" />
      <BitField start="11" size="1" name="TSE" description="TSE" />
      <BitField start="12" size="1" name="ALRAIE" description="ALRAIE" />
      <BitField start="13" size="1" name="ALRBIE" description="ALRBIE" />
      <BitField start="14" size="1" name="WUTIE" description="WUTIE" />
      <BitField start="15" size="1" name="TSIE" description="TSIE" />
      <BitField start="16" size="1" name="ADD1H" description="ADD1H" />
      <BitField start="17" size="1" name="SUB1H" description="SUB1H" />
      <BitField start="18" size="1" name="BKP" description="BKP" />
      <BitField start="19" size="1" name="COSEL" description="COSEL" />
      <BitField start="20" size="1" name="POL" description="POL" />
      <BitField start="21" size="2" name="OSEL" description="OSEL" />
      <BitField start="23" size="1" name="COE" description="COE" />
      <BitField start="24" size="1" name="ITSE" description="ITSE" />
      <BitField start="25" size="1" name="TAMPTS" description="TAMPTS" />
      <BitField start="26" size="1" name="TAMPOE" description="TAMPOE" />
      <BitField start="29" size="1" name="TAMPALRM_PU" description="TAMPALRM_PU" />
      <BitField start="30" size="1" name="TAMPALRM_TYPE" description="TAMPALRM_TYPE" />
      <BitField start="31" size="1" name="OUT2EN" description="OUT2EN" />
    </Register>
    <Register start="+0x24" size="0" name="WPR" access="WriteOnly" description="write protection register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="8" name="KEY" description="Write protection key" />
    </Register>
    <Register start="+0x28" size="0" name="CALR" access="Read/Write" description="calibration register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="15" size="1" name="CALP" description="Increase frequency of RTC by 488.5&#xa;              ppm" />
      <BitField start="14" size="1" name="CALW8" description="Use an 8-second calibration cycle&#xa;              period" />
      <BitField start="13" size="1" name="CALW16" description="Use a 16-second calibration cycle&#xa;              period" />
      <BitField start="0" size="9" name="CALM" description="Calibration minus" />
    </Register>
    <Register start="+0x2C" size="0" name="SHIFTR" access="WriteOnly" description="shift control register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="31" size="1" name="ADD1S" description="Add one second" />
      <BitField start="0" size="15" name="SUBFS" description="Subtract a fraction of a&#xa;              second" />
    </Register>
    <Register start="+0x30" size="0" name="TSTR" access="ReadOnly" description="time stamp time register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="4" name="SU" description="Second units in BCD format" />
      <BitField start="4" size="3" name="ST" description="Second tens in BCD format" />
      <BitField start="8" size="4" name="MNU" description="Minute units in BCD format" />
      <BitField start="12" size="3" name="MNT" description="Minute tens in BCD format" />
      <BitField start="16" size="4" name="HU" description="Hour units in BCD format" />
      <BitField start="20" size="2" name="HT" description="Hour tens in BCD format" />
      <BitField start="22" size="1" name="PM" description="AM/PM notation" />
    </Register>
    <Register start="+0x34" size="0" name="TSDR" access="ReadOnly" description="time stamp date register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="13" size="3" name="WDU" description="Week day units" />
      <BitField start="12" size="1" name="MT" description="Month tens in BCD format" />
      <BitField start="8" size="4" name="MU" description="Month units in BCD format" />
      <BitField start="4" size="2" name="DT" description="Date tens in BCD format" />
      <BitField start="0" size="4" name="DU" description="Date units in BCD format" />
    </Register>
    <Register start="+0x38" size="0" name="TSSSR" access="ReadOnly" description="timestamp sub second register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="16" name="SS" description="Sub second value" />
    </Register>
    <Register start="+0x40" size="0" name="ALRMAR" access="Read/Write" description="alarm A register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="31" size="1" name="MSK4" description="Alarm A date mask" />
      <BitField start="30" size="1" name="WDSEL" description="Week day selection" />
      <BitField start="28" size="2" name="DT" description="Date tens in BCD format" />
      <BitField start="24" size="4" name="DU" description="Date units or day in BCD&#xa;              format" />
      <BitField start="23" size="1" name="MSK3" description="Alarm A hours mask" />
      <BitField start="22" size="1" name="PM" description="AM/PM notation" />
      <BitField start="20" size="2" name="HT" description="Hour tens in BCD format" />
      <BitField start="16" size="4" name="HU" description="Hour units in BCD format" />
      <BitField start="15" size="1" name="MSK2" description="Alarm A minutes mask" />
      <BitField start="12" size="3" name="MNT" description="Minute tens in BCD format" />
      <BitField start="8" size="4" name="MNU" description="Minute units in BCD format" />
      <BitField start="7" size="1" name="MSK1" description="Alarm A seconds mask" />
      <BitField start="4" size="3" name="ST" description="Second tens in BCD format" />
      <BitField start="0" size="4" name="SU" description="Second units in BCD format" />
    </Register>
    <Register start="+0x44" size="0" name="ALRMASSR" access="Read/Write" description="alarm A sub second register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="24" size="4" name="MASKSS" description="Mask the most-significant bits starting&#xa;              at this bit" />
      <BitField start="0" size="15" name="SS" description="Sub seconds value" />
    </Register>
    <Register start="+0x48" size="0" name="ALRMBR" access="Read/Write" description="alarm B register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="31" size="1" name="MSK4" description="Alarm B date mask" />
      <BitField start="30" size="1" name="WDSEL" description="Week day selection" />
      <BitField start="28" size="2" name="DT" description="Date tens in BCD format" />
      <BitField start="24" size="4" name="DU" description="Date units or day in BCD&#xa;              format" />
      <BitField start="23" size="1" name="MSK3" description="Alarm B hours mask" />
      <BitField start="22" size="1" name="PM" description="AM/PM notation" />
      <BitField start="20" size="2" name="HT" description="Hour tens in BCD format" />
      <BitField start="16" size="4" name="HU" description="Hour units in BCD format" />
      <BitField start="15" size="1" name="MSK2" description="Alarm B minutes mask" />
      <BitField start="12" size="3" name="MNT" description="Minute tens in BCD format" />
      <BitField start="8" size="4" name="MNU" description="Minute units in BCD format" />
      <BitField start="7" size="1" name="MSK1" description="Alarm B seconds mask" />
      <BitField start="4" size="3" name="ST" description="Second tens in BCD format" />
      <BitField start="0" size="4" name="SU" description="Second units in BCD format" />
    </Register>
    <Register start="+0x4C" size="0" name="ALRMBSSR" access="Read/Write" description="alarm B sub second register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="24" size="4" name="MASKSS" description="Mask the most-significant bits starting&#xa;              at this bit" />
      <BitField start="0" size="15" name="SS" description="Sub seconds value" />
    </Register>
    <Register start="+0x50" size="0" name="SR" access="ReadOnly" description="status register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="ALRAF" description="ALRAF" />
      <BitField start="1" size="1" name="ALRBF" description="ALRBF" />
      <BitField start="2" size="1" name="WUTF" description="WUTF" />
      <BitField start="3" size="1" name="TSF" description="TSF" />
      <BitField start="4" size="1" name="TSOVF" description="TSOVF" />
      <BitField start="5" size="1" name="ITSF" description="ITSF" />
    </Register>
    <Register start="+0x54" size="0" name="MISR" access="ReadOnly" description="masked interrupt status&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="ALRAMF" description="ALRAMF" />
      <BitField start="1" size="1" name="ALRBMF" description="ALRBMF" />
      <BitField start="2" size="1" name="WUTMF" description="WUTMF" />
      <BitField start="3" size="1" name="TSMF" description="TSMF" />
      <BitField start="4" size="1" name="TSOVMF" description="TSOVMF" />
      <BitField start="5" size="1" name="ITSMF" description="ITSMF" />
    </Register>
    <Register start="+0x5C" size="0" name="SCR" access="Read/Write" description="status clear register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="CALRAF" description="CALRAF" />
      <BitField start="1" size="1" name="CALRBF" description="CALRBF" />
      <BitField start="2" size="1" name="CWUTF" description="CWUTF" />
      <BitField start="3" size="1" name="CTSF" description="CTSF" />
      <BitField start="4" size="1" name="CTSOVF" description="CTSOVF" />
      <BitField start="5" size="1" name="CITSF" description="CITSF" />
    </Register>
    <Register start="+0x3F0" size="0" name="HWCFGR" access="Read/Write" description="hardware configuration&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="4" name="ALARMB" description="ALARMB" />
      <BitField start="4" size="4" name="WAKEUP" description="WAKEUP" />
      <BitField start="8" size="4" name="SMOOTH_CALIB" description="SMOOTH_CALIB" />
      <BitField start="12" size="4" name="TIMESTAMP" description="TIMESTAMP" />
      <BitField start="16" size="8" name="OPTIONREG_OUT" description="OPTIONREG_OUT" />
      <BitField start="24" size="4" name="TRUST_ZONE" description="TRUST_ZONE" />
    </Register>
    <Register start="+0x3F4" size="0" name="VERR" access="ReadOnly" description="EXTI IP Version register" reset_value="0x00000010" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="4" name="MINREV" description="Minor Revision number" />
      <BitField start="4" size="4" name="MAJREV" description="Major Revision number" />
    </Register>
    <Register start="+0x3F8" size="0" name="IPIDR" access="ReadOnly" description="EXTI Identification register" reset_value="0x00120033" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="IPID" description="IP Identification" />
    </Register>
    <Register start="+0x3FC" size="0" name="SIDR" access="ReadOnly" description="EXTI Size ID register" reset_value="0xA3C5DD01" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="SID" description="Size Identification" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="TIM14" start="0x40002000" description="General purpose timers">
    <Register start="+0x0" size="0" name="CR1" access="Read/Write" description="control register 1" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="11" size="1" name="UIFREMAP" description="UIF status bit remapping" />
      <BitField start="8" size="2" name="CKD" description="Clock division" />
      <BitField start="7" size="1" name="ARPE" description="Auto-reload preload enable" />
      <BitField start="3" size="1" name="OPM" description="One-pulse mode" />
      <BitField start="2" size="1" name="URS" description="Update request source" />
      <BitField start="1" size="1" name="UDIS" description="Update disable" />
      <BitField start="0" size="1" name="CEN" description="Counter enable" />
    </Register>
    <Register start="+0xC" size="0" name="DIER" access="Read/Write" description="DMA/Interrupt enable register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="1" size="1" name="CC1IE" description="Capture/Compare 1 interrupt&#xa;              enable" />
      <BitField start="0" size="1" name="UIE" description="Update interrupt enable" />
    </Register>
    <Register start="+0x10" size="0" name="SR" access="Read/Write" description="status register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="9" size="1" name="CC1OF" description="Capture/Compare 1 overcapture&#xa;              flag" />
      <BitField start="1" size="1" name="CC1IF" description="Capture/compare 1 interrupt&#xa;              flag" />
      <BitField start="0" size="1" name="UIF" description="Update interrupt flag" />
    </Register>
    <Register start="+0x14" size="0" name="EGR" access="WriteOnly" description="event generation register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="1" size="1" name="CC1G" description="Capture/compare 1&#xa;              generation" />
      <BitField start="0" size="1" name="UG" description="Update generation" />
    </Register>
    <Register start="+0x18" size="0" name="CCMR1_Output" access="Read/Write" description="capture/compare mode register 1 (output&#xa;          mode)" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="2" name="CC1S" description="CC1S" />
      <BitField start="2" size="1" name="OC1FE" description="OC1FE" />
      <BitField start="3" size="1" name="OC1PE" description="OC1PE" />
      <BitField start="4" size="3" name="OC1M" description="OC1M" />
      <BitField start="7" size="1" name="OC1CE" description="OC1CE" />
      <BitField start="16" size="1" name="OC1M_3" description="Output Compare 1 mode - bit&#xa;              3" />
    </Register>
    <Register start="+0x18" size="0" name="CCMR1_Input" access="Read/Write" description="capture/compare mode register 1 (input&#xa;          mode)" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="4" size="4" name="IC1F" description="Input capture 1 filter" />
      <BitField start="2" size="2" name="ICPCS" description="Input capture 1 prescaler" />
      <BitField start="0" size="2" name="CC1S" description="Capture/Compare 1&#xa;              selection" />
    </Register>
    <Register start="+0x20" size="0" name="CCER" access="Read/Write" description="capture/compare enable&#xa;          register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="3" size="1" name="CC1NP" description="Capture/Compare 1 output&#xa;              Polarity" />
      <BitField start="1" size="1" name="CC1P" description="Capture/Compare 1 output&#xa;              Polarity" />
      <BitField start="0" size="1" name="CC1E" description="Capture/Compare 1 output&#xa;              enable" />
    </Register>
    <Register start="+0x24" size="0" name="CNT" access="Read/Write" description="counter" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="16" name="CNT" description="low counter value" />
      <BitField start="31" size="1" name="UIFCPY" description="UIF Copy" />
    </Register>
    <Register start="+0x28" size="0" name="PSC" access="Read/Write" description="prescaler" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="16" name="PSC" description="Prescaler value" />
    </Register>
    <Register start="+0x2C" size="0" name="ARR" access="Read/Write" description="auto-reload register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="16" name="ARR" description="Low Auto-reload value" />
    </Register>
    <Register start="+0x34" size="0" name="CCR1" access="Read/Write" description="capture/compare register 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="16" name="CCR1" description="Low Capture/Compare 1&#xa;              value" />
    </Register>
    <Register start="+0x68" size="0" name="TISEL" access="Read/Write" description="TIM timer input selection&#xa;          register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="4" name="TISEL" description="TI1[0] to TI1[15] input&#xa;              selection" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="TIM6" start="0x40001000" description="Basic timers">
    <Register start="+0x0" size="0" name="CR1" access="Read/Write" description="control register 1" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="11" size="1" name="UIFREMAP" description="UIF status bit remapping" />
      <BitField start="7" size="1" name="ARPE" description="Auto-reload preload enable" />
      <BitField start="3" size="1" name="OPM" description="One-pulse mode" />
      <BitField start="2" size="1" name="URS" description="Update request source" />
      <BitField start="1" size="1" name="UDIS" description="Update disable" />
      <BitField start="0" size="1" name="CEN" description="Counter enable" />
    </Register>
    <Register start="+0x4" size="0" name="CR2" access="Read/Write" description="control register 2" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="4" size="3" name="MMS" description="Master mode selection" />
    </Register>
    <Register start="+0xC" size="0" name="DIER" access="Read/Write" description="DMA/Interrupt enable register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="8" size="1" name="UDE" description="Update DMA request enable" />
      <BitField start="0" size="1" name="UIE" description="Update interrupt enable" />
    </Register>
    <Register start="+0x10" size="0" name="SR" access="Read/Write" description="status register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="UIF" description="Update interrupt flag" />
    </Register>
    <Register start="+0x14" size="0" name="EGR" access="WriteOnly" description="event generation register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="UG" description="Update generation" />
    </Register>
    <Register start="+0x24" size="0" name="CNT" access="Read/Write" description="counter" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="16" name="CNT" description="Low counter value" />
      <BitField start="31" size="1" name="UIFCPY" description="UIF Copy" />
    </Register>
    <Register start="+0x28" size="0" name="PSC" access="Read/Write" description="prescaler" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="16" name="PSC" description="Prescaler value" />
    </Register>
    <Register start="+0x2C" size="0" name="ARR" access="Read/Write" description="auto-reload register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="16" name="ARR" description="Low Auto-reload value" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="TIM7" start="0x40001400" description="Basic timers">
    <Register start="+0x0" size="0" name="CR1" access="Read/Write" description="control register 1" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="11" size="1" name="UIFREMAP" description="UIF status bit remapping" />
      <BitField start="7" size="1" name="ARPE" description="Auto-reload preload enable" />
      <BitField start="3" size="1" name="OPM" description="One-pulse mode" />
      <BitField start="2" size="1" name="URS" description="Update request source" />
      <BitField start="1" size="1" name="UDIS" description="Update disable" />
      <BitField start="0" size="1" name="CEN" description="Counter enable" />
    </Register>
    <Register start="+0x4" size="0" name="CR2" access="Read/Write" description="control register 2" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="4" size="3" name="MMS" description="Master mode selection" />
    </Register>
    <Register start="+0xC" size="0" name="DIER" access="Read/Write" description="DMA/Interrupt enable register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="8" size="1" name="UDE" description="Update DMA request enable" />
      <BitField start="0" size="1" name="UIE" description="Update interrupt enable" />
    </Register>
    <Register start="+0x10" size="0" name="SR" access="Read/Write" description="status register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="UIF" description="Update interrupt flag" />
    </Register>
    <Register start="+0x14" size="0" name="EGR" access="WriteOnly" description="event generation register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="UG" description="Update generation" />
    </Register>
    <Register start="+0x24" size="0" name="CNT" access="Read/Write" description="counter" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="16" name="CNT" description="Low counter value" />
      <BitField start="31" size="1" name="UIFCPY" description="UIF Copy" />
    </Register>
    <Register start="+0x28" size="0" name="PSC" access="Read/Write" description="prescaler" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="16" name="PSC" description="Prescaler value" />
    </Register>
    <Register start="+0x2C" size="0" name="ARR" access="Read/Write" description="auto-reload register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="16" name="ARR" description="Low Auto-reload value" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="TIM2" start="0x40000000" description="General-purpose-timers">
    <Register start="+0x0" size="0" name="CR1" access="Read/Write" description="control register 1" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="11" size="1" name="UIFREMAP" description="UIF status bit remapping" />
      <BitField start="8" size="2" name="CKD" description="Clock division" />
      <BitField start="7" size="1" name="ARPE" description="Auto-reload preload enable" />
      <BitField start="5" size="2" name="CMS" description="Center-aligned mode&#xa;              selection" />
      <BitField start="4" size="1" name="DIR" description="Direction" />
      <BitField start="3" size="1" name="OPM" description="One-pulse mode" />
      <BitField start="2" size="1" name="URS" description="Update request source" />
      <BitField start="1" size="1" name="UDIS" description="Update disable" />
      <BitField start="0" size="1" name="CEN" description="Counter enable" />
    </Register>
    <Register start="+0x4" size="0" name="CR2" access="Read/Write" description="control register 2" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="7" size="1" name="TI1S" description="TI1 selection" />
      <BitField start="4" size="3" name="MMS" description="Master mode selection" />
      <BitField start="3" size="1" name="CCDS" description="Capture/compare DMA&#xa;              selection" />
    </Register>
    <Register start="+0x8" size="0" name="SMCR" access="Read/Write" description="slave mode control register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="20" size="2" name="TS_4_3" description="Trigger selection" />
      <BitField start="16" size="1" name="SMS_3" description="Slave mode selection - bit&#xa;              3" />
      <BitField start="15" size="1" name="ETP" description="External trigger polarity" />
      <BitField start="14" size="1" name="ECE" description="External clock enable" />
      <BitField start="12" size="2" name="ETPS" description="External trigger prescaler" />
      <BitField start="8" size="4" name="ETF" description="External trigger filter" />
      <BitField start="7" size="1" name="MSM" description="Master/Slave mode" />
      <BitField start="4" size="3" name="TS" description="Trigger selection" />
      <BitField start="3" size="1" name="OCCS" description="OCREF clear selection" />
      <BitField start="0" size="3" name="SMS" description="Slave mode selection" />
    </Register>
    <Register start="+0xC" size="0" name="DIER" access="Read/Write" description="DMA/Interrupt enable register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="14" size="1" name="TDE" description="Trigger DMA request enable" />
      <BitField start="12" size="1" name="CC4DE" description="Capture/Compare 4 DMA request&#xa;              enable" />
      <BitField start="11" size="1" name="CC3DE" description="Capture/Compare 3 DMA request&#xa;              enable" />
      <BitField start="10" size="1" name="CC2DE" description="Capture/Compare 2 DMA request&#xa;              enable" />
      <BitField start="9" size="1" name="CC1DE" description="Capture/Compare 1 DMA request&#xa;              enable" />
      <BitField start="8" size="1" name="UDE" description="Update DMA request enable" />
      <BitField start="6" size="1" name="TIE" description="Trigger interrupt enable" />
      <BitField start="4" size="1" name="CC4IE" description="Capture/Compare 4 interrupt&#xa;              enable" />
      <BitField start="3" size="1" name="CC3IE" description="Capture/Compare 3 interrupt&#xa;              enable" />
      <BitField start="2" size="1" name="CC2IE" description="Capture/Compare 2 interrupt&#xa;              enable" />
      <BitField start="1" size="1" name="CC1IE" description="Capture/Compare 1 interrupt&#xa;              enable" />
      <BitField start="0" size="1" name="UIE" description="Update interrupt enable" />
    </Register>
    <Register start="+0x10" size="0" name="SR" access="Read/Write" description="status register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="12" size="1" name="CC4OF" description="Capture/Compare 4 overcapture&#xa;              flag" />
      <BitField start="11" size="1" name="CC3OF" description="Capture/Compare 3 overcapture&#xa;              flag" />
      <BitField start="10" size="1" name="CC2OF" description="Capture/compare 2 overcapture&#xa;              flag" />
      <BitField start="9" size="1" name="CC1OF" description="Capture/Compare 1 overcapture&#xa;              flag" />
      <BitField start="6" size="1" name="TIF" description="Trigger interrupt flag" />
      <BitField start="4" size="1" name="CC4IF" description="Capture/Compare 4 interrupt&#xa;              flag" />
      <BitField start="3" size="1" name="CC3IF" description="Capture/Compare 3 interrupt&#xa;              flag" />
      <BitField start="2" size="1" name="CC2IF" description="Capture/Compare 2 interrupt&#xa;              flag" />
      <BitField start="1" size="1" name="CC1IF" description="Capture/compare 1 interrupt&#xa;              flag" />
      <BitField start="0" size="1" name="UIF" description="Update interrupt flag" />
    </Register>
    <Register start="+0x14" size="0" name="EGR" access="WriteOnly" description="event generation register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="6" size="1" name="TG" description="Trigger generation" />
      <BitField start="4" size="1" name="CC4G" description="Capture/compare 4&#xa;              generation" />
      <BitField start="3" size="1" name="CC3G" description="Capture/compare 3&#xa;              generation" />
      <BitField start="2" size="1" name="CC2G" description="Capture/compare 2&#xa;              generation" />
      <BitField start="1" size="1" name="CC1G" description="Capture/compare 1&#xa;              generation" />
      <BitField start="0" size="1" name="UG" description="Update generation" />
    </Register>
    <Register start="+0x18" size="0" name="CCMR1_Output" access="Read/Write" description="capture/compare mode register 1 (output&#xa;          mode)" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="24" size="1" name="OC2M_3" description="Output Compare 2 mode - bit&#xa;              3" />
      <BitField start="16" size="1" name="OC1M_3" description="Output Compare 1 mode - bit&#xa;              3" />
      <BitField start="15" size="1" name="OC2CE" description="Output compare 2 clear&#xa;              enable" />
      <BitField start="12" size="3" name="OC2M" description="Output compare 2 mode" />
      <BitField start="11" size="1" name="OC2PE" description="Output compare 2 preload&#xa;              enable" />
      <BitField start="10" size="1" name="OC2FE" description="Output compare 2 fast&#xa;              enable" />
      <BitField start="8" size="2" name="CC2S" description="Capture/Compare 2&#xa;              selection" />
      <BitField start="7" size="1" name="OC1CE" description="Output compare 1 clear&#xa;              enable" />
      <BitField start="4" size="3" name="OC1M" description="Output compare 1 mode" />
      <BitField start="3" size="1" name="OC1PE" description="Output compare 1 preload&#xa;              enable" />
      <BitField start="2" size="1" name="OC1FE" description="Output compare 1 fast&#xa;              enable" />
      <BitField start="0" size="2" name="CC1S" description="Capture/Compare 1&#xa;              selection" />
    </Register>
    <Register start="+0x18" size="0" name="CCMR1_Input" access="Read/Write" description="capture/compare mode register 1 (input&#xa;          mode)" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="12" size="4" name="IC2F" description="Input capture 2 filter" />
      <BitField start="10" size="2" name="IC2PSC" description="Input capture 2 prescaler" />
      <BitField start="8" size="2" name="CC2S" description="Capture/compare 2&#xa;              selection" />
      <BitField start="4" size="4" name="IC1F" description="Input capture 1 filter" />
      <BitField start="2" size="2" name="IC1PSC" description="Input capture 1 prescaler" />
      <BitField start="0" size="2" name="CC1S" description="Capture/Compare 1&#xa;              selection" />
    </Register>
    <Register start="+0x1C" size="0" name="CCMR2_Output" access="Read/Write" description="capture/compare mode register 2 (output&#xa;          mode)" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="24" size="1" name="OC4M_3" description="Output Compare 4 mode - bit&#xa;              3" />
      <BitField start="16" size="1" name="OC3M_3" description="Output Compare 3 mode - bit&#xa;              3" />
      <BitField start="15" size="1" name="OC4CE" description="Output compare 4 clear&#xa;              enable" />
      <BitField start="12" size="3" name="OC4M" description="Output compare 4 mode" />
      <BitField start="11" size="1" name="OC4PE" description="Output compare 4 preload&#xa;              enable" />
      <BitField start="10" size="1" name="OC4FE" description="Output compare 4 fast&#xa;              enable" />
      <BitField start="8" size="2" name="CC4S" description="Capture/Compare 4&#xa;              selection" />
      <BitField start="7" size="1" name="OC3CE" description="Output compare 3 clear&#xa;              enable" />
      <BitField start="4" size="3" name="OC3M" description="Output compare 3 mode" />
      <BitField start="3" size="1" name="OC3PE" description="Output compare 3 preload&#xa;              enable" />
      <BitField start="2" size="1" name="OC3FE" description="Output compare 3 fast&#xa;              enable" />
      <BitField start="0" size="2" name="CC3S" description="Capture/Compare 3&#xa;              selection" />
    </Register>
    <Register start="+0x1C" size="0" name="CCMR2_Input" access="Read/Write" description="capture/compare mode register 2 (input&#xa;          mode)" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="12" size="4" name="IC4F" description="Input capture 4 filter" />
      <BitField start="10" size="2" name="IC4PSC" description="Input capture 4 prescaler" />
      <BitField start="8" size="2" name="CC4S" description="Capture/Compare 4&#xa;              selection" />
      <BitField start="4" size="4" name="IC3F" description="Input capture 3 filter" />
      <BitField start="2" size="2" name="IC3PSC" description="Input capture 3 prescaler" />
      <BitField start="0" size="2" name="CC3S" description="Capture/Compare 3&#xa;              selection" />
    </Register>
    <Register start="+0x20" size="0" name="CCER" access="Read/Write" description="capture/compare enable&#xa;          register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="15" size="1" name="CC4NP" description="Capture/Compare 4 output&#xa;              Polarity" />
      <BitField start="13" size="1" name="CC4P" description="Capture/Compare 3 output&#xa;              Polarity" />
      <BitField start="12" size="1" name="CC4E" description="Capture/Compare 4 output&#xa;              enable" />
      <BitField start="11" size="1" name="CC3NP" description="Capture/Compare 3 output&#xa;              Polarity" />
      <BitField start="9" size="1" name="CC3P" description="Capture/Compare 3 output&#xa;              Polarity" />
      <BitField start="8" size="1" name="CC3E" description="Capture/Compare 3 output&#xa;              enable" />
      <BitField start="7" size="1" name="CC2NP" description="Capture/Compare 2 output&#xa;              Polarity" />
      <BitField start="5" size="1" name="CC2P" description="Capture/Compare 2 output&#xa;              Polarity" />
      <BitField start="4" size="1" name="CC2E" description="Capture/Compare 2 output&#xa;              enable" />
      <BitField start="3" size="1" name="CC1NP" description="Capture/Compare 1 output&#xa;              Polarity" />
      <BitField start="1" size="1" name="CC1P" description="Capture/Compare 1 output&#xa;              Polarity" />
      <BitField start="0" size="1" name="CC1E" description="Capture/Compare 1 output&#xa;              enable" />
    </Register>
    <Register start="+0x24" size="0" name="CNT" access="Read/Write" description="counter" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="16" size="16" name="CNT_H" description="High counter value (TIM2&#xa;              only)" />
      <BitField start="0" size="16" name="CNT_L" description="Low counter value" />
    </Register>
    <Register start="+0x28" size="0" name="PSC" access="Read/Write" description="prescaler" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="16" name="PSC" description="Prescaler value" />
    </Register>
    <Register start="+0x2C" size="0" name="ARR" access="Read/Write" description="auto-reload register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="16" size="16" name="ARR_H" description="High Auto-reload value (TIM2&#xa;              only)" />
      <BitField start="0" size="16" name="ARR_L" description="Low Auto-reload value" />
    </Register>
    <Register start="+0x34" size="0" name="CCR1" access="Read/Write" description="capture/compare register 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="16" size="16" name="CCR1_H" description="High Capture/Compare 1 value (TIM2&#xa;              only)" />
      <BitField start="0" size="16" name="CCR1_L" description="Low Capture/Compare 1&#xa;              value" />
    </Register>
    <Register start="+0x38" size="0" name="CCR2" access="Read/Write" description="capture/compare register 2" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="16" size="16" name="CCR2_H" description="High Capture/Compare 2 value (TIM2&#xa;              only)" />
      <BitField start="0" size="16" name="CCR2_L" description="Low Capture/Compare 2&#xa;              value" />
    </Register>
    <Register start="+0x3C" size="0" name="CCR3" access="Read/Write" description="capture/compare register 3" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="16" size="16" name="CCR3_H" description="High Capture/Compare value (TIM2&#xa;              only)" />
      <BitField start="0" size="16" name="CCR3_L" description="Low Capture/Compare value" />
    </Register>
    <Register start="+0x40" size="0" name="CCR4" access="Read/Write" description="capture/compare register 4" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="16" size="16" name="CCR4_H" description="High Capture/Compare value (TIM2&#xa;              only)" />
      <BitField start="0" size="16" name="CCR4_L" description="Low Capture/Compare value" />
    </Register>
    <Register start="+0x48" size="0" name="DCR" access="Read/Write" description="DMA control register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="8" size="5" name="DBL" description="DMA burst length" />
      <BitField start="0" size="5" name="DBA" description="DMA base address" />
    </Register>
    <Register start="+0x4C" size="0" name="DMAR" access="Read/Write" description="DMA address for full transfer" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="16" name="DMAB" description="DMA register for burst&#xa;              accesses" />
    </Register>
    <Register start="+0x50" size="0" name="OR1" access="Read/Write" description="TIM option register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="IOCREF_CLR" description="IOCREF_CLR" />
    </Register>
    <Register start="+0x60" size="0" name="AF1" access="Read/Write" description="TIM alternate function option register&#xa;          1" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="14" size="4" name="ETRSEL" description="External trigger source&#xa;              selection" />
    </Register>
    <Register start="+0x68" size="0" name="TISEL" access="Read/Write" description="TIM alternate function option register&#xa;          1" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="4" name="TI1SEL" description="TI1SEL" />
      <BitField start="8" size="4" name="TI2SEL" description="TI2SEL" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="TIM3" start="0x40000400" description="General-purpose-timers">
    <Register start="+0x0" size="0" name="CR1" access="Read/Write" description="control register 1" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="11" size="1" name="UIFREMAP" description="UIF status bit remapping" />
      <BitField start="8" size="2" name="CKD" description="Clock division" />
      <BitField start="7" size="1" name="ARPE" description="Auto-reload preload enable" />
      <BitField start="5" size="2" name="CMS" description="Center-aligned mode&#xa;              selection" />
      <BitField start="4" size="1" name="DIR" description="Direction" />
      <BitField start="3" size="1" name="OPM" description="One-pulse mode" />
      <BitField start="2" size="1" name="URS" description="Update request source" />
      <BitField start="1" size="1" name="UDIS" description="Update disable" />
      <BitField start="0" size="1" name="CEN" description="Counter enable" />
    </Register>
    <Register start="+0x4" size="0" name="CR2" access="Read/Write" description="control register 2" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="7" size="1" name="TI1S" description="TI1 selection" />
      <BitField start="4" size="3" name="MMS" description="Master mode selection" />
      <BitField start="3" size="1" name="CCDS" description="Capture/compare DMA&#xa;              selection" />
    </Register>
    <Register start="+0x8" size="0" name="SMCR" access="Read/Write" description="slave mode control register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="20" size="2" name="TS_4_3" description="Trigger selection" />
      <BitField start="16" size="1" name="SMS_3" description="Slave mode selection - bit&#xa;              3" />
      <BitField start="15" size="1" name="ETP" description="External trigger polarity" />
      <BitField start="14" size="1" name="ECE" description="External clock enable" />
      <BitField start="12" size="2" name="ETPS" description="External trigger prescaler" />
      <BitField start="8" size="4" name="ETF" description="External trigger filter" />
      <BitField start="7" size="1" name="MSM" description="Master/Slave mode" />
      <BitField start="4" size="3" name="TS" description="Trigger selection" />
      <BitField start="3" size="1" name="OCCS" description="OCREF clear selection" />
      <BitField start="0" size="3" name="SMS" description="Slave mode selection" />
    </Register>
    <Register start="+0xC" size="0" name="DIER" access="Read/Write" description="DMA/Interrupt enable register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="14" size="1" name="TDE" description="Trigger DMA request enable" />
      <BitField start="12" size="1" name="CC4DE" description="Capture/Compare 4 DMA request&#xa;              enable" />
      <BitField start="11" size="1" name="CC3DE" description="Capture/Compare 3 DMA request&#xa;              enable" />
      <BitField start="10" size="1" name="CC2DE" description="Capture/Compare 2 DMA request&#xa;              enable" />
      <BitField start="9" size="1" name="CC1DE" description="Capture/Compare 1 DMA request&#xa;              enable" />
      <BitField start="8" size="1" name="UDE" description="Update DMA request enable" />
      <BitField start="6" size="1" name="TIE" description="Trigger interrupt enable" />
      <BitField start="4" size="1" name="CC4IE" description="Capture/Compare 4 interrupt&#xa;              enable" />
      <BitField start="3" size="1" name="CC3IE" description="Capture/Compare 3 interrupt&#xa;              enable" />
      <BitField start="2" size="1" name="CC2IE" description="Capture/Compare 2 interrupt&#xa;              enable" />
      <BitField start="1" size="1" name="CC1IE" description="Capture/Compare 1 interrupt&#xa;              enable" />
      <BitField start="0" size="1" name="UIE" description="Update interrupt enable" />
    </Register>
    <Register start="+0x10" size="0" name="SR" access="Read/Write" description="status register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="12" size="1" name="CC4OF" description="Capture/Compare 4 overcapture&#xa;              flag" />
      <BitField start="11" size="1" name="CC3OF" description="Capture/Compare 3 overcapture&#xa;              flag" />
      <BitField start="10" size="1" name="CC2OF" description="Capture/compare 2 overcapture&#xa;              flag" />
      <BitField start="9" size="1" name="CC1OF" description="Capture/Compare 1 overcapture&#xa;              flag" />
      <BitField start="6" size="1" name="TIF" description="Trigger interrupt flag" />
      <BitField start="4" size="1" name="CC4IF" description="Capture/Compare 4 interrupt&#xa;              flag" />
      <BitField start="3" size="1" name="CC3IF" description="Capture/Compare 3 interrupt&#xa;              flag" />
      <BitField start="2" size="1" name="CC2IF" description="Capture/Compare 2 interrupt&#xa;              flag" />
      <BitField start="1" size="1" name="CC1IF" description="Capture/compare 1 interrupt&#xa;              flag" />
      <BitField start="0" size="1" name="UIF" description="Update interrupt flag" />
    </Register>
    <Register start="+0x14" size="0" name="EGR" access="WriteOnly" description="event generation register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="6" size="1" name="TG" description="Trigger generation" />
      <BitField start="4" size="1" name="CC4G" description="Capture/compare 4&#xa;              generation" />
      <BitField start="3" size="1" name="CC3G" description="Capture/compare 3&#xa;              generation" />
      <BitField start="2" size="1" name="CC2G" description="Capture/compare 2&#xa;              generation" />
      <BitField start="1" size="1" name="CC1G" description="Capture/compare 1&#xa;              generation" />
      <BitField start="0" size="1" name="UG" description="Update generation" />
    </Register>
    <Register start="+0x18" size="0" name="CCMR1_Output" access="Read/Write" description="capture/compare mode register 1 (output&#xa;          mode)" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="24" size="1" name="OC2M_3" description="Output Compare 2 mode - bit&#xa;              3" />
      <BitField start="16" size="1" name="OC1M_3" description="Output Compare 1 mode - bit&#xa;              3" />
      <BitField start="15" size="1" name="OC2CE" description="Output compare 2 clear&#xa;              enable" />
      <BitField start="12" size="3" name="OC2M" description="Output compare 2 mode" />
      <BitField start="11" size="1" name="OC2PE" description="Output compare 2 preload&#xa;              enable" />
      <BitField start="10" size="1" name="OC2FE" description="Output compare 2 fast&#xa;              enable" />
      <BitField start="8" size="2" name="CC2S" description="Capture/Compare 2&#xa;              selection" />
      <BitField start="7" size="1" name="OC1CE" description="Output compare 1 clear&#xa;              enable" />
      <BitField start="4" size="3" name="OC1M" description="Output compare 1 mode" />
      <BitField start="3" size="1" name="OC1PE" description="Output compare 1 preload&#xa;              enable" />
      <BitField start="2" size="1" name="OC1FE" description="Output compare 1 fast&#xa;              enable" />
      <BitField start="0" size="2" name="CC1S" description="Capture/Compare 1&#xa;              selection" />
    </Register>
    <Register start="+0x18" size="0" name="CCMR1_Input" access="Read/Write" description="capture/compare mode register 1 (input&#xa;          mode)" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="12" size="4" name="IC2F" description="Input capture 2 filter" />
      <BitField start="10" size="2" name="IC2PSC" description="Input capture 2 prescaler" />
      <BitField start="8" size="2" name="CC2S" description="Capture/compare 2&#xa;              selection" />
      <BitField start="4" size="4" name="IC1F" description="Input capture 1 filter" />
      <BitField start="2" size="2" name="IC1PSC" description="Input capture 1 prescaler" />
      <BitField start="0" size="2" name="CC1S" description="Capture/Compare 1&#xa;              selection" />
    </Register>
    <Register start="+0x1C" size="0" name="CCMR2_Output" access="Read/Write" description="capture/compare mode register 2 (output&#xa;          mode)" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="24" size="1" name="OC4M_3" description="Output Compare 4 mode - bit&#xa;              3" />
      <BitField start="16" size="1" name="OC3M_3" description="Output Compare 3 mode - bit&#xa;              3" />
      <BitField start="15" size="1" name="OC4CE" description="Output compare 4 clear&#xa;              enable" />
      <BitField start="12" size="3" name="OC4M" description="Output compare 4 mode" />
      <BitField start="11" size="1" name="OC4PE" description="Output compare 4 preload&#xa;              enable" />
      <BitField start="10" size="1" name="OC4FE" description="Output compare 4 fast&#xa;              enable" />
      <BitField start="8" size="2" name="CC4S" description="Capture/Compare 4&#xa;              selection" />
      <BitField start="7" size="1" name="OC3CE" description="Output compare 3 clear&#xa;              enable" />
      <BitField start="4" size="3" name="OC3M" description="Output compare 3 mode" />
      <BitField start="3" size="1" name="OC3PE" description="Output compare 3 preload&#xa;              enable" />
      <BitField start="2" size="1" name="OC3FE" description="Output compare 3 fast&#xa;              enable" />
      <BitField start="0" size="2" name="CC3S" description="Capture/Compare 3&#xa;              selection" />
    </Register>
    <Register start="+0x1C" size="0" name="CCMR2_Input" access="Read/Write" description="capture/compare mode register 2 (input&#xa;          mode)" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="12" size="4" name="IC4F" description="Input capture 4 filter" />
      <BitField start="10" size="2" name="IC4PSC" description="Input capture 4 prescaler" />
      <BitField start="8" size="2" name="CC4S" description="Capture/Compare 4&#xa;              selection" />
      <BitField start="4" size="4" name="IC3F" description="Input capture 3 filter" />
      <BitField start="2" size="2" name="IC3PSC" description="Input capture 3 prescaler" />
      <BitField start="0" size="2" name="CC3S" description="Capture/Compare 3&#xa;              selection" />
    </Register>
    <Register start="+0x20" size="0" name="CCER" access="Read/Write" description="capture/compare enable&#xa;          register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="15" size="1" name="CC4NP" description="Capture/Compare 4 output&#xa;              Polarity" />
      <BitField start="13" size="1" name="CC4P" description="Capture/Compare 3 output&#xa;              Polarity" />
      <BitField start="12" size="1" name="CC4E" description="Capture/Compare 4 output&#xa;              enable" />
      <BitField start="11" size="1" name="CC3NP" description="Capture/Compare 3 output&#xa;              Polarity" />
      <BitField start="9" size="1" name="CC3P" description="Capture/Compare 3 output&#xa;              Polarity" />
      <BitField start="8" size="1" name="CC3E" description="Capture/Compare 3 output&#xa;              enable" />
      <BitField start="7" size="1" name="CC2NP" description="Capture/Compare 2 output&#xa;              Polarity" />
      <BitField start="5" size="1" name="CC2P" description="Capture/Compare 2 output&#xa;              Polarity" />
      <BitField start="4" size="1" name="CC2E" description="Capture/Compare 2 output&#xa;              enable" />
      <BitField start="3" size="1" name="CC1NP" description="Capture/Compare 1 output&#xa;              Polarity" />
      <BitField start="1" size="1" name="CC1P" description="Capture/Compare 1 output&#xa;              Polarity" />
      <BitField start="0" size="1" name="CC1E" description="Capture/Compare 1 output&#xa;              enable" />
    </Register>
    <Register start="+0x24" size="0" name="CNT" access="Read/Write" description="counter" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="16" size="16" name="CNT_H" description="High counter value (TIM2&#xa;              only)" />
      <BitField start="0" size="16" name="CNT_L" description="Low counter value" />
    </Register>
    <Register start="+0x28" size="0" name="PSC" access="Read/Write" description="prescaler" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="16" name="PSC" description="Prescaler value" />
    </Register>
    <Register start="+0x2C" size="0" name="ARR" access="Read/Write" description="auto-reload register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="16" size="16" name="ARR_H" description="High Auto-reload value (TIM2&#xa;              only)" />
      <BitField start="0" size="16" name="ARR_L" description="Low Auto-reload value" />
    </Register>
    <Register start="+0x34" size="0" name="CCR1" access="Read/Write" description="capture/compare register 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="16" size="16" name="CCR1_H" description="High Capture/Compare 1 value (TIM2&#xa;              only)" />
      <BitField start="0" size="16" name="CCR1_L" description="Low Capture/Compare 1&#xa;              value" />
    </Register>
    <Register start="+0x38" size="0" name="CCR2" access="Read/Write" description="capture/compare register 2" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="16" size="16" name="CCR2_H" description="High Capture/Compare 2 value (TIM2&#xa;              only)" />
      <BitField start="0" size="16" name="CCR2_L" description="Low Capture/Compare 2&#xa;              value" />
    </Register>
    <Register start="+0x3C" size="0" name="CCR3" access="Read/Write" description="capture/compare register 3" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="16" size="16" name="CCR3_H" description="High Capture/Compare value (TIM2&#xa;              only)" />
      <BitField start="0" size="16" name="CCR3_L" description="Low Capture/Compare value" />
    </Register>
    <Register start="+0x40" size="0" name="CCR4" access="Read/Write" description="capture/compare register 4" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="16" size="16" name="CCR4_H" description="High Capture/Compare value (TIM2&#xa;              only)" />
      <BitField start="0" size="16" name="CCR4_L" description="Low Capture/Compare value" />
    </Register>
    <Register start="+0x48" size="0" name="DCR" access="Read/Write" description="DMA control register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="8" size="5" name="DBL" description="DMA burst length" />
      <BitField start="0" size="5" name="DBA" description="DMA base address" />
    </Register>
    <Register start="+0x4C" size="0" name="DMAR" access="Read/Write" description="DMA address for full transfer" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="16" name="DMAB" description="DMA register for burst&#xa;              accesses" />
    </Register>
    <Register start="+0x50" size="0" name="OR1" access="Read/Write" description="TIM option register" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="IOCREF_CLR" description="IOCREF_CLR" />
    </Register>
    <Register start="+0x60" size="0" name="AF1" access="Read/Write" description="TIM alternate function option register&#xa;          1" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="14" size="4" name="ETRSEL" description="External trigger source&#xa;              selection" />
    </Register>
    <Register start="+0x68" size="0" name="TISEL" access="Read/Write" description="TIM alternate function option register&#xa;          1" reset_value="0x0000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="4" name="TI1SEL" description="TI1SEL" />
      <BitField start="8" size="4" name="TI2SEL" description="TI2SEL" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="NVIC" start="0xE000E100" description="Nested Vectored Interrupt&#xa;      Controller">
    <Register start="+0x0" size="0" name="ISER" access="Read/Write" description="Interrupt Set Enable Register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="SETENA" description="SETENA" />
    </Register>
    <Register start="+0x80" size="0" name="ICER" access="Read/Write" description="Interrupt Clear Enable&#xa;          Register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="CLRENA" description="CLRENA" />
    </Register>
    <Register start="+0x100" size="0" name="ISPR" access="Read/Write" description="Interrupt Set-Pending Register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="SETPEND" description="SETPEND" />
    </Register>
    <Register start="+0x180" size="0" name="ICPR" access="Read/Write" description="Interrupt Clear-Pending&#xa;          Register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="32" name="CLRPEND" description="CLRPEND" />
    </Register>
    <Register start="+0x300" size="0" name="IPR0" access="Read/Write" description="Interrupt Priority Register 0" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="8" name="PRI_0" description="priority for interrupt 0" />
      <BitField start="8" size="8" name="PRI_1" description="priority for interrupt 1" />
      <BitField start="16" size="8" name="PRI_2" description="priority for interrupt 2" />
      <BitField start="24" size="8" name="PRI_3" description="priority for interrupt 3" />
    </Register>
    <Register start="+0x304" size="0" name="IPR1" access="Read/Write" description="Interrupt Priority Register 1" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="8" name="PRI_4" description="priority for interrupt n" />
      <BitField start="8" size="8" name="PRI_5" description="priority for interrupt n" />
      <BitField start="16" size="8" name="PRI_6" description="priority for interrupt n" />
      <BitField start="24" size="8" name="PRI_7" description="priority for interrupt n" />
    </Register>
    <Register start="+0x308" size="0" name="IPR2" access="Read/Write" description="Interrupt Priority Register 2" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="8" name="PRI_8" description="priority for interrupt n" />
      <BitField start="8" size="8" name="PRI_9" description="priority for interrupt n" />
      <BitField start="16" size="8" name="PRI_10" description="priority for interrupt n" />
      <BitField start="24" size="8" name="PRI_11" description="priority for interrupt n" />
    </Register>
    <Register start="+0x30C" size="0" name="IPR3" access="Read/Write" description="Interrupt Priority Register 3" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="8" name="PRI_12" description="priority for interrupt n" />
      <BitField start="8" size="8" name="PRI_13" description="priority for interrupt n" />
      <BitField start="16" size="8" name="PRI_14" description="priority for interrupt n" />
      <BitField start="24" size="8" name="PRI_15" description="priority for interrupt n" />
    </Register>
    <Register start="+0x310" size="0" name="IPR4" access="Read/Write" description="Interrupt Priority Register 4" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="8" name="PRI_16" description="priority for interrupt n" />
      <BitField start="8" size="8" name="PRI_17" description="priority for interrupt n" />
      <BitField start="16" size="8" name="PRI_18" description="priority for interrupt n" />
      <BitField start="24" size="8" name="PRI_19" description="priority for interrupt n" />
    </Register>
    <Register start="+0x314" size="0" name="IPR5" access="Read/Write" description="Interrupt Priority Register 5" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="8" name="PRI_20" description="priority for interrupt n" />
      <BitField start="8" size="8" name="PRI_21" description="priority for interrupt n" />
      <BitField start="16" size="8" name="PRI_22" description="priority for interrupt n" />
      <BitField start="24" size="8" name="PRI_23" description="priority for interrupt n" />
    </Register>
    <Register start="+0x318" size="0" name="IPR6" access="Read/Write" description="Interrupt Priority Register 6" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="8" name="PRI_24" description="priority for interrupt n" />
      <BitField start="8" size="8" name="PRI_25" description="priority for interrupt n" />
      <BitField start="16" size="8" name="PRI_26" description="priority for interrupt n" />
      <BitField start="24" size="8" name="PRI_27" description="priority for interrupt n" />
    </Register>
    <Register start="+0x31C" size="0" name="IPR7" access="Read/Write" description="Interrupt Priority Register 7" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="8" name="PRI_28" description="priority for interrupt n" />
      <BitField start="8" size="8" name="PRI_29" description="priority for interrupt n" />
      <BitField start="16" size="8" name="PRI_30" description="priority for interrupt n" />
      <BitField start="24" size="8" name="PRI_31" description="priority for interrupt n" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="MPU" start="0xE000ED90" description="Memory protection unit">
    <Register start="+0x0" size="0" name="MPU_TYPER" access="ReadOnly" description="MPU type register" reset_value="0X00000800" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="SEPARATE" description="Separate flag" />
      <BitField start="8" size="8" name="DREGION" description="Number of MPU data regions" />
      <BitField start="16" size="8" name="IREGION" description="Number of MPU instruction&#xa;              regions" />
    </Register>
    <Register start="+0x4" size="0" name="MPU_CTRL" access="ReadOnly" description="MPU control register" reset_value="0X00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="ENABLE" description="Enables the MPU" />
      <BitField start="1" size="1" name="HFNMIENA" description="Enables the operation of MPU during hard&#xa;              fault" />
      <BitField start="2" size="1" name="PRIVDEFENA" description="Enable priviliged software access to&#xa;              default memory map" />
    </Register>
    <Register start="+0x8" size="0" name="MPU_RNR" access="Read/Write" description="MPU region number register" reset_value="0X00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="8" name="REGION" description="MPU region" />
    </Register>
    <Register start="+0xC" size="0" name="MPU_RBAR" access="Read/Write" description="MPU region base address&#xa;          register" reset_value="0X00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="4" name="REGION" description="MPU region field" />
      <BitField start="4" size="1" name="VALID" description="MPU region number valid" />
      <BitField start="5" size="27" name="ADDR" description="Region base address field" />
    </Register>
    <Register start="+0x10" size="0" name="MPU_RASR" access="Read/Write" description="MPU region attribute and size&#xa;          register" reset_value="0X00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="ENABLE" description="Region enable bit." />
      <BitField start="1" size="5" name="SIZE" description="Size of the MPU protection&#xa;              region" />
      <BitField start="8" size="8" name="SRD" description="Subregion disable bits" />
      <BitField start="16" size="1" name="B" description="memory attribute" />
      <BitField start="17" size="1" name="C" description="memory attribute" />
      <BitField start="18" size="1" name="S" description="Shareable memory attribute" />
      <BitField start="19" size="3" name="TEX" description="memory attribute" />
      <BitField start="24" size="3" name="AP" description="Access permission" />
      <BitField start="28" size="1" name="XN" description="Instruction access disable&#xa;              bit" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="STK" start="0xE000E010" description="SysTick timer">
    <Register start="+0x0" size="0" name="CSR" access="Read/Write" description="SysTick control and status&#xa;          register" reset_value="0X00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="ENABLE" description="Counter enable" />
      <BitField start="1" size="1" name="TICKINT" description="SysTick exception request&#xa;              enable" />
      <BitField start="2" size="1" name="CLKSOURCE" description="Clock source selection" />
      <BitField start="16" size="1" name="COUNTFLAG" description="COUNTFLAG" />
    </Register>
    <Register start="+0x4" size="0" name="RVR" access="Read/Write" description="SysTick reload value register" reset_value="0X00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="24" name="RELOAD" description="RELOAD value" />
    </Register>
    <Register start="+0x8" size="0" name="CVR" access="Read/Write" description="SysTick current value register" reset_value="0X00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="24" name="CURRENT" description="Current counter value" />
    </Register>
    <Register start="+0xC" size="0" name="CALIB" access="Read/Write" description="SysTick calibration value&#xa;          register" reset_value="0X00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="24" name="TENMS" description="Calibration value" />
      <BitField start="30" size="1" name="SKEW" description="SKEW flag: Indicates whether the TENMS&#xa;              value is exact" />
      <BitField start="31" size="1" name="NOREF" description="NOREF flag. Reads as zero" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="SCB" start="0xE000ED00" description="System control block">
    <Register start="+0x0" size="0" name="CPUID" access="ReadOnly" description="CPUID base register" reset_value="0x410FC241" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="4" name="Revision" description="Revision number" />
      <BitField start="4" size="12" name="PartNo" description="Part number of the&#xa;              processor" />
      <BitField start="16" size="4" name="Architecture" description="Reads as 0xF" />
      <BitField start="20" size="4" name="Variant" description="Variant number" />
      <BitField start="24" size="8" name="Implementer" description="Implementer code" />
    </Register>
    <Register start="+0x4" size="0" name="ICSR" access="Read/Write" description="Interrupt control and state&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="9" name="VECTACTIVE" description="Active vector" />
      <BitField start="11" size="1" name="RETTOBASE" description="Return to base level" />
      <BitField start="12" size="7" name="VECTPENDING" description="Pending vector" />
      <BitField start="22" size="1" name="ISRPENDING" description="Interrupt pending flag" />
      <BitField start="25" size="1" name="PENDSTCLR" description="SysTick exception clear-pending&#xa;              bit" />
      <BitField start="26" size="1" name="PENDSTSET" description="SysTick exception set-pending&#xa;              bit" />
      <BitField start="27" size="1" name="PENDSVCLR" description="PendSV clear-pending bit" />
      <BitField start="28" size="1" name="PENDSVSET" description="PendSV set-pending bit" />
      <BitField start="31" size="1" name="NMIPENDSET" description="NMI set-pending bit." />
    </Register>
    <Register start="+0x8" size="0" name="VTOR" access="Read/Write" description="Vector table offset register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="7" size="25" name="TBLOFF" description="Vector table base offset&#xa;              field" />
    </Register>
    <Register start="+0xC" size="0" name="AIRCR" access="Read/Write" description="Application interrupt and reset control&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="1" size="1" name="VECTCLRACTIVE" description="VECTCLRACTIVE" />
      <BitField start="2" size="1" name="SYSRESETREQ" description="SYSRESETREQ" />
      <BitField start="15" size="1" name="ENDIANESS" description="ENDIANESS" />
      <BitField start="16" size="16" name="VECTKEYSTAT" description="Register key" />
    </Register>
    <Register start="+0x10" size="0" name="SCR" access="Read/Write" description="System control register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="1" size="1" name="SLEEPONEXIT" description="SLEEPONEXIT" />
      <BitField start="2" size="1" name="SLEEPDEEP" description="SLEEPDEEP" />
      <BitField start="4" size="1" name="SEVEONPEND" description="Send Event on Pending bit" />
    </Register>
    <Register start="+0x14" size="0" name="CCR" access="Read/Write" description="Configuration and control&#xa;          register" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="0" size="1" name="NONBASETHRDENA" description="Configures how the processor enters&#xa;              Thread mode" />
      <BitField start="1" size="1" name="USERSETMPEND" description="USERSETMPEND" />
      <BitField start="3" size="1" name="UNALIGN__TRP" description="UNALIGN_ TRP" />
      <BitField start="4" size="1" name="DIV_0_TRP" description="DIV_0_TRP" />
      <BitField start="8" size="1" name="BFHFNMIGN" description="BFHFNMIGN" />
      <BitField start="9" size="1" name="STKALIGN" description="STKALIGN" />
    </Register>
    <Register start="+0x1C" size="0" name="SHPR2" access="Read/Write" description="System handler priority&#xa;          registers" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="24" size="8" name="PRI_11" description="Priority of system handler&#xa;              11" />
    </Register>
    <Register start="+0x20" size="0" name="SHPR3" access="Read/Write" description="System handler priority&#xa;          registers" reset_value="0x00000000" reset_mask="0xFFFFFFFF">
      <BitField start="16" size="8" name="PRI_14" description="Priority of system handler&#xa;              14" />
      <BitField start="24" size="8" name="PRI_15" description="Priority of system handler&#xa;              15" />
    </Register>
  </RegisterGroup>
  <RegisterGroup name="SysTick" start="0xe000e010" description="24-bit System Timer">
    <Register name="SYST_CSR" start="0xe000e010" description="SysTick Control and Status Register">
      <BitField name="COUNTFLAG" start="16" size="1" description="Counter Flag" />
      <BitField name="CLKSOURCE" start="2" size="1" description="Timer Clock Source" />
      <BitField name="TICKINT" start="1" size="1" description="Tick Interrupt Enable" />
      <BitField name="ENABLE" start="0" size="1" description="Enable SysTick Timer" />
    </Register>
    <Register name="SYST_RVR" start="0xe000e014" description="SysTick Reload Value Register">
      <BitField name="RELOAD" start="0" size="24" description="Value to load into the SYST_CVR when the counter is enabled and when it reaches 0" />
    </Register>
    <Register name="SYST_CVR" start="0xe000e018" description="SysTick Current Value Register Register">
      <BitField name="CURRENT" start="0" size="24" description="The current value of the SysTick counter" />
    </Register>
    <Register name="SYST_CALIB" start="0xe000e01c" access="ReadOnly" description="SysTick Calibration Value Register">
      <BitField name="NOREF" start="31" size="1" description="Indicates whether the device provides a reference clock to the processor" />
      <BitField name="SKEW" start="30" size="1" description="Indicates whether the TENMS value is exact" />
      <BitField name="TENMS" start="0" size="24" description="Reload value for 10ms (100Hz) timing, subject to system clock skew errors" />
    </Register>
  </RegisterGroup>
</Processor>
